|
@@ -12,20 +12,8 @@
|
|
|
placeholder='选手姓名/身份证号/年龄'></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
- <el-select v-model.trim="searchForm.organId"
|
|
|
+ <el-select v-model.trim="searchForm.gender"
|
|
|
clearable
|
|
|
- filterable
|
|
|
- placeholder="请选择年级">
|
|
|
- <el-option v-for="(item,index) in organList"
|
|
|
- :key="index"
|
|
|
- :label="item.name"
|
|
|
- :value="item.id"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item>
|
|
|
- <el-select v-model.trim="searchForm.complaintsStatus"
|
|
|
- clearable
|
|
|
- filterable
|
|
|
placeholder="请选择性别">
|
|
|
<el-option label="男"
|
|
|
:value="1"></el-option>
|
|
@@ -34,16 +22,38 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
- <el-date-picker v-model.trim="searchForm.timer"
|
|
|
- style="width:400px;"
|
|
|
- type="daterange"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- range-separator="至"
|
|
|
- start-placeholder="课程开始日期"
|
|
|
- end-placeholder="课程结束日期"
|
|
|
- :picker-options="{
|
|
|
- firstDayOfWeek: 1
|
|
|
- }"></el-date-picker>
|
|
|
+ <el-select v-model.trim="searchForm.subject"
|
|
|
+ clearable
|
|
|
+ placeholder="请选择参赛专业">
|
|
|
+ <el-option label="长笛" value="长笛"></el-option>
|
|
|
+ <el-option label="单簧管" value="单簧管"></el-option>
|
|
|
+ <el-option label="萨克斯" value="萨克斯"></el-option>
|
|
|
+ <el-option label="小号" value="小号"></el-option>
|
|
|
+ <el-option label="圆号" value="圆号"></el-option>
|
|
|
+ <el-option label="长号" value="长号"></el-option>
|
|
|
+ <el-option label="上低音号" value="上低音号"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-select v-model.trim="searchForm.prizeLevel"
|
|
|
+ clearable
|
|
|
+ placeholder="请选择获奖级别">
|
|
|
+ <el-option label="大雅之星" :value="1"></el-option>
|
|
|
+ <el-option label="一等奖" :value="2"></el-option>
|
|
|
+ <el-option label="二等奖" :value="3"></el-option>
|
|
|
+ <el-option label="三等奖" :value="4"></el-option>
|
|
|
+ <el-option label="四等奖" :value="5"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-select v-model.trim="searchForm.isShow"
|
|
|
+ clearable
|
|
|
+ placeholder="请选择是否展示">
|
|
|
+ <el-option label="是"
|
|
|
+ :value="1"></el-option>
|
|
|
+ <el-option label="否"
|
|
|
+ :value="0"></el-option>
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
<el-button type="danger"
|
|
@@ -57,65 +67,67 @@
|
|
|
:header-cell-style="{background:'#EDEEF0',color:'#444'}"
|
|
|
:data="tableList">
|
|
|
<el-table-column align="center"
|
|
|
- prop="organName"
|
|
|
- label="分部"></el-table-column>
|
|
|
+ prop="userId"
|
|
|
+ label="选手编号"></el-table-column>
|
|
|
<el-table-column align="center"
|
|
|
- prop="courseScheduleId"
|
|
|
- label="课程编号"></el-table-column>
|
|
|
+ prop="username"
|
|
|
+ label="选手姓名"></el-table-column>
|
|
|
<el-table-column align="center"
|
|
|
- prop="courseScheduleName"
|
|
|
- label="课程名称"></el-table-column>
|
|
|
+ prop="idCardNo"
|
|
|
+ label="身份证号码"></el-table-column>
|
|
|
<el-table-column align="center"
|
|
|
- width="180"
|
|
|
- prop="courseScheduleTime"
|
|
|
- label="课程时间">
|
|
|
+ prop="age"
|
|
|
+ label="年龄"></el-table-column>
|
|
|
+ <el-table-column align="center"
|
|
|
+ prop="grade"
|
|
|
+ label="年级"></el-table-column>
|
|
|
+ <el-table-column align="center"
|
|
|
+ label="性别">
|
|
|
<template slot-scope="scope">
|
|
|
- <div>
|
|
|
- <p>{{scope.row.courseScheduleTime}} {{ scope.row.courseScheduleStartTime | timerForMinFormat }}-{{scope.row.courseScheduleEndTime | timerForMinFormat }}</p>
|
|
|
- </div>
|
|
|
+ {{ scope.row.gender ? '男' : '女' }}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column align='center'
|
|
|
- prop="status"
|
|
|
- label="签到状态">
|
|
|
+ <el-table-column align="center"
|
|
|
+ prop="subject"
|
|
|
+ label="参赛专业"></el-table-column>
|
|
|
+ <el-table-column align="center"
|
|
|
+ prop="chapter"
|
|
|
+ label="参赛曲目"></el-table-column>
|
|
|
+ <el-table-column align="center"
|
|
|
+ prop="score"
|
|
|
+ label="得分"></el-table-column>
|
|
|
+ <el-table-column align="center"
|
|
|
+ prop="prizeLevel"
|
|
|
+ label="获奖级别">
|
|
|
<template slot-scope="scope">
|
|
|
- <div>
|
|
|
- <p>{{scope.row.signInStatus | attendanceType }}</p>
|
|
|
- </div>
|
|
|
+ {{ prizeLevelList[scope.row.prizeLevel] }}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column align='center'
|
|
|
- prop="status"
|
|
|
- label="签退状态">
|
|
|
+ <el-table-column align="center"
|
|
|
+ prop="isShow"
|
|
|
+ label="是否展示">
|
|
|
<template slot-scope="scope">
|
|
|
- <div>
|
|
|
- <p>{{scope.row.signOutStatus | attendanceOutType }}</p>
|
|
|
- </div>
|
|
|
+ {{ scope.row.isShow ? '是' : '否' }}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column align="center"
|
|
|
- prop="teacherName"
|
|
|
- label="老师名称"></el-table-column>
|
|
|
- <el-table-column align="center"
|
|
|
- prop="studentId"
|
|
|
- label="状态">
|
|
|
+ prop="comment"
|
|
|
+ label="选手点评">
|
|
|
<template slot-scope="scope">
|
|
|
- <div>
|
|
|
- {{scope.row.complaintsStatusEnum|complaintsStatusEnum}}
|
|
|
- </div>
|
|
|
+ <tooltip :content="scope.row.comment" />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column align="center"
|
|
|
- prop="operatorName"
|
|
|
- label="申诉处理者"></el-table-column>
|
|
|
- <el-table-column align="center"
|
|
|
label="操作">
|
|
|
<!-- teacherAttendance/agreeTeacherAttendanceComplaints -->
|
|
|
<template slot-scope="scope">
|
|
|
<div>
|
|
|
<el-button type="text"
|
|
|
v-if="permission('teacherAttendance/operation')"
|
|
|
- @click="lookDetail(scope.row)">操作</el-button>
|
|
|
+ @click="lookDetail(scope.row)">查看</el-button>
|
|
|
+ <el-button type="text"
|
|
|
+ v-if="permission('teacherAttendance/operation')"
|
|
|
+ @click="lookDetail(scope.row)">评审</el-button>
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -127,41 +139,35 @@
|
|
|
@pagination="getList" />
|
|
|
</div>
|
|
|
</div>
|
|
|
- <el-dialog title="课时申述"
|
|
|
+ <!-- <el-dialog title="课时申述"
|
|
|
:visible.sync="dialogVisible"
|
|
|
width="400px">
|
|
|
- <div>
|
|
|
- <div class="titleP">
|
|
|
- <p>签到时间:{{visibleForm.signInTime}}</p>
|
|
|
- <p>签退时间:{{visibleForm.signOutTime}}</p>
|
|
|
- </div>
|
|
|
- <el-form ref="visibleForm"
|
|
|
- :model="visibleForm"
|
|
|
- class="visibleForm">
|
|
|
- <el-form-item label="申诉内容"
|
|
|
- :rules="[{ required: true, message: '请填写申诉内容',trigger: 'blur'}]"
|
|
|
- prop="complaintsContent">
|
|
|
- <el-input type="textarea"
|
|
|
- :rows="5"
|
|
|
- :disabled="visibleForm.complaintsStatusEnum !='2'"
|
|
|
- v-model.trim="visibleForm.complaintsContent"></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="处理意见"
|
|
|
- :rules="[{ required: true, message: '请填写处理意见',trigger: 'blur'}]"
|
|
|
- prop="disposeContent">
|
|
|
- <el-input type="textarea"
|
|
|
- :rows="5"
|
|
|
- :disabled="visibleForm.complaintsStatusEnum !='2'"
|
|
|
- v-model.trim="visibleForm.disposeContent"></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="请选择需要补正的状态"
|
|
|
- v-if="visibleForm.complaintsStatusEnum =='2'">
|
|
|
- <br />
|
|
|
- <el-checkbox v-model="visibleForm.reSignInStatus">签到状态</el-checkbox>
|
|
|
- <el-checkbox v-model="visibleForm.reSignOutStatus">签退状态</el-checkbox>
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
- </div>
|
|
|
+ <el-form ref="visibleForm"
|
|
|
+ :model="visibleForm"
|
|
|
+ class="visibleForm">
|
|
|
+ <el-form-item label="申诉内容"
|
|
|
+ :rules="[{ required: true, message: '请填写申诉内容',trigger: 'blur'}]"
|
|
|
+ prop="complaintsContent">
|
|
|
+ <el-input type="textarea"
|
|
|
+ :rows="5"
|
|
|
+ :disabled="visibleForm.complaintsStatusEnum !='2'"
|
|
|
+ v-model.trim="visibleForm.complaintsContent"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="处理意见"
|
|
|
+ :rules="[{ required: true, message: '请填写处理意见',trigger: 'blur'}]"
|
|
|
+ prop="disposeContent">
|
|
|
+ <el-input type="textarea"
|
|
|
+ :rows="5"
|
|
|
+ :disabled="visibleForm.complaintsStatusEnum !='2'"
|
|
|
+ v-model.trim="visibleForm.disposeContent"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="请选择需要补正的状态"
|
|
|
+ v-if="visibleForm.complaintsStatusEnum =='2'">
|
|
|
+ <br />
|
|
|
+ <el-checkbox v-model="visibleForm.reSignInStatus">签到状态</el-checkbox>
|
|
|
+ <el-checkbox v-model="visibleForm.reSignOutStatus">签退状态</el-checkbox>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
<div slot="footer"
|
|
|
v-if="visibleForm.complaintsStatusEnum =='2'">
|
|
|
<el-button v-permission="'teacherAttendance/rejectTeacherAttendanceComplaints'"
|
|
@@ -170,35 +176,27 @@
|
|
|
type="primary"
|
|
|
@click="subreset('AGREED')">同意</el-button>
|
|
|
</div>
|
|
|
- </el-dialog>
|
|
|
+ </el-dialog> -->
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import axios from "axios";
|
|
|
-import { getToken } from "@/utils/auth";
|
|
|
import pagination from "@/components/Pagination/index";
|
|
|
-import load from "@/utils/loading";
|
|
|
-import { getEmployeeOrgan } from "@/api/buildTeam";
|
|
|
import { permission } from '@/utils/directivePage'
|
|
|
-import {
|
|
|
- queryTeacherAttendanceComplaints,
|
|
|
- agreeTeacherAttendanceComplaints,
|
|
|
- rejectTeacherAttendanceComplaints
|
|
|
-} from "@/api/journal";
|
|
|
+import Tooltip from '@/components/Tooltip/index'
|
|
|
+import { studentCompetitionPage } from './api'
|
|
|
export default {
|
|
|
- components: { pagination },
|
|
|
+ components: { pagination, Tooltip },
|
|
|
data () {
|
|
|
return {
|
|
|
searchForm: {
|
|
|
search: null,
|
|
|
- organId: null,
|
|
|
- complaintsStatus: null,
|
|
|
- timer: []
|
|
|
+ gender: null,
|
|
|
+ subject: null,
|
|
|
+ prizeLevel: null,
|
|
|
+ isShow: null
|
|
|
},
|
|
|
- teacherList: [],
|
|
|
tableList: [],
|
|
|
- organList: [],
|
|
|
rules: {
|
|
|
// 分页规则
|
|
|
limit: 10, // 限制显示条数
|
|
@@ -206,55 +204,35 @@ export default {
|
|
|
total: 0, // 总条数
|
|
|
page_size: [10, 20, 40, 50] // 选择限制显示条数
|
|
|
},
|
|
|
+ prizeLevelList: {
|
|
|
+ 1: '大雅之星',
|
|
|
+ 2: '一等奖',
|
|
|
+ 3: '二等奖',
|
|
|
+ 4: '三等奖',
|
|
|
+ 5: '四等奖'
|
|
|
+ },
|
|
|
dialogVisible: false,
|
|
|
- visibleForm: {
|
|
|
- complaintsContent: null,
|
|
|
- complaintsStatusEnum: null,
|
|
|
- disposeContent: null,
|
|
|
- signInStatus: null,
|
|
|
- signOutStatus: null,
|
|
|
- teacherAttendanceId: null,
|
|
|
- reSignInStatus: null,
|
|
|
- reSignOutStatus: null
|
|
|
- }
|
|
|
};
|
|
|
},
|
|
|
//生命周期 - 创建完成(可以访问当前this实例)
|
|
|
created () { },
|
|
|
//生命周期 - 挂载完成(可以访问DOM元素)
|
|
|
mounted () {
|
|
|
- getEmployeeOrgan().then(res => {
|
|
|
- if (res.code == 200) {
|
|
|
- this.organList = res.data;
|
|
|
- }
|
|
|
- });
|
|
|
- // 获取分部
|
|
|
-
|
|
|
- this.init();
|
|
|
-
|
|
|
-
|
|
|
+ this.getList()
|
|
|
},
|
|
|
activated () {
|
|
|
- this.init();
|
|
|
+ // this.getList()
|
|
|
},
|
|
|
methods: {
|
|
|
- init () {
|
|
|
- this.getList()
|
|
|
- },
|
|
|
permission (str) {
|
|
|
return permission(str)
|
|
|
},
|
|
|
getList () {
|
|
|
let obj = {}
|
|
|
Object.assign(obj, this.searchForm)
|
|
|
- if (obj.timer && obj.timer.length > 0) {
|
|
|
- obj.courseScheduleStartDate = obj.timer[0]
|
|
|
- obj.courseScheduleEndDate = obj.timer[1]
|
|
|
- }
|
|
|
obj.rows = this.rules.limit;
|
|
|
obj.page = this.rules.page;
|
|
|
- delete obj.timer
|
|
|
- queryTeacherAttendanceComplaints(obj).then(res => {
|
|
|
+ studentCompetitionPage(obj).then(res => {
|
|
|
if (res.code == 200) {
|
|
|
this.rules.total = res.data.total;
|
|
|
this.tableList = res.data.rows
|
|
@@ -273,81 +251,6 @@ export default {
|
|
|
timer: []
|
|
|
}
|
|
|
this.search()
|
|
|
- },
|
|
|
- subreset (str) {
|
|
|
- if (str == 'AGREED') {
|
|
|
- // 同意
|
|
|
- this.$refs['visibleForm'].validate(flag => {
|
|
|
- if (flag) {
|
|
|
- let obj = {}
|
|
|
- if (!this.visibleForm.reSignInStatus && !this.visibleForm.reSignOutStatus) {
|
|
|
- this.$message.error('请修正签到状态或签退状态')
|
|
|
- return
|
|
|
- }
|
|
|
- //visibleForm.reSignInStatus
|
|
|
- this.visibleForm.reSignInStatus ? obj.signInStatus = 1 : null
|
|
|
- this.visibleForm.reSignOutStatus ? obj.signOutStatus = 1 : null
|
|
|
- obj.content = this.visibleForm.disposeContent
|
|
|
- obj.teacherAttendanceId = this.visibleForm.teacherAttendanceId;
|
|
|
- agreeTeacherAttendanceComplaints(obj).then(res => {
|
|
|
- if (res.code == 200) {
|
|
|
- this.dialogVisible = false;
|
|
|
- this.$message.success('同意申诉成功')
|
|
|
- this.getList();
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
-
|
|
|
- } else {
|
|
|
- // 拒绝
|
|
|
- this.$refs['visibleForm'].validate(flag => {
|
|
|
- if (flag) {
|
|
|
- let obj = {}
|
|
|
- obj.content = this.visibleForm.disposeContent
|
|
|
- obj.teacherAttendanceId = this.visibleForm.teacherAttendanceId;
|
|
|
- rejectTeacherAttendanceComplaints(obj).then(res => {
|
|
|
- if (res.code == 200) {
|
|
|
- this.dialogVisible = false;
|
|
|
- this.$message.success('拒绝申诉成功')
|
|
|
- this.getList();
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
-
|
|
|
- }
|
|
|
- },
|
|
|
- lookDetail (row) {
|
|
|
- this.visibleForm = {
|
|
|
- complaintsContent: row.complaintsContent,
|
|
|
- complaintsStatusEnum: row.complaintsStatusEnum,
|
|
|
- disposeContent: row.disposeContent,
|
|
|
- signInStatus: row.signInStatus,
|
|
|
- signOutStatus: row.signOutStatus,
|
|
|
- signInTime: row.signInTime,
|
|
|
- signOutTime: row.signOutTime,
|
|
|
- teacherAttendanceId: row.teacherAttendanceId,
|
|
|
- reSignInStatus: null,
|
|
|
- reSignOutStatus: null
|
|
|
- }
|
|
|
- this.dialogVisible = true
|
|
|
- }
|
|
|
- },
|
|
|
- watch: {
|
|
|
- dialogVisible (val) {
|
|
|
- if (!val) {
|
|
|
- this.visibleForm = {
|
|
|
- complaintsContent: null,
|
|
|
- complaintsStatusEnum: null,
|
|
|
- disposeContent: null,
|
|
|
- signInStatus: null,
|
|
|
- signOutStatus: null,
|
|
|
- teacherAttendanceId: null,
|
|
|
- reSignInStatus: null,
|
|
|
- reSignOutStatus: null
|
|
|
- }
|
|
|
- }
|
|
|
}
|
|
|
}
|
|
|
};
|