|
@@ -5,19 +5,23 @@
|
|
<select-subject v-model="searchModel.subjectCode"></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
|
|
|
|
|
|
+ <select-data
|
|
v-model="searchModel.groupNumber"
|
|
v-model="searchModel.groupNumber"
|
|
- placeholder="请选择"
|
|
|
|
- clearable
|
|
|
|
- style="width: 120px"
|
|
|
|
- >
|
|
|
|
- <el-option label="请选择" value="" />
|
|
|
|
- <!-- TODO: 添加分组选项 -->
|
|
|
|
- </el-select>
|
|
|
|
|
|
+ type="group"
|
|
|
|
+ :params="{
|
|
|
|
+ subjectCode: searchModel.subjectCode,
|
|
|
|
+ }"
|
|
|
|
+ param-required
|
|
|
|
+ />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="问题">
|
|
<el-form-item label="问题">
|
|
- <Select-data v-model="searchModel.problemId" type="problemType">
|
|
|
|
- </Select-data>
|
|
|
|
|
|
+ <select-data
|
|
|
|
+ v-model="searchModel.problemId"
|
|
|
|
+ type="problemType"
|
|
|
|
+ :params="{ examId: appStore.examId }"
|
|
|
|
+ param-required
|
|
|
|
+ >
|
|
|
|
+ </select-data>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="状态">
|
|
<el-form-item label="状态">
|
|
<el-select
|
|
<el-select
|
|
@@ -66,7 +70,11 @@
|
|
@selection-change="handleSelectionChange"
|
|
@selection-change="handleSelectionChange"
|
|
>
|
|
>
|
|
<el-table-column type="selection" width="55" />
|
|
<el-table-column type="selection" width="55" />
|
|
- <el-table-column prop="subjectName" label="科目" min-width="120" />
|
|
|
|
|
|
+ <el-table-column prop="subjectCode" label="科目" min-width="240">
|
|
|
|
+ <template #default="{ row }">
|
|
|
|
+ {{ row.subjectCode }}-{{ row.subjectName }}
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
<el-table-column prop="groupNumber" label="分组序号" min-width="100" />
|
|
<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">
|
|
@@ -79,14 +87,10 @@
|
|
<el-table-column prop="secretNumber" label="密号" min-width="100" />
|
|
<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="markLogin" label="评卷员" min-width="100" />
|
|
<el-table-column prop="markLogin" label="评卷员" min-width="100" />
|
|
- <el-table-column prop="markTime" label="提交时间" min-width="150" />
|
|
|
|
|
|
+ <el-table-column prop="markTime" label="提交时间" width="180" />
|
|
<el-table-column prop="problemType" label="问题类型" min-width="120" />
|
|
<el-table-column prop="problemType" label="问题类型" min-width="120" />
|
|
<el-table-column prop="problemUserName" label="处理人" min-width="100" />
|
|
<el-table-column prop="problemUserName" label="处理人" min-width="100" />
|
|
- <el-table-column
|
|
|
|
- prop="problemRestTime"
|
|
|
|
- label="处理时间"
|
|
|
|
- min-width="150"
|
|
|
|
- />
|
|
|
|
|
|
+ <el-table-column prop="problemRestTime" label="处理时间" width="180" />
|
|
<el-table-column label="操作" width="120" fixed="right">
|
|
<el-table-column label="操作" width="120" fixed="right">
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
<el-button type="primary" link @click="viewDetail(scope.row)">
|
|
<el-button type="primary" link @click="viewDetail(scope.row)">
|
|
@@ -111,7 +115,7 @@
|
|
|
|
|
|
<script setup lang="ts">
|
|
<script setup lang="ts">
|
|
import { reactive, ref } from 'vue';
|
|
import { reactive, ref } from 'vue';
|
|
- import { ElTable, ElMessage } from 'element-plus';
|
|
|
|
|
|
+ import { ElMessage } from 'element-plus';
|
|
import { getIssuePaperList, resetIssuePaper } from '@/api/issue-paper';
|
|
import { getIssuePaperList, resetIssuePaper } from '@/api/issue-paper';
|
|
import {
|
|
import {
|
|
IssuePaperItem,
|
|
IssuePaperItem,
|
|
@@ -122,12 +126,14 @@
|
|
import { ISSUE_PAPER_STATUS } from '@/constants/enumerate';
|
|
import { ISSUE_PAPER_STATUS } from '@/constants/enumerate';
|
|
import { dictFilter } from '@/utils/filter';
|
|
import { dictFilter } from '@/utils/filter';
|
|
import { downloadExport } from '@/utils/download-export';
|
|
import { downloadExport } from '@/utils/download-export';
|
|
|
|
+ import { useAppStore } from '@/store';
|
|
|
|
|
|
defineOptions({
|
|
defineOptions({
|
|
name: 'IssuePaperQuery',
|
|
name: 'IssuePaperQuery',
|
|
});
|
|
});
|
|
|
|
+ const appStore = useAppStore();
|
|
|
|
|
|
- const tableRef = ref<InstanceType<typeof ElTable>>();
|
|
|
|
|
|
+ const tableRef = ref();
|
|
|
|
|
|
const searchModel = reactive<IssuePaperListFilter>({
|
|
const searchModel = reactive<IssuePaperListFilter>({
|
|
subjectCode: null,
|
|
subjectCode: null,
|
|
@@ -145,7 +151,7 @@
|
|
toPage,
|
|
toPage,
|
|
pageSizeChange,
|
|
pageSizeChange,
|
|
handleSelectionChange,
|
|
handleSelectionChange,
|
|
- } = useTable<IssuePaperItem>(getIssuePaperList, searchModel, false);
|
|
|
|
|
|
+ } = useTable<IssuePaperItem>(getIssuePaperList, searchModel, true);
|
|
|
|
|
|
async function batchReset() {
|
|
async function batchReset() {
|
|
if (selectedRows.value.length === 0) {
|
|
if (selectedRows.value.length === 0) {
|