From 3df06d7515db396b34ed1d088502556484df6527 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期四, 11 七月 2024 10:55:01 +0800
Subject: [PATCH] 教师管理
---
src/views/exam/exam/monitor.vue | 64 ++++++++++++++++++++++++++++++-
1 files changed, 61 insertions(+), 3 deletions(-)
diff --git a/src/views/exam/exam/monitor.vue b/src/views/exam/exam/monitor.vue
index bbcee56..e43fad8 100644
--- a/src/views/exam/exam/monitor.vue
+++ b/src/views/exam/exam/monitor.vue
@@ -17,9 +17,30 @@
<el-table-column align="center" prop="status" label="鐘舵��" :formatter="statusFormatter" />
<el-table-column label="鎿嶄綔" align="center">
<template slot-scope="{row}">
+ <el-popover
+ placement="right"
+ width="400"
+ trigger="click">
+ <el-form :model="addTimeForm" ref="addTimeForm" :rules="addTimeRule">
+ <el-form-item label="瀛﹀憳">
+ <div>{{row.userName}}</div>
+ </el-form-item>
+ <el-form-item label="鍔犲灏戝垎閽�">
+ <el-input v-model="addTimeForm.addTimeM" type="number" size="small"/>
+ </el-form-item>
+ <el-form-item>
+ <el-button size="mini" type="success" @click="handlerAddTime(row)">鍔犳椂</el-button>
+ </el-form-item>
+ </el-form>
+ <el-button size="mini" slot="reference">鍔犳椂</el-button>
+ </el-popover>
<el-button size="mini" type="danger" @click="handleNullify(row)">浣滃簾</el-button>
- <el-button size="mini" type="primary" @click="edit(row)">鏀跺嵎</el-button>
- <el-button size="mini" type="success" @click="edit(row)">鍔犳椂</el-button>
+ <el-popconfirm
+ title="纭畾瑕佸己鍒舵彁浜よ瀛﹀憳鐨勮瘯鍗峰悧锛�"
+ @confirm="handlerForceSubmit(row.userId)"
+ >
+ <el-button size="mini" type="primary" slot="reference">鏀跺嵎</el-button>
+ </el-popconfirm>
</template>
</el-table-column>
</el-table>
@@ -48,7 +69,7 @@
<script>
import { mapGetters, mapState } from 'vuex'
import Pagination from '@/components/Pagination'
-import { monitorList } from '@/api/exam'
+import { monitorList, addTime, forceSubmit } from '@/api/exam'
import cheatApi from '@/api/cheat'
export default {
@@ -69,6 +90,16 @@
name: '',
itemOrder: ''
},
+ addTimeForm: {
+ examId: null,
+ userId: null,
+ userName: '',
+ addTimeM: 1 // 娣诲姞澶氬皯鍒嗛挓
+ },
+ forceSubmitForm: {
+ examId: null,
+ userId: null
+ },
visible: false,
rules: {
name: [
@@ -78,6 +109,14 @@
{ required: true, message: '璇疯緭鍏ユ帓搴�', trigger: 'blur', type: 'number' }
]
},
+ addTimeRule: {
+ userId: [
+ { required: true, message: '璇烽�夋嫨涓鸿皝鍔犳椂', trigger: 'blur' }
+ ],
+ addTimeSecond: [
+ { required: true, message: '璇疯緭鍏ュ姞鏃舵椂闂�', trigger: 'blur' }
+ ]
+ },
};
},
created() {
@@ -85,6 +124,25 @@
this.search()
},
methods: {
+ // 澶勭悊鍔犳椂
+ handlerAddTime() {
+ this.$refs['addTimeForm'].validate((valid) => {
+ if (valid) {
+ this.addTimeForm.examId = this.queryParam.examId
+ addTime(this.addTimeForm).then(res => {
+ this.$message.success('鍔犳椂鎴愬姛')
+ })
+ }
+ })
+ },
+ // 寮哄埗浜ゅ嵎
+ handlerForceSubmit(userId) {
+ this.forceSubmitForm.examId = this.queryParam.examId
+ this.forceSubmitForm.userId = userId
+ forceSubmit(this.forceSubmitForm).then(res => {
+ this.$message.success('寮哄埗浜ゅ嵎鎴愬姛')
+ })
+ },
handleNullify(row) {
let cheatObj = { examId: row.examId, cheatUser: row.userId };
cheatApi.edit(cheatObj).then(res => {
--
Gitblit v1.8.0