|
@@ -45,7 +45,7 @@
|
|
<el-table-column property="id" label="ID" width="80" />
|
|
<el-table-column property="id" label="ID" width="80" />
|
|
<el-table-column property="name" label="考试名称" min-width="200">
|
|
<el-table-column property="name" label="考试名称" min-width="200">
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
- <el-button type="pirmary" link @click="onViewDetail(scope.row)">{{
|
|
|
|
|
|
+ <el-button type="primary" link @click="onViewDetail(scope.row)">{{
|
|
scope.row.name
|
|
scope.row.name
|
|
}}</el-button>
|
|
}}</el-button>
|
|
</template>
|
|
</template>
|
|
@@ -71,19 +71,19 @@
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
|
|
|
- <el-table-column label="操作" width="200" fixed="right">
|
|
|
|
|
|
+ <el-table-column label="操作" width="300" fixed="right">
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
- <el-button size="small" link @click="onViewDetail(scope.row)">
|
|
|
|
|
|
+ <el-button type="primary" link @click="onViewDetail(scope.row)">
|
|
详情
|
|
详情
|
|
</el-button>
|
|
</el-button>
|
|
- <el-button size="small" link @click="onEdit(scope.row)">
|
|
|
|
|
|
+ <el-button type="primary" link @click="onEdit(scope.row)">
|
|
编辑
|
|
编辑
|
|
</el-button>
|
|
</el-button>
|
|
- <el-button size="small" link @click="onCopy(scope.row)">
|
|
|
|
- 复制
|
|
|
|
|
|
+ <el-button type="primary" link @click="onEditIssueType(scope.row)">
|
|
|
|
+ 问题卷分类
|
|
</el-button>
|
|
</el-button>
|
|
- <el-button size="small" link @click="onAnalysis(scope.row)">
|
|
|
|
- 分析
|
|
|
|
|
|
+ <el-button type="primary" link @click="onEditRejectType(scope.row)">
|
|
|
|
+ 打回卷分类
|
|
</el-button>
|
|
</el-button>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
@@ -100,6 +100,12 @@
|
|
|
|
|
|
<!-- 统计信息弹窗 -->
|
|
<!-- 统计信息弹窗 -->
|
|
<ExamStatDialog ref="statDialogRef" :exam-id="currentExamId" />
|
|
<ExamStatDialog ref="statDialogRef" :exam-id="currentExamId" />
|
|
|
|
+
|
|
|
|
+ <!-- 问题卷分类管理弹窗 -->
|
|
|
|
+ <IssuePaperTypeDialog ref="issueTypeDialogRef" :exam-id="currentExamId" />
|
|
|
|
+
|
|
|
|
+ <!-- 打回卷分类管理弹窗 -->
|
|
|
|
+ <RejectTypeDialog ref="rejectTypeDialogRef" :exam-id="currentExamId" />
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts">
|
|
<script setup lang="ts">
|
|
@@ -109,6 +115,8 @@
|
|
import { ExamQueryItem, ExamListFilter } from '@/api/types/exam';
|
|
import { ExamQueryItem, ExamListFilter } from '@/api/types/exam';
|
|
import useTable from '@/hooks/table';
|
|
import useTable from '@/hooks/table';
|
|
import ExamStatDialog from './ExamStatDialog.vue';
|
|
import ExamStatDialog from './ExamStatDialog.vue';
|
|
|
|
+ import IssuePaperTypeDialog from './IssuePaperTypeDialog.vue';
|
|
|
|
+ import RejectTypeDialog from './RejectTypeDialog.vue';
|
|
|
|
|
|
defineOptions({
|
|
defineOptions({
|
|
name: 'ExamManage',
|
|
name: 'ExamManage',
|
|
@@ -125,6 +133,17 @@
|
|
const { dataList, pagination, loading, toPage, pageSizeChange } =
|
|
const { dataList, pagination, loading, toPage, pageSizeChange } =
|
|
useTable<ExamQueryItem>(getExamList, searchModel, false);
|
|
useTable<ExamQueryItem>(getExamList, searchModel, false);
|
|
|
|
|
|
|
|
+ dataList.value = [
|
|
|
|
+ {
|
|
|
|
+ id: 1,
|
|
|
|
+ name: '考试名称1',
|
|
|
|
+ type: 1,
|
|
|
|
+ examDate: '2023-01-01',
|
|
|
|
+ forceMark: true,
|
|
|
|
+ status: 1,
|
|
|
|
+ },
|
|
|
|
+ ];
|
|
|
|
+
|
|
function getTypeLabel(type: number): string {
|
|
function getTypeLabel(type: number): string {
|
|
const typeMap: Record<number, string> = {
|
|
const typeMap: Record<number, string> = {
|
|
1: '类型1',
|
|
1: '类型1',
|
|
@@ -138,6 +157,11 @@
|
|
const currentExamId = ref(0);
|
|
const currentExamId = ref(0);
|
|
// 详情统计弹窗
|
|
// 详情统计弹窗
|
|
const statDialogRef = ref();
|
|
const statDialogRef = ref();
|
|
|
|
+ // 问题卷分类弹窗
|
|
|
|
+ const issueTypeDialogRef = ref();
|
|
|
|
+ // 打回卷分类弹窗
|
|
|
|
+ const rejectTypeDialogRef = ref();
|
|
|
|
+
|
|
function onViewDetail(row: ExamQueryItem) {
|
|
function onViewDetail(row: ExamQueryItem) {
|
|
currentExamId.value = row.id;
|
|
currentExamId.value = row.id;
|
|
statDialogRef.value?.open();
|
|
statDialogRef.value?.open();
|
|
@@ -154,13 +178,13 @@
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
- function onCopy(row: ExamQueryItem) {
|
|
|
|
- // TODO: 实现复制功能
|
|
|
|
- console.log('复制考试:', row);
|
|
|
|
|
|
+ function onEditIssueType(row: ExamQueryItem) {
|
|
|
|
+ currentExamId.value = row.id;
|
|
|
|
+ issueTypeDialogRef.value?.open();
|
|
}
|
|
}
|
|
|
|
|
|
- function onAnalysis(row: ExamQueryItem) {
|
|
|
|
- // TODO: 实现分析功能
|
|
|
|
- console.log('分析考试:', row);
|
|
|
|
|
|
+ function onEditRejectType(row: ExamQueryItem) {
|
|
|
|
+ currentExamId.value = row.id;
|
|
|
|
+ rejectTypeDialogRef.value?.open();
|
|
}
|
|
}
|
|
</script>
|
|
</script>
|