Просмотр исходного кода

适配物理和政治模拟考试

shmily1213 1 месяц назад
Родитель
Сommit
c6f4e66d7d

+ 19 - 0
src/common/enum.ts

@@ -319,4 +319,23 @@ export enum EnumPaperWorkState {
    * 已完成
    */
   COMPLETED = 4
+}
+
+export enum EnumPaperBuildType {
+  /**
+   * 定向智能
+   */
+  EXACT_INTELLIGENT = 'ExactIntelligent',
+  /**
+   * 全量智能
+   */
+  FULL_INTELLIGENT = 'FullIntelligent',
+  /**
+   * 定向手动
+   */
+  EXACT_HAND = 'ExactHand',
+  /**
+   * 全量手动
+   */
+  FULL_HAND = 'FullHand'
 }

+ 6 - 0
src/pagesStudy/pages/simulation-entry/simulation-entry.vue

@@ -39,6 +39,8 @@ import iconChinese from '@/pagesStudy/static/image/icon-chinese.png';
 import iconMath from '@/pagesStudy/static/image/icon-math.png';
 import iconForeign from '@/pagesStudy/static/image/icon-foreign.png';
 import iconSkill from '@/pagesStudy/static/image/icon-skill.png';
+import iconPhysics from '@/pagesStudy/static/image/icon-physics.png';
+import iconPolitics from '@/pagesStudy/static/image/icon-politics.png';
 import { Study } from '@/types';
 const { transferTo, prevData } = useTransferPage();
 const subjects = ref<Study.SimulationExamSubject[]>([]);
@@ -62,6 +64,10 @@ const getIcon = (subjectName: string) => {
     return iconMath;
   } else if (subjectName === '外语' || /.语/.test(subjectName)) {
     return iconForeign;
+  } else if (subjectName === '物理') {
+    return iconPhysics;
+  } else if (subjectName === '政治') {
+    return iconPolitics;
   } else {
     return iconSkill;
   }

+ 28 - 12
src/pagesStudy/pages/study-history/components/exam-history-paperwork.vue

@@ -1,17 +1,17 @@
 <template>
   <view>
     <view class="w-full flex mb-30 justify-between">
-      <view class="">
-        <ie-picker ref="pickerRef" v-model="queryForm.buildStatus" :list="buildTypeList" placeholder="类型" title="类型"
+      <view class="max-w-180">
+        <ie-picker ref="pickerRef" v-model="queryForm.buildType" :list="buildTypeList" placeholder="类型" title="类型"
           icon="arrow-down" key-label="name" key-value="value" :fontSize="28"
           :placeholder-style="placeholderStyle"></ie-picker>
       </view>
-      <view class="">
+      <view class="max-w-180">
         <ie-picker ref="pickerRef" v-model="queryForm.batchId" :list="batchList" placeholder="批次" title="批次"
           icon="arrow-down" key-label="name" key-value="batchId" :fontSize="28"
           :placeholder-style="placeholderStyle"></ie-picker>
       </view>
-      <view class="">
+      <view class="max-w-180">
         <ie-picker ref="pickerRef" v-model="queryForm.classId" :list="classList" placeholder="班级" title="班级"
           icon="arrow-down" key-label="name" key-value="classId" :fontSize="28"
           :placeholder-style="placeholderStyle"></ie-picker>
@@ -56,12 +56,31 @@
 import { Study, TableColumnConfig } from '@/types';
 import { CSSProperties } from 'vue';
 import { getBatchList, getTeachClassList, getTeacherSubjectList, getTeacherTestRecord, getTeacherTestRecordDetail, getTeacherTestRecordCondition } from '@/api/modules/study';
+import { EnumPaperBuildType, EnumPaperWorkState } from '@/common/enum';
 
 const cellStyle: CSSProperties = {
   padding: '30rpx 20rpx'
 }
 const queryForm = ref<Partial<Study.PaperWorkRecordQuery>>({});
 const buildTypeList = ref([
+  {
+    name: '定向智能',
+    value: EnumPaperBuildType.EXACT_INTELLIGENT
+  },
+  {
+    name: '全量智能',
+    value: EnumPaperBuildType.FULL_INTELLIGENT
+  },
+  {
+    name: '定向手动',
+    value: EnumPaperBuildType.EXACT_HAND
+  },
+  {
+    name: '全量手动',
+    value: EnumPaperBuildType.FULL_HAND
+  }
+]);
+const buildStatusList = ref([
   {
     name: '未定向未组卷',
     value: 10
@@ -145,6 +164,7 @@ const getStatusText = (status: number | null) => {
   }
   return statusMap[status as keyof typeof statusMap];
 }
+
 const popupRef = ref();
 const handleRowClick = async (row: Study.PaperWorkRecord) => {
   uni.$ie.showLoading();
@@ -179,9 +199,10 @@ const loadData = async () => {
   });
   await Promise.all([queryBatch, queryClass, querySubject]);
   const queryCondition = getTeacherTestRecordCondition({}).then(res => {
-    const { buildStatus, batchId, classId, subjectId } = res.data;
+    const { buildType, buildStatus, batchId, classId, subjectId } = res.data;
     queryForm.value = {
-      buildStatus: buildStatus || buildTypeList.value[0].value,
+      buildType: buildType || buildTypeList.value[0].value,
+      buildStatus: buildStatus || buildStatusList.value[0].value,
       batchId: batchId || batchList.value[0].batchId,
       classId: classId || classList.value[0].classId,
       subjectId: subjectId || subjectList.value[0].subjectId,
@@ -207,12 +228,7 @@ const loadTestRecord = () => {
   }
   uni.$ie.showLoading();
   getTeacherTestRecord(params).then(res => {
-    // 根据类型过滤,保留总人数和指定类型的,没有类型时,显示所有类型
-    if (!queryForm.value.buildStatus) {
-      tableData.value = res.data;
-    } else {
-      tableData.value = res.data.filter(item => item.buildStatus === null || Number(item.buildStatus) === Number(queryForm.value.buildStatus));
-    }
+    tableData.value = res.data;
   }).finally(() => {
     uni.$ie.hideLoading();
   });

BIN
src/pagesStudy/static/image/icon-physics.png


BIN
src/pagesStudy/static/image/icon-politics.png


+ 2 - 2
src/types/study.ts

@@ -1,4 +1,4 @@
-import { EnumPaperWorkState, EnumReviewMode, EnumSimulatedRecordStatus } from "@/common/enum";
+import { EnumPaperBuildType, EnumPaperWorkState, EnumReviewMode, EnumSimulatedRecordStatus } from "@/common/enum";
 
 export interface TeachClass {
   classId: number;
@@ -83,7 +83,7 @@ export interface PaperWorkRecord {
 export interface PaperWorkRecordQuery {
   buildStatus: number | null;
   batchId: number | null;
-  buildType: number | null;
+  buildType: EnumPaperBuildType;
   classId: number | null;
   subjectId: number | null;
 }