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-input v-model="postForm.content" type="textarea" />
</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-input-number :value="postForm.totalScore" disabled />
</el-form-item>
@ -149,6 +155,9 @@ export default {
examFee: undefined,
},
rules: {
examType: [
{ required: true, message: '考试类型不能为空!' }
],
title: [
{ required: true, message: '考试名称不能为空!' }
],

View File

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