From d70e74cf8f4e5d788e37c5ad91d7b8923cb7a956 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期四, 17 十月 2024 19:59:41 +0800 Subject: [PATCH] meet websocket --- src/views/exam/exam/monitor.vue | 71 +++++++++++++++++++---------------- 1 files changed, 38 insertions(+), 33 deletions(-) diff --git a/src/views/exam/exam/monitor.vue b/src/views/exam/exam/monitor.vue index eade8d1..73204dc 100644 --- a/src/views/exam/exam/monitor.vue +++ b/src/views/exam/exam/monitor.vue @@ -2,28 +2,29 @@ <div class="app-container"> <el-form :model="queryParam" ref="queryForm" :inline="true"> <el-form-item> - <el-input v-model="queryParam.keyword" placeholder="璇疯緭鍏ュ悕绉�" clearable></el-input> + <el-input v-model="queryParam.keyword" placeholder="璇疯緭鍏ュ悕绉�" @input="search" clearable></el-input> </el-form-item> <el-form-item> - <el-button type="primary" @click="search">鏌ヨ</el-button> + <el-button type="primary" @click="search" size="small">鏌ヨ</el-button> </el-form-item> </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 + v-show="row.status === 'temp'" placement="right" width="400" trigger="click"> <el-form :model="addTimeForm" ref="addTimeForm" :rules="addTimeRule"> <el-form-item label="瀛﹀憳"> - <span>{{row.userName}}</span> + <div>{{ row.userName }}</div> </el-form-item> <el-form-item label="鍔犲灏戝垎閽�"> <el-input v-model="addTimeForm.addTimeM" type="number" size="small"/> @@ -34,8 +35,9 @@ </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 v-show="row.status === 'temp'" size="mini" type="danger" @click="handleNullify(row)">浣滃簾</el-button> <el-popconfirm + v-show="row.status === 'temp'" title="纭畾瑕佸己鍒舵彁浜よ瀛﹀憳鐨勮瘯鍗峰悧锛�" @confirm="handlerForceSubmit(row.userId)" > @@ -44,16 +46,16 @@ </template> </el-table-column> </el-table> - <pagination v-show="total > 0" :total="total" :page.sync="queryParam.pageIndex" :limit.sync="queryParam.pageSize" - @pagination="search" /> + <pagination v-show="total > 0" :total="total" :page.sync="queryParam.currentPage" :limit.sync="queryParam.pageSize" + @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> @@ -74,12 +76,12 @@ export default { components: { Pagination }, - data() { + data () { return { listLoading: true, queryParam: { examId: '', - pageIndex: 1, + currentPage: 1, pageSize: 10 }, formLoading: false, @@ -94,7 +96,7 @@ examId: null, userId: null, userName: '', - addTimeM: 0 // 娣诲姞澶氬皯鍒嗛挓 + addTimeM: 1 // 娣诲姞澶氬皯鍒嗛挓 }, forceSubmitForm: { examId: null, @@ -117,18 +119,19 @@ { required: true, message: '璇疯緭鍏ュ姞鏃舵椂闂�', trigger: 'blur' } ] }, - }; + } }, - created() { - this.queryParam.examId = this.$route.query.examId; + created () { + this.queryParam.examId = this.$route.query.examId this.search() }, methods: { // 澶勭悊鍔犳椂 - handlerAddTime() { + 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('鍔犳椂鎴愬姛') }) @@ -136,28 +139,30 @@ }) }, // 寮哄埗浜ゅ嵎 - handlerForceSubmit(userId) { + 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 }; + handleNullify (row) { + let cheatObj = { examId: row.examId, cheatUser: row.userId } cheatApi.edit(cheatObj).then(res => { - this.$message.success(res.message); + this.$message.success(res.message) }) }, - statusFormatter(row) { + 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 @@ -168,17 +173,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 === '绂佺敤' ? '鍚敤' : '绂佺敤' @@ -192,7 +197,7 @@ } }) }, - deletecheat(row) { + deletecheat (row) { let _this = this cheatApi.deletecheat(row.id).then(re => { if (re.code === 1) { @@ -203,7 +208,7 @@ } }) }, - submitForm() { + submitForm () { let _this = this this.$refs.form.validate((valid) => { if (valid) { @@ -223,7 +228,7 @@ } }) }, - resetForm() { + resetForm () { let lastId = this.form.id this.$refs['form'].resetFields() this.form.id = lastId -- Gitblit v1.8.0