浏览代码

feat: 轨迹图

zhangjie 6 月之前
父节点
当前提交
a5098de2c3
共有 1 个文件被更改,包括 21 次插入4 次删除
  1. 21 4
      src/features/student/studentInspect/MarkBody.vue

+ 21 - 4
src/features/student/studentInspect/MarkBody.vue

@@ -157,7 +157,7 @@ interface SliceImage {
 
 const { origImageUrls = "sliceUrls", onlyTrack = false } = defineProps<{
   origImageUrls?: "sheetUrls" | "sliceUrls";
-  onlyTrack: boolean;
+  onlyTrack?: boolean;
 }>();
 const emit = defineEmits(["error", "getIsMultComments", "getScrollStatus"]);
 
@@ -260,7 +260,6 @@ async function processImage() {
         : addTrackColorAttr(tList);
     })
     .flat();
-  store.setting.doubleTrack = trackLists.some((item) => item.isByMultMark);
 
   // 解析各试题答题区域以及评分
   const markDetailList = parseMarkDetailList();
@@ -302,8 +301,7 @@ async function processImage() {
 
   // 无答题卡,模式4
   if (!store.currentTask.cardData?.length) {
-    // 只有单评才展示summary
-    const summarys = store.setting.doubleTrack ? undefined : parseMode4Data();
+    const summarys = parseMode4Data();
     if (summarys && summarys.length) {
       sliceImagesWithTrackList[0].summarys = summarys;
     }
@@ -837,6 +835,25 @@ interface SummaryItem {
   markerName: string;
 }
 function parseMode4Data(): SummaryItem[] {
+  // 只有单评才展示summary
+  const isDoubleMark = (store.currentTask.questionList || []).some(
+    (question) => {
+      let userIds = question.trackList.map((track) => track.userId);
+      if (
+        !userIds.length &&
+        question.markerList &&
+        question.markerList.length
+      ) {
+        userIds = question.markerList
+          .filter((marker) => !marker.header)
+          .map((marker) => marker.userId);
+      }
+      const uids = new Set(userIds);
+      return uids.size === 2;
+    }
+  );
+  if (isDoubleMark) return [];
+
   return (store.currentTask.questionList || []).map((q) => {
     let markerName = "";
     if (q.headerTrack && q.headerTrack.length) {