|
@@ -7,6 +7,19 @@
|
|
title="导入缺考名单"
|
|
title="导入缺考名单"
|
|
>
|
|
>
|
|
<a-row :gutter="16">
|
|
<a-row :gutter="16">
|
|
|
|
+ <a-col :span="24">
|
|
|
|
+ <div class="mb-10px">
|
|
|
|
+ <span style="color: red; margin-right: 3px">*</span>
|
|
|
|
+ <span class="label">科目:</span>
|
|
|
|
+ <SelectSubject
|
|
|
|
+ style="width: 100px"
|
|
|
|
+ v-model="subjectCode"
|
|
|
|
+ :exam-id="userStore.curExam?.id as number"
|
|
|
|
+ placeholder="请选择"
|
|
|
|
+ ></SelectSubject>
|
|
|
|
+ <span style="color: red" v-if="!subjectCode">(科目必选)</span>
|
|
|
|
+ </div>
|
|
|
|
+ </a-col>
|
|
<a-col :span="12">
|
|
<a-col :span="12">
|
|
<import-btn
|
|
<import-btn
|
|
:upload-url="uploadUrl"
|
|
:upload-url="uploadUrl"
|
|
@@ -14,8 +27,13 @@
|
|
:format="['txt']"
|
|
:format="['txt']"
|
|
@upload-success="uploadSuccessHandle"
|
|
@upload-success="uploadSuccessHandle"
|
|
@valid-error="onValidError"
|
|
@valid-error="onValidError"
|
|
|
|
+ :disabled="!subjectCode"
|
|
>
|
|
>
|
|
- <a-button class="type-box" @click="seleted('COMPARE')">
|
|
|
|
|
|
+ <a-button
|
|
|
|
+ class="type-box"
|
|
|
|
+ :disabled="!subjectCode"
|
|
|
|
+ @click="seleted('COMPARE')"
|
|
|
|
+ >
|
|
<img src="@/assets/imgs/bg-compare.png" alt="交叉对比" />
|
|
<img src="@/assets/imgs/bg-compare.png" alt="交叉对比" />
|
|
<p>交叉对比</p>
|
|
<p>交叉对比</p>
|
|
<p>CROSS-CONTRAST</p>
|
|
<p>CROSS-CONTRAST</p>
|
|
@@ -29,8 +47,13 @@
|
|
:format="['txt']"
|
|
:format="['txt']"
|
|
@upload-success="uploadSuccessHandle"
|
|
@upload-success="uploadSuccessHandle"
|
|
@valid-error="onValidError"
|
|
@valid-error="onValidError"
|
|
|
|
+ :disabled="!subjectCode"
|
|
>
|
|
>
|
|
- <a-button class="type-box" @click="seleted('OVERRIDE')">
|
|
|
|
|
|
+ <a-button
|
|
|
|
+ class="type-box"
|
|
|
|
+ @click="seleted('OVERRIDE')"
|
|
|
|
+ :disabled="!subjectCode"
|
|
|
|
+ >
|
|
<img src="@/assets/imgs/bg-overwrite.png" alt="覆盖数据" />
|
|
<img src="@/assets/imgs/bg-overwrite.png" alt="覆盖数据" />
|
|
<p>覆盖数据</p>
|
|
<p>覆盖数据</p>
|
|
<p>OVERWRITE THE DATA</p>
|
|
<p>OVERWRITE THE DATA</p>
|
|
@@ -64,7 +87,7 @@ import { absentTemplateDownload } from "@/ap/absentCheck";
|
|
import useLoading from "@/hooks/useLoading";
|
|
import useLoading from "@/hooks/useLoading";
|
|
import { message } from "@qmth/ui";
|
|
import { message } from "@qmth/ui";
|
|
import { useUserStore } from "@/store";
|
|
import { useUserStore } from "@/store";
|
|
-
|
|
|
|
|
|
+import SelectSubject from "@/components/SelectSubject/index.vue";
|
|
import ImportBtn from "@/components/ImportBtn/index.vue";
|
|
import ImportBtn from "@/components/ImportBtn/index.vue";
|
|
import TaskProgressDialog from "../ResultExport/TaskProgressDialog.vue";
|
|
import TaskProgressDialog from "../ResultExport/TaskProgressDialog.vue";
|
|
|
|
|
|
@@ -81,10 +104,12 @@ const userStore = useUserStore();
|
|
const uploadUrl = "/api/admin/check/exam-status/import";
|
|
const uploadUrl = "/api/admin/check/exam-status/import";
|
|
const uploadMode = ref("" as ImportType);
|
|
const uploadMode = ref("" as ImportType);
|
|
|
|
|
|
|
|
+const subjectCode = ref("");
|
|
const updateData = computed(() => {
|
|
const updateData = computed(() => {
|
|
return {
|
|
return {
|
|
examId: userStore.curExam.id,
|
|
examId: userStore.curExam.id,
|
|
mode: uploadMode.value,
|
|
mode: uploadMode.value,
|
|
|
|
+ subjectCode: subjectCode.value,
|
|
};
|
|
};
|
|
});
|
|
});
|
|
|
|
|