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