浏览代码

feat: examId获取调整

zhangjie 9 月之前
父节点
当前提交
46980bc327

+ 2 - 1
src/render/components/SelectCourse/index.vue

@@ -24,6 +24,7 @@ defineOptions({
 
 const props = withDefaults(
   defineProps<{
+    examId: number;
     modelValue: string;
     placeholder?: string;
   }>(),
@@ -40,7 +41,7 @@ const selected = ref("");
 const optionList = ref<SubjectItem[]>([]);
 const search = async () => {
   optionList.value = [];
-  const resData = await subjectList({ examId: 1 });
+  const resData = await subjectList({ examId: props.examId });
   optionList.value = resData || [];
 };
 // search();

+ 6 - 2
src/render/views/ImageCheck/index.vue

@@ -29,10 +29,14 @@ import type { TableProps } from "ant-design-vue";
 import { ImageCheckListItem } from "@/ap/types/imageCheck";
 import { imageCheckList } from "@/ap/imageCheck";
 
+import { useUserStore } from "@/store";
+
 defineOptions({
   name: "ImageCheck",
 });
 
+const userStore = useUserStore();
+
 const router = useRouter();
 const route = useRoute();
 
@@ -65,7 +69,7 @@ const loading = ref(false);
 const dataList = ref<ImageCheckListItem[]>([]);
 
 async function getData() {
-  const res = await imageCheckList({ examId: 1 });
+  const res = await imageCheckList({ examId: userStore.curExam.id });
   dataList.value = res || [];
 }
 
@@ -74,7 +78,7 @@ function onViewFailed(index: number) {
   router.push({
     name: "ImageFailed",
     params: {
-      examId: 1,
+      examId: userStore.curExam.id,
       subjectCode: record.subjectCode,
     },
   });

+ 5 - 2
src/render/views/RecognizeCheck/ModifyRecognizeCheckTask.vue

@@ -84,6 +84,7 @@ import {
   RecognizeCheckTaskSaveParams,
   RecognizeCheckTaskSetConditionItem,
 } from "@/ap/types/recognizeCheck";
+import { useUserStore } from "@/store";
 
 defineOptions({
   name: "ModifyRecognizeCheckTask",
@@ -93,6 +94,8 @@ defineOptions({
 const { visible, open, close } = useModal();
 defineExpose({ open, close });
 
+const userStore = useUserStore();
+
 const defaultFormData = {
   id: 0,
   examId: 0,
@@ -184,7 +187,7 @@ function modalOpenHandle() {
   if (props.rowData) {
     formData.id = props.rowData.id;
     formData.subjectCode = props.rowData.subjectCode;
-    formData.examId = window.examId;
+    formData.examId = userStore.curExam.id;
     formData.conditions = props.rowData.conditions.map((item) => {
       return {
         ...item,
@@ -194,7 +197,7 @@ function modalOpenHandle() {
   } else {
     formData.id = undefined;
     formData.subjectCode = "";
-    formData.examId = window.examId;
+    formData.examId = userStore.curExam.id;
     formData.conditions = [
       { code: "", name: "", needValue: false, value: null },
     ];

+ 7 - 2
src/render/views/RecognizeCheck/index.vue

@@ -1,7 +1,9 @@
 <template>
   <div v-show="route.name === 'RecognizeCheck'" class="page-box">
     <a-space class="m-b-16px" :size="8">
-      <div><span>科目:</span> <SelectCourse /></div>
+      <div>
+        <span>科目:</span> <SelectCourse :exam-id="userStore.curExam.id" />
+      </div>
       <a-button @click="toPage(1)">查询</a-button>
       <a-divider type="vertical" style="margin: 0" />
       <qm-button type="primary" :icon="h(PlusCircleOutlined)" @click="onAdd"
@@ -64,6 +66,7 @@ import {
   recognizeCheckTaskStatusSave,
 } from "@/ap/recognizeCheck";
 import { showConfirm } from "@/utils/uiUtils";
+import { useUserStore } from "@/store";
 
 import ModifyRecognizeCheckTask from "./ModifyRecognizeCheckTask.vue";
 
@@ -71,6 +74,8 @@ defineOptions({
   name: "RecognizeCheck",
 });
 
+const userStore = useUserStore();
+
 const router = useRouter();
 const route = useRoute();
 
@@ -126,7 +131,7 @@ const curRow = ref(null as RecognizeCheckTaskSaveParams | null);
 const { dataList, pagination, loading, getList, toPage, deletePageLastItem } =
   useTable<RecognizeCheckListItem>(
     recognizeCheckListPage,
-    { examId: 1 },
+    { examId: userStore.curExam.id },
     false
   );
 

+ 4 - 2
src/render/views/ResultExport/BreachImport.vue

@@ -41,12 +41,14 @@ import { message } from "ant-design-vue";
 import { BreachListItem } from "@/ap/types/resultExport";
 import { breachList, breachTemplateDownload } from "@/ap/resultExport";
 import { downloadByApi } from "@/utils/download";
+import { useUserStore } from "@/store";
 
 import ImportDialog from "@/components/ImportDialog/index.vue";
 
 defineOptions({
   name: "BreachImport",
 });
+const userStore = useUserStore();
 
 const loading = ref(false);
 const dataList = ref<BreachListItem[]>([]);
@@ -78,7 +80,7 @@ const columns: TableProps["columns"] = [
 ];
 
 async function getData() {
-  const res = await breachList({ examId: 1 });
+  const res = await breachList({ examId: userStore.curExam.id });
   dataList.value = res || [];
 }
 
@@ -87,7 +89,7 @@ const uploadData = ref<Record<string, string>>({});
 async function onImport(index: number) {
   const record = dataList.value[index];
   uploadData.value = {
-    examId: 1,
+    examId: userStore.curExam.id,
     subjectCode: "",
   };
   importDialogRef.value?.open();

+ 8 - 6
src/render/views/ResultExport/DbfExport.vue

@@ -45,7 +45,6 @@ import { ref, h, onMounted } from "vue";
 import { SettingOutlined } from "@ant-design/icons-vue";
 import type { TableProps } from "ant-design-vue";
 import { SubjectItem } from "@/ap/types/base";
-
 import { subjectList } from "@/ap/base";
 import {
   markSiteCodeInfo,
@@ -53,6 +52,7 @@ import {
   dbfPackageExport,
 } from "@/ap/resultExport";
 import { markSiteSetParams } from "@/ap/types/resultExport";
+import { useUserStore } from "@/store";
 
 import ModifySiteCode from "./ModifySiteCode.vue";
 import ExportTaskProgressDialog from "./ExportTaskProgressDialog.vue";
@@ -61,6 +61,8 @@ defineOptions({
   name: "DbfExport",
 });
 
+const userStore = useUserStore();
+
 const loading = ref(false);
 const dataList = ref<SubjectItem[]>([]);
 const curExportTask = ref({ id: "", name: "" });
@@ -88,8 +90,8 @@ const columns: TableProps["columns"] = [
 
 const siteCodeData = ref({} as markSiteSetParams);
 async function getScanSiteCode() {
-  const res = await markSiteCodeInfo({ examId: 1 });
-  siteCodeData.value = { scanSite: res.scanSite, examId: 1 };
+  const res = await markSiteCodeInfo({ examId: userStore.curExam.id });
+  siteCodeData.value = { scanSite: res.scanSite, examId: userStore.curExam.id };
 }
 
 const modifySiteCodeRef = ref();
@@ -101,14 +103,14 @@ function siteCodeModified(data: markSiteSetParams) {
 }
 
 async function getData() {
-  const res = await subjectList({ examId: 1 });
+  const res = await subjectList({ examId: userStore.curExam.id });
   dataList.value = res || [];
 }
 
 async function onExportAnswer(index: number) {
   const record = dataList.value[index];
   const res = await dbfAnswerExport({
-    examId: 1,
+    examId: userStore.curExam.id,
     subjectCode: record.subjectCode,
   });
   curExportTask.value = { id: res.taskId, name: "扫描答案DBF" };
@@ -118,7 +120,7 @@ async function onExportAnswer(index: number) {
 async function onExportPackage(index: number) {
   const record = dataList.value[index];
   const res = await dbfPackageExport({
-    examId: 1,
+    examId: userStore.curExam.id,
     subjectCode: record.subjectCode,
   });
   curExportTask.value = { id: res.taskId, name: "打包DBF" };

+ 7 - 1
src/render/views/ResultExport/MarkSite.vue

@@ -38,12 +38,14 @@ import useTable from "@/hooks/useTable";
 import { MarkSiteListItem } from "@/ap/types/resultExport";
 import { markSiteDelete, markSiteListPage } from "@/ap/resultExport";
 import { showConfirm } from "@/utils/uiUtils";
+import { useUserStore } from "@/store";
 
 import ModifyMarkSite from "./ModifyMarkSite.vue";
 
 defineOptions({
   name: "MarkSite",
 });
+const userStore = useUserStore();
 
 const columns: TableProps["columns"] = [
   {
@@ -83,7 +85,11 @@ const columns: TableProps["columns"] = [
 const curRow = ref({} as MarkSiteListItem);
 
 const { dataList, pagination, loading, getList, toPage, deletePageLastItem } =
-  useTable<MarkSiteListItem>(markSiteListPage, { examId: 1 }, false);
+  useTable<MarkSiteListItem>(
+    markSiteListPage,
+    { examId: userStore.curExam.id },
+    false
+  );
 
 const modifyMarkSiteRef = ref();
 function onAdd() {

+ 6 - 3
src/render/views/ResultExport/StudentStatus.vue

@@ -48,6 +48,7 @@ import { message } from "ant-design-vue";
 import { StudentStatusListItem } from "@/ap/types/resultExport";
 import { studentStatusList, statusTemplateDownload } from "@/ap/resultExport";
 import { downloadByApi } from "@/utils/download";
+import { useUserStore } from "@/store";
 
 import ImportDialog from "@/components/ImportDialog/index.vue";
 
@@ -55,6 +56,8 @@ defineOptions({
   name: "StudentStatus",
 });
 
+const userStore = useUserStore();
+
 const loading = ref(false);
 const dataList = ref<StudentStatusListItem[]>([]);
 
@@ -87,7 +90,7 @@ const columns: TableProps["columns"] = [
 const curRow = ref({} as StudentStatusListItem);
 
 async function getData() {
-  const res = await studentStatusList({ examId: 1 });
+  const res = await studentStatusList({ examId: userStore.curExam.id });
   dataList.value = res || [];
 }
 
@@ -97,8 +100,8 @@ async function onImport(index: number) {
   const record = dataList.value[index];
   curRow.value = record;
   uploadData.value = {
-    examId: 1,
-    subjectCode: "",
+    examId: userStore.curExam.id,
+    subjectCode: record.subjectCode,
   };
   importDialogRef.value?.open();
 }

+ 0 - 1
types/global.d.ts

@@ -11,7 +11,6 @@ declare global {
     $confirm: any;
     $destroyAll: any;
     electronApi: any;
-    examId: number;
   }
 
   type FormRules<T extends string> = Partial<Record<T, Rule[]>>;