Sfoglia il codice sorgente

抽象 HistoryQueryParams

Michael Wang 3 anni fa
parent
commit
8d73140ef8

+ 6 - 5
components.d.ts

@@ -1,9 +1,10 @@
 // generated by unplugin-vue-components
-// read more https://github.com/vuejs/vue-next/pull/3399
+// We suggest you to commit this file into source control
+// Read more: https://github.com/vuejs/vue-next/pull/3399
 
 declare module 'vue' {
   export interface GlobalComponents {
-    404: typeof import('./Users/michael/Documents/qmth/stmms-web/src/components/404.vue')['default']
+    404: typeof import('./src/components/404.vue')['default']
     AButton: typeof import('ant-design-vue/es')['Button']
     ADropdown: typeof import('ant-design-vue/es')['Dropdown']
     AForm: typeof import('ant-design-vue/es')['Form']
@@ -18,9 +19,9 @@ declare module 'vue' {
     ASpin: typeof import('ant-design-vue/es')['Spin']
     ASwitch: typeof import('ant-design-vue/es')['Switch']
     ATooltip: typeof import('ant-design-vue/es')['Tooltip']
-    QmButton: typeof import('./Users/michael/Documents/qmth/stmms-web/src/components/QmButton.vue')['default']
-    QmDialog: typeof import('./Users/michael/Documents/qmth/stmms-web/src/components/QmDialog.vue')['default']
-    ZoomPaper: typeof import('./Users/michael/Documents/qmth/stmms-web/src/components/ZoomPaper.vue')['default']
+    QmButton: typeof import('./src/components/QmButton.vue')['default']
+    QmDialog: typeof import('./src/components/QmDialog.vue')['default']
+    ZoomPaper: typeof import('./src/components/ZoomPaper.vue')['default']
   }
 }
 

+ 8 - 10
src/api/arbitratePage.ts

@@ -1,5 +1,10 @@
 import { httpApp } from "@/plugins/axiosApp";
-import { MarkHistoryOrderBy, MarkHistorySortField, Question } from "@/types";
+import {
+  HistoryQueryParams,
+  MarkHistoryOrderBy,
+  MarkHistorySortField,
+  Question,
+} from "@/types";
 
 /** 清理仲裁任务(libraryId 与其他参数互斥填写) */
 export async function clearArbitrateTask(
@@ -74,15 +79,8 @@ export async function getArbitrateHistory({
   order = "markerTime",
   sort = "DESC",
   secretNumber = null,
-}: {
-  subjectCode: string;
-  groupNumber?: string;
-  pageNumber?: number; // 从1开始
-  pageSize?: number;
-  order?: MarkHistoryOrderBy;
-  sort?: MarkHistorySortField;
-  secretNumber?: string | null;
-}) {
+}: HistoryQueryParams) {
+  if (!subjectCode) return;
   const form = new FormData();
   form.append("subjectCode", subjectCode);
   groupNumber && form.append("groupNumber", groupNumber);

+ 3 - 6
src/api/inspectPage.ts

@@ -1,5 +1,5 @@
 import { httpApp } from "@/plugins/axiosApp";
-import { Question } from "@/types";
+import { HistoryQueryParams, Question } from "@/types";
 
 /** 清理复核任务 */
 export async function clearInspectedTask(
@@ -89,11 +89,8 @@ export async function getInspectedHistory({
   subjectCode,
   pageNumber = 1,
   pageSize = 20,
-}: {
-  subjectCode: string;
-  pageNumber?: number; // 从1开始
-  pageSize?: number;
-}) {
+}: HistoryQueryParams) {
+  if (!subjectCode) return;
   const form = new FormData();
   form.append("subjectCode", subjectCode);
   form.append("pageNumber", pageNumber + "");

+ 2 - 13
src/api/markPage.ts

@@ -1,11 +1,6 @@
 import { store } from "@/features/mark/store";
 import { httpApp } from "@/plugins/axiosApp";
-import {
-  Setting,
-  UISetting,
-  MarkHistorySortField,
-  MarkHistoryOrderBy,
-} from "@/types";
+import { Setting, UISetting, HistoryQueryParams } from "@/types";
 
 /** 清除评卷任务(之前锁住的任务之类的) */
 export async function clearMarkTask() {
@@ -51,13 +46,7 @@ export async function getHistoryTask({
   order = "markerTime",
   sort = "DESC",
   secretNumber = null,
-}: {
-  pageNumber?: number; // 从1开始
-  pageSize?: number;
-  order?: MarkHistoryOrderBy;
-  sort?: MarkHistorySortField;
-  secretNumber?: string | null;
-}) {
+}: HistoryQueryParams) {
   const form = new FormData();
   form.append("pageNumber", pageNumber + "");
   form.append("pageSize", pageSize + "");

+ 7 - 8
src/features/arbitrate/MarkHistory.vue

@@ -99,7 +99,12 @@
 </template>
 
 <script setup lang="ts">
-import type { MarkHistoryOrderBy, MarkHistorySortField, Task } from "@/types";
+import type {
+  HistoryQueryParams,
+  MarkHistoryOrderBy,
+  MarkHistorySortField,
+  Task,
+} from "@/types";
 import { ref, watch } from "vue";
 import { useRoute } from "vue-router";
 import { store } from "@/features/mark/store";
@@ -192,13 +197,7 @@ async function updateHistoryTask({
   order = "markerTime",
   sort = "DESC",
   secretNumber = null,
-}: {
-  pageNumber?: number; // 从1开始
-  pageSize?: number;
-  order?: MarkHistoryOrderBy;
-  sort?: MarkHistorySortField;
-  secretNumber?: string | null;
-}) {
+}: HistoryQueryParams) {
   loading.value = true;
   const res = await getArbitrateHistory({
     pageNumber,

+ 7 - 9
src/features/mark/MarkHistory.vue

@@ -100,11 +100,15 @@
 
 <script setup lang="ts">
 import { getHistoryTask } from "@/api/markPage";
-import type { MarkHistoryOrderBy, MarkHistorySortField, Task } from "@/types";
+import type {
+  HistoryQueryParams,
+  MarkHistoryOrderBy,
+  MarkHistorySortField,
+  Task,
+} from "@/types";
 import { ref, watch } from "vue";
 import { store } from "./store";
 import {
-  CloseOutlined,
   SearchOutlined,
   CaretDownOutlined,
   CaretUpOutlined,
@@ -198,13 +202,7 @@ async function updateHistoryTask({
   order = "markerTime",
   sort = "DESC",
   secretNumber = null,
-}: {
-  pageNumber?: number; // 从1开始
-  pageSize?: number;
-  order?: MarkHistoryOrderBy;
-  sort?: MarkHistorySortField;
-  secretNumber?: string | null;
-}) {
+}: HistoryQueryParams) {
   loading.value = true;
   const res = await getHistoryTask({
     pageNumber,

+ 1 - 1
src/features/student/inspect/MarkHistory.vue

@@ -129,7 +129,7 @@ async function updateHistoryTask({
     subjectCode,
   });
   loading.value = false;
-  if (res.data) {
+  if (res?.data) {
     let data = cloneDeep(res.data) as Array<Task>;
     data = data.map((t) => {
       t.sliceUrls = t.sliceUrls?.map((s) => store.setting.fileServer + s);

+ 10 - 0
src/types/index.ts

@@ -235,6 +235,16 @@ export type MarkHistoryOrderBy =
   | undefined;
 export type MarkHistorySortField = "ASC" | "DESC" | undefined;
 
+export interface HistoryQueryParams {
+  pageNumber?: number; // 从1开始
+  pageSize?: number;
+  order?: MarkHistoryOrderBy;
+  sort?: MarkHistorySortField;
+  secretNumber?: string | null;
+  subjectCode?: string;
+  groupNumber?: string;
+}
+
 export type UnionStore = MarkStore | InspectStore;
 
 export interface RichTextQuestion {