Explorar o código

仲裁根据编号查找试卷

Michael Wang %!s(int64=4) %!d(string=hai) anos
pai
achega
62e25967f2
Modificáronse 2 ficheiros con 32 adicións e 3 borrados
  1. 3 0
      src/api/arbitratePage.ts
  2. 29 3
      src/features/arbitrate/MarkHistory.vue

+ 3 - 0
src/api/arbitratePage.ts

@@ -71,6 +71,7 @@ export async function getArbitrateHistory({
   pageSize = 10,
   order = "markerTime",
   sort = "DESC",
+  secretNumber = null,
 }: {
   subjectCode: string;
   groupNumber?: string;
@@ -78,6 +79,7 @@ export async function getArbitrateHistory({
   pageSize?: number;
   order?: "markerTime" | "markerScore";
   sort?: "ASC" | "DESC";
+  secretNumber?: number | null;
 }) {
   const form = new FormData();
   form.append("subjectCode", subjectCode);
@@ -86,6 +88,7 @@ export async function getArbitrateHistory({
   form.append("pageSize", pageSize + "");
   form.append("order", order);
   form.append("sort", sort);
+  secretNumber && form.append("secretNumber", secretNumber + "");
   return httpApp.post("/admin/exam/arbitrate/getHistory", form);
 }
 

+ 29 - 3
src/features/arbitrate/MarkHistory.vue

@@ -13,7 +13,26 @@
         <template #icon><CloseOutlined /></template>
       </a-button>
     </div>
-    <div class="tw-mt-1 tw-mb-1 tw-flex"></div>
+    <div class="tw-mt-1 tw-mb-1 tw-flex">
+      <input
+        v-model="secretNumberInput"
+        type="text"
+        placeholder="查找试卷"
+        class="
+          tw-w-full
+          tw-rounded
+          tw-h-8
+          tw-border-solid
+          tw-border-gray-400
+          tw-border-2
+        "
+        @keyup.enter="updateHistoryTask({ secretNumber: secretNumberInput })"
+      />
+      <SearchOutlined
+        style="margin-left: -30px; font-size: 24px; padding: 3px"
+        @click="updateHistoryTask({ secretNumber: secretNumberInput })"
+      />
+    </div>
     <div class="tw-flex tw-justify-between">
       <div>编号</div>
       <div>时间</div>
@@ -56,13 +75,13 @@ import { Task } from "@/types";
 import { defineComponent, ref, watch, watchEffect } from "vue";
 import { useRoute } from "vue-router";
 import { store } from "@/features/mark/store";
-import { CloseOutlined } from "@ant-design/icons-vue";
+import { CloseOutlined, SearchOutlined } from "@ant-design/icons-vue";
 import { cloneDeep } from "lodash";
 import { getArbitrateHistory } from "@/api/arbitratePage";
 
 export default defineComponent({
   name: "MarkHistory",
-  components: { CloseOutlined },
+  components: { CloseOutlined, SearchOutlined },
   props: {
     shouldReload: { type: Number, required: true },
   },
@@ -100,9 +119,15 @@ export default defineComponent({
     async function updateHistoryTask({
       pageNumber = 1,
       pageSize = 10,
+      order = "markerTime",
+      sort = "DESC",
+      secretNumber = null,
     }: {
       pageNumber?: number; // 从1开始
       pageSize?: number;
+      order?: string;
+      sort?: string;
+      secretNumber?: number | null;
     }) {
       loading.value = true;
       const res = await getArbitrateHistory({
@@ -110,6 +135,7 @@ export default defineComponent({
         pageSize,
         subjectCode,
         groupNumber,
+        secretNumber,
       });
       loading.value = false;
       if (res.data) {