Michael Wang 3 жил өмнө
parent
commit
44b7796291

+ 19 - 1
src/api/libraryInspectPage.ts

@@ -1,5 +1,5 @@
 import { httpApp } from "@/plugins/axiosApp";
-import { Question } from "@/types";
+import { HistoryQueryParams, Question } from "@/types";
 
 /** 清理复核任务 */
 export async function clearInspectedTask(
@@ -20,6 +20,24 @@ export async function clearInspectedTask(
 //   return httpApp.post("/admin/exam/inspected/getTask", form);
 // }
 
+/** 批量复核历史 */
+export async function getInspectedHistory({
+  subjectCode,
+  order = "markerTime",
+  sort = "DESC",
+  pageNumber = 1,
+  pageSize = 20,
+}: HistoryQueryParams) {
+  if (!subjectCode) return;
+  const form = new FormData();
+  form.append("subjectCode", subjectCode);
+  form.append("order", order);
+  form.append("sort", sort);
+  form.append("pageNumber", pageNumber + "");
+  form.append("pageSize", pageSize + "");
+  return httpApp.post("/admin/exam/library/getHistory", form);
+}
+
 /** 批量复核得到单个学生的复核任务 */
 export async function getOneOfInspectedTask(
   subjectCode?: string,

+ 22 - 9
src/features/library/inspect/MarkHeader.vue

@@ -1,12 +1,22 @@
 <template>
   <div
-    class="
-      tw-flex tw-gap-4 tw-justify-between tw-items-center
-      header-container
-      tw-px-1
-    "
+    class="tw-flex tw-gap-4 tw-justify-start tw-items-center header-container"
     v-if="store.setting"
   >
+    <div
+      v-if="!isSingleStudent"
+      class="tw-flex tw-place-content-center tw-cursor-pointer tw-relative menu"
+      :class="[store.historyOpen && 'menu-toggled']"
+      @click="toggleHistory"
+    >
+      <span title="回看" class="tw-inline-flex tw-place-content-center">
+        <img
+          src="../../mark/images/left-menu.svg"
+          :class="[store.historyOpen && 'svg-red']"
+        />
+      </span>
+      <div v-if="store.historyOpen" class="triangle"></div>
+    </div>
     <div
       class="
         tw-text-white
@@ -19,8 +29,8 @@
       "
     >
       {{
-        `${store.setting.subject.code ?? ""}-${
-          store.setting.subject.name ?? ""
+        `${store.setting.subject?.code ?? ""}-${
+          store.setting.subject?.name ?? ""
         }`
       }}
     </div>
@@ -44,7 +54,7 @@
       </span>
     </div>
     <ZoomPaper v-if="isScanImage()" :store="store" />
-    <div class="tw-flex tw-place-items-center tw-justify-end">
+    <div class="tw-flex tw-place-items-center tw-justify-end tw-ml-auto">
       {{ store.setting.userName }}
     </div>
     <div
@@ -89,7 +99,7 @@
 <script setup lang="ts">
 import { onMounted, ref } from "vue";
 import { store, isScanImage } from "@/features/mark/store";
-import { UserOutlined, PoweroffOutlined } from "@ant-design/icons-vue";
+import { PoweroffOutlined } from "@ant-design/icons-vue";
 import { useRoute } from "vue-router";
 import { clearInspectedTask } from "@/api/libraryInspectPage";
 import ZoomPaper from "@/components/ZoomPaper.vue";
@@ -102,6 +112,9 @@ const { subjectCode, groupNumber } = route.query as {
   groupNumber: string;
 };
 
+const toggleHistory = () => {
+  store.historyOpen = !store.historyOpen;
+};
 async function updateClearTask() {
   await clearInspectedTask(subjectCode, groupNumber);
 }