Browse Source

fix: 评测报告历史数据报错问题修改

TIANYONG 8 tháng trước cách đây
mục cha
commit
46152544c5
1 tập tin đã thay đổi với 14 bổ sung7 xóa
  1. 14 7
      src/page-instrument/view-evaluat-report/index.tsx

+ 14 - 7
src/page-instrument/view-evaluat-report/index.tsx

@@ -83,6 +83,7 @@ export default defineComponent({
       headerHide: false,
       musicalNotesPlayStats: [] as any[],
       userMeasureScore: {} as any,
+      isNewReport: true,
     });
     const getAPPData = async () => {
       const screenData = await isSpecialShapedScreen();
@@ -169,7 +170,7 @@ export default defineComponent({
       state.partIndex = Number(res?.data?.partIndex);
       let resultData = {} as any;
       try {
-        resultData = JSON.parse(res?.data?.scoreData);
+        resultData = eval('(' + res?.data?.scoreData + ')');
       } catch (error) {
         console.error("解析评测结果:", error);
       }
@@ -179,7 +180,7 @@ export default defineComponent({
       console.log('结果11',resultData)
       detailData.musicalNotesPlayStats = resultData.musicalNotesPlayStats?.notesData || [];
       detailData.userMeasureScore = resultData.userMeasureScore || {};
-
+      detailData.isNewReport = res.data.practiceTime ? true : false;
       scoreData.heardLevel = res.data?.heardLevel;
       scoreData.cadence = res.data?.cadence;
       scoreData.integrity = res.data?.integrity;
@@ -237,7 +238,8 @@ export default defineComponent({
     };
 
     const filterNotes = () => {
-      let include = ["RIGHT", "WRONG", "NOT_PLAYED"];
+      // let include = detailData.isNewReport ? ["RIGHT", "WRONG", "NOT_PLAYED"] : ["RIGHT", "WRONG", "NOT_PLAY"];
+      let include = ["RIGHT", "WRONG", "NOT_PLAYED"]
       if (scoreData.itemType === "intonation") {
         // 音准
         include.push(...["HIGH", "LOW"]);
@@ -249,12 +251,12 @@ export default defineComponent({
         include = ["SHORT", "NORMAL", "NOT_PLAYED"];
       }
       if (scoreData.itemType === "cadence") {
-        return detailData.musicalNotesPlayStats.filter((item: any) => include.includes(item.rhythmicAssessment.result));
+        return detailData.musicalNotesPlayStats.filter((item: any) => include.includes(item.rhythmicAssessment ? item.rhythmicAssessment.result : item.musicalErrorType));
       } else if (scoreData.itemType === "integrity") {
-        return detailData.musicalNotesPlayStats.filter((item: any) => include.includes(item.integrityAssessment?.result));
+        return detailData.musicalNotesPlayStats.filter((item: any) => include.includes(item.integrityAssessment ? item.integrityAssessment?.result : item.musicalErrorType));
       } else  {
         return detailData.musicalNotesPlayStats.filter((item: any) => {
-          let result = item.pitchAssessment.result;
+          let result = item.pitchAssessment ? item.pitchAssessment.result : item.musicalErrorType;
           // if (scoreData.itemType === "integrity") {
           //   result = result === "HIGH" || result === "LOW" || result === "WRONG" ? "RIGHT" : result;
           // }
@@ -277,7 +279,12 @@ export default defineComponent({
           useedid.value.push(active.id);
           const svgEl = document.getElementById("vf-" + active.id);
           const stemEl = document.getElementById("vf-" + active.id + "-stem");
-          let errType = scoreData.itemType === "cadence" ? note.rhythmicAssessment.result : scoreData.itemType === "integrity" ? note.integrityAssessment.result : note.pitchAssessment.result;
+          let errType = '';
+          if (detailData.isNewReport) {
+            errType = scoreData.itemType === "cadence" ? note.rhythmicAssessment.result : scoreData.itemType === "integrity" ? note.integrityAssessment.result : note.pitchAssessment.result;
+          } else {
+            errType = note.musicalErrorType
+          }
           // console.log(1111222,errType)
           /**
            * 新版小酷AI不需要在当前的音符复制出来一个音符,所以注释掉isNeedCopyElement和copySvg