This commit is contained in:
2025-07-11 16:22:10 +08:00
parent b0e5ceb44f
commit c671c6eda8
2 changed files with 29 additions and 89 deletions

View File

@ -64,6 +64,12 @@
<el-form-item label="考试描述" prop="content"> <el-form-item label="考试描述" prop="content">
<el-input v-model="postForm.content" type="textarea" /> <el-input v-model="postForm.content" type="textarea" />
</el-form-item> </el-form-item>
<el-form-item label="考试类型" prop="examType">
<el-radio-group v-model="postForm.examType">
<el-radio :label="1">模拟考试</el-radio>
<el-radio :label="2">正式考试</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="总分数" prop="totalScore"> <el-form-item label="总分数" prop="totalScore">
<el-input-number :value="postForm.totalScore" disabled /> <el-input-number :value="postForm.totalScore" disabled />
</el-form-item> </el-form-item>
@ -71,7 +77,7 @@
<el-input-number v-model="postForm.qualifyScore" :max="postForm.totalScore" /> <el-input-number v-model="postForm.qualifyScore" :max="postForm.totalScore" />
</el-form-item> </el-form-item>
<el-form-item label="考试费用" prop="examFee"> <el-form-item label="考试费用" prop="examFee">
<el-input-number v-model="postForm.examFee" :min="0"/> <el-input-number v-model="postForm.examFee" :min="0" />
</el-form-item> </el-form-item>
<el-form-item label="考试时长(分钟)" prop="totalTime"> <el-form-item label="考试时长(分钟)" prop="totalTime">
<el-input-number v-model="postForm.totalTime" /> <el-input-number v-model="postForm.totalTime" />
@ -149,6 +155,9 @@ export default {
examFee: undefined, examFee: undefined,
}, },
rules: { rules: {
examType: [
{ required: true, message: '考试类型不能为空!' }
],
title: [ title: [
{ required: true, message: '考试名称不能为空!' } { required: true, message: '考试名称不能为空!' }
], ],

View File

@ -1,111 +1,47 @@
<template> <template>
<data-table ref="pagingTable" :options="options" :list-query="listQuery">
<data-table
ref="pagingTable"
:options="options"
:list-query="listQuery"
>
<template #filter-content> <template #filter-content>
<el-select v-model="listQuery.params.openType" class="filter-item" placeholder="开放类型" clearable> <el-select v-model="listQuery.params.openType" class="filter-item" placeholder="开放类型" clearable>
<el-option <el-option v-for="item in openTypes" :key="item.value" :label="item.label" :value="item.value" />
v-for="item in openTypes"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select> </el-select>
<el-date-picker v-model="listQuery.params.startTime" class="filter-item" value-format="yyyy-MM-dd" type="date"
<el-date-picker placeholder="考试开始时间" />
v-model="listQuery.params.startTime" <el-date-picker v-model="listQuery.params.endTime" class="filter-item" value-format="yyyy-MM-dd" type="date"
class="filter-item" placeholder="考试结束时间" />
value-format="yyyy-MM-dd"
type="date"
placeholder="考试开始时间"
/>
<el-date-picker
v-model="listQuery.params.endTime"
class="filter-item"
value-format="yyyy-MM-dd"
type="date"
placeholder="考试结束时间"
/>
<el-input v-model="listQuery.params.title" placeholder="搜索考试名称" style="width: 200px;" class="filter-item" /> <el-input v-model="listQuery.params.title" placeholder="搜索考试名称" style="width: 200px;" class="filter-item" />
</template> </template>
<template #data-columns> <template #data-columns>
<el-table-column label="考试名称" prop="title" />
<el-table-column <el-table-column label="考试类型" align="center">
label="考试名称"
prop="title"
/>
<el-table-column
label="考试类型"
align="center"
>
<template v-slot="scope"> <template v-slot="scope">
{{ scope.row.openType | examOpenType }} {{ scope.row.openType | examOpenType }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="考试时间" width="220px" align="center">
<el-table-column
label="考试时间"
width="220px"
align="center"
>
<template v-slot="scope"> <template v-slot="scope">
<span v-if="scope.row.timeLimit"> <span v-if="scope.row.timeLimit">
{{ scope.row.startTime }} ~ {{ scope.row.endTime }} {{ scope.row.startTime }} ~ {{ scope.row.endTime }}
</span> </span>
<span v-else>不限时</span> <span v-else>不限时</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="考试总分" prop="totalScore" align="center" />
<el-table-column <el-table-column label="及格线" prop="qualifyScore" align="center" />
label="考试总分" <el-table-column label="状态" align="center">
prop="totalScore"
align="center"
/>
<el-table-column
label="及格线"
prop="qualifyScore"
align="center"
/>
<el-table-column
label="状态"
align="center"
>
<template v-slot="scope"> <template v-slot="scope">
{{ scope.row.state | stateFilter }} {{ scope.row.state | stateFilter }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" width="220px">
<el-table-column
label="操作"
align="center"
width="220px"
>
<template v-slot="scope"> <template v-slot="scope">
<el-button type="primary" size="mini" icon="el-icon-edit" @click="handleUpdateExam(scope.row.id)">修改</el-button> <el-button type="primary" size="mini" icon="el-icon-edit"
<el-button type="warning" size="mini" icon="el-icon-user" @click="handleExamDetail(scope.row.id)">考试详情</el-button> @click="handleUpdateExam(scope.row.id)">修改</el-button>
<el-button type="warning" size="mini" icon="el-icon-user"
@click="handleExamDetail(scope.row.id)">考试详情</el-button>
</template> </template>
</el-table-column> </el-table-column>
</template> </template>
</data-table> </data-table>
</template> </template>
<script> <script>
@ -116,7 +52,6 @@ export default {
components: { DataTable }, components: { DataTable },
data() { data() {
return { return {
openTypes: [ openTypes: [
{ {
value: 1, value: 1,
@ -127,7 +62,6 @@ export default {
label: '指定部门' label: '指定部门'
} }
], ],
listQuery: { listQuery: {
current: 1, current: 1,
size: 10, size: 10,
@ -135,7 +69,6 @@ export default {
title: '' title: ''
} }
}, },
options: { options: {
// //
multi: true, multi: true,
@ -164,13 +97,11 @@ export default {
} }
}, },
methods: { methods: {
handleExamDetail(examId) { handleExamDetail(examId) {
this.$router.push({ name: 'ListExamUser', params: { examId: examId }}) this.$router.push({ name: 'ListExamUser', params: { examId: examId } })
}, },
handleUpdateExam(examId) { handleUpdateExam(examId) {
this.$router.push({ name: 'UpdateExam', params: { id: examId }}) this.$router.push({ name: 'UpdateExam', params: { id: examId } })
} }
} }
} }