|
@@ -7,19 +7,22 @@
|
|
>
|
|
>
|
|
<a-collapse-panel key="1">
|
|
<a-collapse-panel key="1">
|
|
<template #header><FilterFilled />搜索条件 </template>
|
|
<template #header><FilterFilled />搜索条件 </template>
|
|
- <a-form :label-col="{ style: { width: '83px' } }">
|
|
|
|
|
|
+ <a-form :label-col="{ style: { width: '76px' } }">
|
|
<a-form-item label="科目">
|
|
<a-form-item label="科目">
|
|
<select-course
|
|
<select-course
|
|
v-model:value="searchModel.subjectCode"
|
|
v-model:value="searchModel.subjectCode"
|
|
:exam-id="userStore.curExam.id"
|
|
:exam-id="userStore.curExam.id"
|
|
style="width: 150px"
|
|
style="width: 150px"
|
|
|
|
+ allow-clear
|
|
></select-course>
|
|
></select-course>
|
|
</a-form-item>
|
|
</a-form-item>
|
|
<a-form-item label="查找条件">
|
|
<a-form-item label="查找条件">
|
|
<a-select
|
|
<a-select
|
|
v-model:value="searchDataCheckType"
|
|
v-model:value="searchDataCheckType"
|
|
placeholder="请选择"
|
|
placeholder="请选择"
|
|
- :options="dataCheckOptions"
|
|
|
|
|
|
+ :options="absentCheckOptions"
|
|
|
|
+ allow-clear
|
|
|
|
+ @change="absentCheckTypeChange"
|
|
></a-select>
|
|
></a-select>
|
|
</a-form-item>
|
|
</a-form-item>
|
|
<a-form-item label="准考证号">
|
|
<a-form-item label="准考证号">
|
|
@@ -35,17 +38,17 @@
|
|
</a-form-item>
|
|
</a-form-item>
|
|
|
|
|
|
<a-row>
|
|
<a-row>
|
|
- <a-col :span="16">
|
|
|
|
|
|
+ <a-col :span="15">
|
|
<a-form-item label="姓名">
|
|
<a-form-item label="姓名">
|
|
<a-input
|
|
<a-input
|
|
v-model:value="searchModel.name"
|
|
v-model:value="searchModel.name"
|
|
placeholder="请输入"
|
|
placeholder="请输入"
|
|
- style="width: 150px"
|
|
|
|
|
|
+ style="width: 140px"
|
|
></a-input>
|
|
></a-input>
|
|
</a-form-item>
|
|
</a-form-item>
|
|
</a-col>
|
|
</a-col>
|
|
- <a-col :span="8">
|
|
|
|
- <a-form-item>
|
|
|
|
|
|
+ <a-col :span="9">
|
|
|
|
+ <a-form-item style="text-align: right">
|
|
<a-button class="m-r-8px" type="primary" @click="onSearch"
|
|
<a-button class="m-r-8px" type="primary" @click="onSearch"
|
|
>查询</a-button
|
|
>查询</a-button
|
|
>
|
|
>
|
|
@@ -81,11 +84,17 @@
|
|
<a-collapse-panel key="4">
|
|
<a-collapse-panel key="4">
|
|
<template #header><SettingFilled />缺考数据设置 </template>
|
|
<template #header><SettingFilled />缺考数据设置 </template>
|
|
|
|
|
|
- <a-button type="primary" :rotate="90" @click="onImport">
|
|
|
|
|
|
+ <a-button
|
|
|
|
+ class="m-r-10px"
|
|
|
|
+ type="primary"
|
|
|
|
+ :rotate="90"
|
|
|
|
+ @click="onImport"
|
|
|
|
+ >
|
|
<template #icon><SelectOutlined /></template>导入缺考名单
|
|
<template #icon><SelectOutlined /></template>导入缺考名单
|
|
</a-button>
|
|
</a-button>
|
|
- <a-button :rotate="270" @click="onReset">
|
|
|
|
- <template #icon><RedoOutlined /></template>重新生成缺考数据
|
|
|
|
|
|
+ <a-button @click="onReset">
|
|
|
|
+ <template #icon><RedoOutlined :rotate="270" /></template
|
|
|
|
+ >重新生成缺考数据
|
|
</a-button>
|
|
</a-button>
|
|
</a-collapse-panel>
|
|
</a-collapse-panel>
|
|
</a-collapse>
|
|
</a-collapse>
|
|
@@ -137,7 +146,7 @@ const emit = defineEmits(["search"]);
|
|
const userStore = useUserStore();
|
|
const userStore = useUserStore();
|
|
const dataCheckStore = useDataCheckStore();
|
|
const dataCheckStore = useDataCheckStore();
|
|
|
|
|
|
-const { optionList: dataCheckOptions } = useDictOption("DATA_CHECK_TYPE");
|
|
|
|
|
|
+const { optionList: absentCheckOptions } = useDictOption("ABSENT_CHECK_TYPE");
|
|
const { optionList: imageTypeOptions } = useDictOption("IMAGE_TYPE");
|
|
const { optionList: imageTypeOptions } = useDictOption("IMAGE_TYPE");
|
|
const panelKey = ref(["1", "2", "3", "4"]);
|
|
const panelKey = ref(["1", "2", "3", "4"]);
|
|
|
|
|
|
@@ -148,7 +157,7 @@ const initSearchModel = {
|
|
studentCode: "",
|
|
studentCode: "",
|
|
name: "",
|
|
name: "",
|
|
subjectCode: "",
|
|
subjectCode: "",
|
|
- examStatus: "",
|
|
|
|
|
|
+ examStatus: [],
|
|
};
|
|
};
|
|
const searchModel = reactive<AbsentCheckListFilter>({ ...initSearchModel });
|
|
const searchModel = reactive<AbsentCheckListFilter>({ ...initSearchModel });
|
|
const searchDataCheckType = ref();
|
|
const searchDataCheckType = ref();
|
|
@@ -167,6 +176,23 @@ const examNumberCountCont = computed(() => {
|
|
return `${examNumbers.length}/100`;
|
|
return `${examNumbers.length}/100`;
|
|
});
|
|
});
|
|
|
|
|
|
|
|
+function absentCheckTypeChange() {
|
|
|
|
+ switch (searchDataCheckType.value) {
|
|
|
|
+ // 缺考
|
|
|
|
+ case "1":
|
|
|
|
+ searchModel.examStatus = ["ABSENT"];
|
|
|
|
+ break;
|
|
|
|
+ // 正常
|
|
|
|
+ case "2":
|
|
|
|
+ searchModel.examStatus = ["OK"];
|
|
|
|
+ break;
|
|
|
|
+
|
|
|
|
+ default:
|
|
|
|
+ searchModel.examStatus = [];
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
function onSearch() {
|
|
function onSearch() {
|
|
emit("search", searchModel);
|
|
emit("search", searchModel);
|
|
}
|
|
}
|
|
@@ -193,7 +219,8 @@ watch(
|
|
() => dataCheckStore.curPageIndex,
|
|
() => dataCheckStore.curPageIndex,
|
|
(val, oldval) => {
|
|
(val, oldval) => {
|
|
if (val !== oldval) {
|
|
if (val !== oldval) {
|
|
- questions.value = [...dataCheckStore.curPage?.question];
|
|
|
|
|
|
+ if (!dataCheckStore.curPage || !dataCheckStore.curPage.question) return;
|
|
|
|
+ questions.value = [...dataCheckStore.curPage.question.result];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
);
|
|
);
|