From f378fbf3ee8bd599b0746e48ba3811ae4b8b87cd Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期三, 26 六月 2024 16:56:36 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev
---
src/views/education/cheat/list.vue | 174 +++++++++++++++++++++++++++++++++++++++++++
src/api/cheat.js | 11 ++
src/router.js | 8 +
3 files changed, 192 insertions(+), 1 deletions(-)
diff --git a/src/api/cheat.js b/src/api/cheat.js
new file mode 100644
index 0000000..2b0a33e
--- /dev/null
+++ b/src/api/cheat.js
@@ -0,0 +1,11 @@
+import { get, post } from '@/utils/request'
+
+export default {
+ list: query => post('/api/admin/cheat/list'),
+ pageList: query => get('/api/admin/cheat/page', query),
+ edit: query => post('/api/admin/cheat/edit', query),
+ select: id => post('/api/admin/cheat/select/' + id),
+ deletecheat: id => post('/api/admin/cheat/delete/' + id),
+ updateStatus: query => post('/api/admin/cheat/status', query),
+ getItemOrder: id => get('/api/admin/cheat/getItemOrder')
+}
diff --git a/src/router.js b/src/router.js
index 3e87f6d..1d7acf6 100644
--- a/src/router.js
+++ b/src/router.js
@@ -258,7 +258,13 @@
component: () => import('@/views/education/resource/list'),
name: 'EducationResourcePage',
meta: { title: '鏁欏璧勬簮', noCache: true }
- }
+ },
+ {
+ path: 'cheat/list',
+ component: () => import('@/views/education/cheat/list'),
+ name: 'EducationCheatPage',
+ meta: { title: '浣滃紛璁板綍', noCache: true }
+ },
]
},
{
diff --git a/src/views/education/cheat/list.vue b/src/views/education/cheat/list.vue
new file mode 100644
index 0000000..e4c7bbb
--- /dev/null
+++ b/src/views/education/cheat/list.vue
@@ -0,0 +1,174 @@
+<template>
+ <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-form-item>
+ <el-form-item>
+ <el-button type="primary" @click="search">鏌ヨ</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="cheatUserName" label="浣滃紛浜哄悕绉�" show-overflow-tooltip />
+ <el-table-column align="center" prop="examName" label="鑰冭瘯鍚嶇О" />
+ <el-table-column align="center" prop="createTime" label="浣滃紛鏃堕棿" />
+ <!-- <el-table-column label="鎿嶄綔" align="center">
+ <template slot-scope="{row}">
+ <el-button size="mini" @click="edit(row)">缂栬緫</el-button>
+ </template>
+ </el-table-column> -->
+ </el-table>
+ <pagination v-show="total > 0" :total="total" :page.sync="queryParam.pageIndex" :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-form-item>
+ <el-form-item label="鎺掑簭锛�" prop="itemOrder" required>
+ <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>
+ <el-button @click="resetForm">閲嶇疆</el-button>
+ </el-form-item>
+ </el-form>
+ </el-dialog>
+
+
+ </div>
+</template>
+
+<script>
+import { mapGetters, mapState } from 'vuex'
+import Pagination from '@/components/Pagination'
+import cheatApi from '@/api/cheat'
+
+export default {
+ components: { Pagination },
+ data() {
+ return {
+ listLoading: true,
+ queryParam: {
+ name: '',
+ pageIndex: 1,
+ pageSize: 10
+ },
+ formLoading: false,
+ total: 0,
+ tableData: [],
+ form: {
+ id: '',
+ name: '',
+ itemOrder: ''
+ },
+ visible: false,
+ rules: {
+ name: [
+ { required: true, message: '璇疯緭鍏ュ悕绉�', trigger: 'blur' }
+ ],
+ itemOrder: [
+ { required: true, message: '璇疯緭鍏ユ帓搴�', trigger: 'blur', type: 'number' }
+ ]
+ },
+ };
+ },
+ created() {
+ this.search()
+ },
+ methods: {
+ // 鑾峰彇鎺掑簭
+ getItemOrder() {
+ cheatApi.getItemOrder().then(re => {
+ this.form.itemOrder = re.data
+ })
+ },
+ // 鑾峰彇鍒楄〃
+ search() {
+ this.listLoading = true
+ cheatApi.pageList(this.queryParam).then(re => {
+ this.tableData = re.data.records
+ this.total = re.data.total
+ this.queryParam.pageSize = re.data.size
+ this.queryParam.pageIndex = re.data.pages
+ this.listLoading = false
+ })
+ },
+ edit(row) {
+ if (row) {
+ cheatApi.select(row.id).then(re => {
+ if (re.code === 1) {
+ this.form = re.data;
+ this.visible = true;
+ } else {
+ this.$message.error(re.message)
+ }
+ })
+ } else {
+ this.getItemOrder();
+ this.visible = true;
+ }
+ },
+ status(row) {
+ let question = {
+ id: row.id,
+ status: row.status === '绂佺敤' ? '鍚敤' : '绂佺敤'
+ }
+ cheatApi.updateStatus(question).then(re => {
+ if (re.code === 1) {
+ this.$message.success(re.message)
+ this.search()
+ } else {
+ this.$message.error(re.message)
+ }
+ })
+ },
+ deletecheat(row) {
+ let _this = this
+ cheatApi.deletecheat(row.id).then(re => {
+ if (re.code === 1) {
+ _this.search()
+ _this.$message.success(re.message)
+ } else {
+ _this.$message.error(re.message)
+ }
+ })
+ },
+ submitForm() {
+ let _this = this
+ this.$refs.form.validate((valid) => {
+ if (valid) {
+ this.formLoading = true
+ cheatApi.edit(this.form).then(re => {
+ if (re.code === 1) {
+ _this.$message.success(re.message)
+ _this.search()
+ _this.formLoading = false
+ _this.visible = false
+ } else {
+ _this.$message.error(re.message)
+ _this.formLoading = false
+ _this.visible = false
+ }
+ })
+ }
+ })
+ },
+ resetForm() {
+ let lastId = this.form.id
+ this.$refs['form'].resetFields()
+ this.form.id = lastId
+ },
+ },
+ computed: {
+ ...mapGetters('enumItem', [
+ 'enumFormat'
+ ]),
+ ...mapState('enumItem', {
+ levelEnum: state => state.user.levelEnum
+ })
+ }
+}
+</script>
--
Gitblit v1.8.0