ソースを参照

feat: 轨迹图为空时页面展示

zhangjie 11 ヶ月 前
コミット
20ac58f994

+ 9 - 0
src/features/student/studentInspect/MarkBody.vue

@@ -94,6 +94,15 @@
         </div>
       </div>
       <div v-else>未知数据</div>
+
+      <div v-if="!sliceImagesWithTrackList.length" class="mark-body-none">
+        <div>
+          <img src="@/assets/image-none-task.png" />
+          <p>
+            {{ store.message }}
+          </p>
+        </div>
+      </div>
     </div>
   </div>
 </template>

+ 29 - 23
src/features/student/studentTrack/StudentTrack.vue

@@ -66,33 +66,39 @@ async function updateTask() {
   let res = await getSingleStudentTaskOfStudentTrack(studentId);
 
   if (res.data.studentId) {
-    // 获取客观题选项信息
-    const objectiveRes = await studentObjectiveConfirmData(studentId);
-    const objectiveData = objectiveRes.data;
+    const rawTask = res.data;
 
-    const answerMap = {} as Task["answerMap"];
-    objectiveData.answers.forEach((item) => {
-      answerMap[`${item.mainNumber}_${item.subNumber}`] = {
-        answer: item.answer,
-        totalScore: item.totalScore,
-        score: item.score,
-        isRight: item.answer === item.standardAnswer,
-      };
-    });
+    if (!res.data.sheetUrls?.length) {
+      rawTask.sheetUrls = rawTask.sheetUrls || [];
+      store.message = "暂无数据";
+    } else {
+      // 获取客观题选项信息
+      const objectiveRes = await studentObjectiveConfirmData(studentId);
+      const objectiveData = objectiveRes.data;
 
-    // 获取题卡数据
-    const cardRes = await getSingleStudentCardData(studentId);
-    const cardData = cardRes.data?.content
-      ? JSON.parse(cardRes.data.content)
-      : { pages: [] };
+      const answerMap = {} as Task["answerMap"];
+      objectiveData.answers.forEach((item) => {
+        answerMap[`${item.mainNumber}_${item.subNumber}`] = {
+          answer: item.answer,
+          totalScore: item.totalScore,
+          score: item.score,
+          isRight: item.answer === item.standardAnswer,
+        };
+      });
 
-    const rawTask = res.data;
-    rawTask.answerMap = answerMap;
-    rawTask.recogDatas = objectiveData.sheetUrls.map((item) => item.recogData);
-    rawTask.cardData = cardData.pages;
+      // 获取题卡数据
+      const cardRes = await getSingleStudentCardData(studentId);
+      const cardData = cardRes.data?.content
+        ? JSON.parse(cardRes.data.content)
+        : { pages: [] };
+
+      rawTask.answerMap = answerMap;
+      rawTask.recogDatas = objectiveData.sheetUrls.map(
+        (item) => item.recogData
+      );
+      rawTask.cardData = cardData.pages;
+    }
 
-    rawTask.sheetUrls = rawTask.sheetUrls || [];
-    // rawTask.sheetUrls = ["/1-1.jpg", "/1-2.jpg"];
     rawTask.sliceUrls = [...rawTask.sheetUrls];
     rawTask.subject = {
       code: rawTask.courseCode,