|
@@ -2,11 +2,11 @@
|
|
<div class="part-box is-filter">
|
|
<div class="part-box is-filter">
|
|
<el-form inline>
|
|
<el-form inline>
|
|
<el-form-item label="科目">
|
|
<el-form-item label="科目">
|
|
- <select-subject v-model="searchModel.subject"></select-subject>
|
|
|
|
|
|
+ <select-subject v-model="searchModel.subjectCode"></select-subject>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="分组">
|
|
<el-form-item label="分组">
|
|
<el-select
|
|
<el-select
|
|
- v-model="searchModel.groupNo"
|
|
|
|
|
|
+ v-model="searchModel.groupNumber"
|
|
placeholder="请选择"
|
|
placeholder="请选择"
|
|
clearable
|
|
clearable
|
|
style="width: 120px"
|
|
style="width: 120px"
|
|
@@ -16,15 +16,8 @@
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="问题">
|
|
<el-form-item label="问题">
|
|
- <el-select
|
|
|
|
- v-model="searchModel.issueType"
|
|
|
|
- placeholder="请选择"
|
|
|
|
- clearable
|
|
|
|
- style="width: 120px"
|
|
|
|
- >
|
|
|
|
- <el-option label="请选择" value="" />
|
|
|
|
- <!-- TODO: 添加问题类型选项 -->
|
|
|
|
- </el-select>
|
|
|
|
|
|
+ <Select-data v-model="searchModel.problemId" type="problemType">
|
|
|
|
+ </Select-data>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="状态">
|
|
<el-form-item label="状态">
|
|
<el-select
|
|
<el-select
|
|
@@ -33,13 +26,17 @@
|
|
clearable
|
|
clearable
|
|
style="width: 120px"
|
|
style="width: 120px"
|
|
>
|
|
>
|
|
- <el-option label="请选择" value="" />
|
|
|
|
- <!-- TODO: 添加状态选项 -->
|
|
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="(label, value) in ISSUE_PAPER_STATUS"
|
|
|
|
+ :key="value"
|
|
|
|
+ :label="label"
|
|
|
|
+ :value="value"
|
|
|
|
+ />
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="密号">
|
|
<el-form-item label="密号">
|
|
<el-input
|
|
<el-input
|
|
- v-model="searchModel.secretNo"
|
|
|
|
|
|
+ v-model="searchModel.secretNumber"
|
|
placeholder="请输入密号"
|
|
placeholder="请输入密号"
|
|
clearable
|
|
clearable
|
|
style="width: 120px"
|
|
style="width: 120px"
|
|
@@ -69,23 +66,27 @@
|
|
@selection-change="handleSelectionChange"
|
|
@selection-change="handleSelectionChange"
|
|
>
|
|
>
|
|
<el-table-column type="selection" width="55" />
|
|
<el-table-column type="selection" width="55" />
|
|
- <el-table-column prop="subject" label="科目" min-width="120" />
|
|
|
|
- <el-table-column prop="groupNo" label="分组序号" min-width="100" />
|
|
|
|
|
|
+ <el-table-column prop="subjectName" label="科目" min-width="120" />
|
|
|
|
+ <el-table-column prop="groupNumber" label="分组序号" min-width="100" />
|
|
<el-table-column prop="status" label="状态" min-width="100">
|
|
<el-table-column prop="status" label="状态" min-width="100">
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
- <el-tag :type="getStatusType(scope.row.status)">
|
|
|
|
- {{ scope.row.status }}
|
|
|
|
|
|
+ <el-tag>
|
|
|
|
+ {{ dictFilter.issuePaperStatus(scope.row.status) }}
|
|
</el-tag>
|
|
</el-tag>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column prop="examNo" label="准考证号" min-width="120" />
|
|
|
|
- <el-table-column prop="secretNo" label="密号" min-width="100" />
|
|
|
|
|
|
+ <el-table-column prop="examNumber" label="准考证号" min-width="120" />
|
|
|
|
+ <el-table-column prop="secretNumber" label="密号" min-width="100" />
|
|
<el-table-column prop="name" label="姓名" min-width="100" />
|
|
<el-table-column prop="name" label="姓名" min-width="100" />
|
|
- <el-table-column prop="reviewer" label="评卷员" min-width="100" />
|
|
|
|
- <el-table-column prop="submitTime" label="提交时间" min-width="150" />
|
|
|
|
- <el-table-column prop="issueType" label="问题类型" min-width="120" />
|
|
|
|
- <el-table-column prop="handler" label="处理人" min-width="100" />
|
|
|
|
- <el-table-column prop="handleTime" label="处理时间" min-width="150" />
|
|
|
|
|
|
+ <el-table-column prop="markLogin" label="评卷员" min-width="100" />
|
|
|
|
+ <el-table-column prop="markTime" label="提交时间" min-width="150" />
|
|
|
|
+ <el-table-column prop="problemType" label="问题类型" min-width="120" />
|
|
|
|
+ <el-table-column prop="problemUserName" label="处理人" min-width="100" />
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="problemRestTime"
|
|
|
|
+ label="处理时间"
|
|
|
|
+ min-width="150"
|
|
|
|
+ />
|
|
<el-table-column label="操作" width="120" fixed="right">
|
|
<el-table-column label="操作" width="120" fixed="right">
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
<el-button
|
|
<el-button
|
|
@@ -128,6 +129,9 @@
|
|
} from '@/api/types/issue-paper';
|
|
} from '@/api/types/issue-paper';
|
|
import useTable from '@/hooks/table';
|
|
import useTable from '@/hooks/table';
|
|
import { modalConfirm } from '@/utils/ui';
|
|
import { modalConfirm } from '@/utils/ui';
|
|
|
|
+ import { ISSUE_PAPER_STATUS } from '@/constants/enumerate';
|
|
|
|
+ import { dictFilter } from '@/utils/filter';
|
|
|
|
+ import { downloadExport } from '@/utils/download-export';
|
|
|
|
|
|
defineOptions({
|
|
defineOptions({
|
|
name: 'IssuePaperQuery',
|
|
name: 'IssuePaperQuery',
|
|
@@ -136,11 +140,11 @@
|
|
const tableRef = ref<InstanceType<typeof ElTable>>();
|
|
const tableRef = ref<InstanceType<typeof ElTable>>();
|
|
|
|
|
|
const searchModel = reactive<IssuePaperListFilter>({
|
|
const searchModel = reactive<IssuePaperListFilter>({
|
|
- subject: null,
|
|
|
|
- groupNo: undefined,
|
|
|
|
- issueType: '',
|
|
|
|
- status: '',
|
|
|
|
- secretNo: '',
|
|
|
|
|
|
+ subjectCode: null,
|
|
|
|
+ groupNumber: undefined,
|
|
|
|
+ problemId: undefined,
|
|
|
|
+ status: undefined,
|
|
|
|
+ secretNumber: '',
|
|
});
|
|
});
|
|
|
|
|
|
const {
|
|
const {
|
|
@@ -153,19 +157,6 @@
|
|
handleSelectionChange,
|
|
handleSelectionChange,
|
|
} = useTable<IssuePaperItem>(getIssuePaperList, searchModel, false);
|
|
} = useTable<IssuePaperItem>(getIssuePaperList, searchModel, false);
|
|
|
|
|
|
- function getStatusType(status: string) {
|
|
|
|
- switch (status) {
|
|
|
|
- case '已处理':
|
|
|
|
- return 'success';
|
|
|
|
- case '处理中':
|
|
|
|
- return 'warning';
|
|
|
|
- case '待处理':
|
|
|
|
- return 'danger';
|
|
|
|
- default:
|
|
|
|
- return 'info';
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
async function batchReset() {
|
|
async function batchReset() {
|
|
if (selectedRows.value.length === 0) {
|
|
if (selectedRows.value.length === 0) {
|
|
ElMessage.warning('请选择要重置的数据');
|
|
ElMessage.warning('请选择要重置的数据');
|
|
@@ -212,9 +203,8 @@
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- function exportData() {
|
|
|
|
- // TODO: 实现导出功能
|
|
|
|
- console.log('导出问题卷数据');
|
|
|
|
|
|
+ async function exportData() {
|
|
|
|
+ await downloadExport('exportIssuePaper', searchModel);
|
|
}
|
|
}
|
|
|
|
|
|
function viewDetail(row: IssuePaperItem) {
|
|
function viewDetail(row: IssuePaperItem) {
|