From 0cefa99d2ae9ba43e60fe3e1beceb000dd186931 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期四, 17 十月 2024 18:31:03 +0800
Subject: [PATCH] 密码失效修改密码,格式校验
---
src/views/exam/exam/monitor.vue | 117 ++++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 89 insertions(+), 28 deletions(-)
diff --git a/src/views/exam/exam/monitor.vue b/src/views/exam/exam/monitor.vue
index bbcee56..90695bb 100644
--- a/src/views/exam/exam/monitor.vue
+++ b/src/views/exam/exam/monitor.vue
@@ -10,29 +10,50 @@
</el-form>
<el-table v-loading="listLoading" :data="tableData" border fit highlight-current-row style="width: 100%">
- <el-table-column align="center" prop="examName" label="鑰冭瘯" />
- <el-table-column align="center" prop="userName" label="濮撳悕" show-overflow-tooltip />
- <el-table-column align="center" prop="createTime" label="寮�濮嬫椂闂�" />
- <el-table-column align="center" prop="doTime" label="鑰楁椂锛堢锛�" />
- <el-table-column align="center" prop="status" label="鐘舵��" :formatter="statusFormatter" />
+ <el-table-column align="center" prop="examName" label="鑰冭瘯"/>
+ <el-table-column align="center" prop="userName" label="濮撳悕" show-overflow-tooltip/>
+ <el-table-column align="center" prop="createTime" label="寮�濮嬫椂闂�"/>
+ <el-table-column align="center" prop="doTime" label="鑰楁椂锛堢锛�"/>
+ <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>
<pagination v-show="total > 0" :total="total" :page.sync="queryParam.pageIndex" :limit.sync="queryParam.pageSize"
- @pagination="search" />
+ @pagination="search"/>
<el-dialog :visible.sync="visible" width="400px">
<el-form :model="form" ref="form" label-width="100px" v-loading="formLoading" :rules="rules">
<el-form-item label="鍚嶇О锛�" prop="name" required>
- <el-input v-model="form.name" maxlength="10" show-word-limit />
+ <el-input v-model="form.name" maxlength="10" show-word-limit/>
</el-form-item>
<el-form-item label="鎺掑簭锛�" prop="itemOrder" required>
- <el-input-number v-model="form.itemOrder" type="number" :min="1" :max="100" />
+ <el-input-number v-model="form.itemOrder" type="number" :min="1" :max="100"/>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm">鎻愪氦</el-button>
@@ -48,12 +69,12 @@
<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 {
components: { Pagination },
- data() {
+ data () {
return {
listLoading: true,
queryParam: {
@@ -69,6 +90,16 @@
name: '',
itemOrder: ''
},
+ addTimeForm: {
+ examId: null,
+ userId: null,
+ userName: '',
+ addTimeM: 1 // 娣诲姞澶氬皯鍒嗛挓
+ },
+ forceSubmitForm: {
+ examId: null,
+ userId: null
+ },
visible: false,
rules: {
name: [
@@ -78,28 +109,58 @@
{ required: true, message: '璇疯緭鍏ユ帓搴�', trigger: 'blur', type: 'number' }
]
},
- };
+ addTimeRule: {
+ userId: [
+ { required: true, message: '璇烽�夋嫨涓鸿皝鍔犳椂', trigger: 'blur' }
+ ],
+ addTimeSecond: [
+ { required: true, message: '璇疯緭鍏ュ姞鏃舵椂闂�', trigger: 'blur' }
+ ]
+ },
+ }
},
- created() {
- this.queryParam.examId = this.$route.query.examId;
+ created () {
+ this.queryParam.examId = this.$route.query.examId
this.search()
},
methods: {
- handleNullify(row) {
- let cheatObj = { examId: row.examId, cheatUser: row.userId };
- cheatApi.edit(cheatObj).then(res => {
- this.$message.success(res.message);
+ // 澶勭悊鍔犳椂
+ handlerAddTime (row) {
+ this.$refs['addTimeForm'].validate((valid) => {
+ if (valid) {
+ this.addTimeForm.examId = this.queryParam.examId
+ this.addTimeForm.userId = row.userId
+ addTime(this.addTimeForm).then(res => {
+ this.$message.success('鍔犳椂鎴愬姛')
+ })
+ }
})
},
- statusFormatter(row) {
+ // 寮哄埗浜ゅ嵎
+ 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 => {
+ this.$message.success(res.message)
+ })
+ },
+ statusFormatter (row) {
if (row.status === 'temp') {
return '杩涜涓�'
} else if (row.status === 'finish') {
return '宸茬粨鏉�'
+ } else if (!row.status) {
+ return '鏈紑濮�'
}
},
// 鑾峰彇鍒楄〃
- search() {
+ search () {
this.listLoading = true
monitorList(this.queryParam).then(re => {
re = re.data
@@ -110,17 +171,17 @@
this.listLoading = false
})
},
- edit(row) {
+ edit (row) {
cheatApi.select(row.id).then(re => {
if (re.code === 1) {
- this.form = re.data;
- this.visible = true;
+ this.form = re.data
+ this.visible = true
} else {
this.$message.error(re.message)
}
})
},
- status(row) {
+ status (row) {
let question = {
id: row.id,
status: row.status === '绂佺敤' ? '鍚敤' : '绂佺敤'
@@ -134,7 +195,7 @@
}
})
},
- deletecheat(row) {
+ deletecheat (row) {
let _this = this
cheatApi.deletecheat(row.id).then(re => {
if (re.code === 1) {
@@ -145,7 +206,7 @@
}
})
},
- submitForm() {
+ submitForm () {
let _this = this
this.$refs.form.validate((valid) => {
if (valid) {
@@ -165,7 +226,7 @@
}
})
},
- resetForm() {
+ resetForm () {
let lastId = this.form.id
this.$refs['form'].resetFields()
this.form.id = lastId
--
Gitblit v1.8.0