|
@@ -101,69 +101,7 @@ export default defineComponent({
|
|
|
api_setStatusBarVisibility();
|
|
|
});
|
|
|
// console.log(route.params, query)
|
|
|
- /** 获取曲谱数据 */
|
|
|
- const getMusicInfo = (res: any) => {
|
|
|
- const index = state.partIndex;
|
|
|
- const musicInfo = {
|
|
|
- ...res.data,
|
|
|
- ...res.data.background[index],
|
|
|
- };
|
|
|
- // console.log("🚀 ~ musicInfo:", musicInfo);
|
|
|
- setState(musicInfo, index);
|
|
|
- setCustom();
|
|
|
- detailData.isLoading = false;
|
|
|
- };
|
|
|
-
|
|
|
- const setState = (data: any, index: number) => {
|
|
|
- // console.log("🚀 ~ data:", data)
|
|
|
- state.scrollContainer = "scrollContainer";
|
|
|
- state.detailId = data.id;
|
|
|
- state.xmlUrl = data.xmlFileUrl;
|
|
|
- state.partIndex = index;
|
|
|
- state.subjectId = data.musicSubject;
|
|
|
- state.categoriesId = data.categoriesId;
|
|
|
- state.categoriesName = data.musicTagNames;
|
|
|
- state.enableEvaluation = data.canEvaluate ? true : false;
|
|
|
- state.examSongId = data.id + "";
|
|
|
- state.examSongName = data.musicSheetName;
|
|
|
- // 解析扩展字段
|
|
|
- if (data.extConfigJson) {
|
|
|
- try {
|
|
|
- state.extConfigJson = JSON.parse(data.extConfigJson as string);
|
|
|
- } catch (error) {
|
|
|
- console.error("解析扩展字段错误:", error);
|
|
|
- }
|
|
|
- }
|
|
|
- state.isOpenMetronome = data.mp3Type === "MP3_METRONOME" ? true : false;
|
|
|
- state.needTick = data.isOpenMetronome;
|
|
|
- state.isShowFingering = data.showFingering ? true : false;
|
|
|
- state.music = data.audioFileUrl;
|
|
|
- state.accompany = data.metronomeUrl || data.metronomeUrl;
|
|
|
- state.midiUrl = data.midiUrl;
|
|
|
- state.parentCategoriesId = data.musicTag;
|
|
|
- state.playMode = data.audioType === "MP3" ? "MP3" : "MIDI";
|
|
|
- state.originSpeed = state.speed = data.speed;
|
|
|
- // console.log('速度',10,state.speed)
|
|
|
- state.track = data.track;
|
|
|
- state.enableNotation = data.notation ? true : false;
|
|
|
|
|
|
- // 映射声部ID
|
|
|
- state.subjectId = mappingVoicePart(state.subjectId as any, "ORCHESTRA");
|
|
|
- // console.log("🚀 ~ state.subjectId:", state.subjectId);
|
|
|
- // 是否打击乐
|
|
|
- state.isPercussion = state.subjectId == 23 || state.subjectId == 113 || state.subjectId == 121 || isRhythmicExercises();
|
|
|
-
|
|
|
- // 设置指法
|
|
|
- state.fingeringInfo = subjectFingering(state.subjectId);
|
|
|
- // console.log("🚀 ~ state.fingeringInfo:", state.fingeringInfo, state.subjectId, state.track)
|
|
|
- // state.isOpenPrepare = true
|
|
|
- };
|
|
|
-
|
|
|
- const setCustom = () => {
|
|
|
- if (state.extConfigJson.multitrack) {
|
|
|
- setGlobalData("multitrack", state.extConfigJson.multitrack);
|
|
|
- }
|
|
|
- };
|
|
|
|
|
|
onMounted(async () => {
|
|
|
state.isEvaluatReport = true;
|
|
@@ -197,6 +135,8 @@ export default defineComponent({
|
|
|
// 评测报告展示什么类型的谱面
|
|
|
state.isSingleLine = false;
|
|
|
scoreData.musicType = query.musicRenderType ? query.musicRenderType : resultData.musicType ? resultData.musicType : state.musicRenderType;
|
|
|
+ // 如果是打击乐,只显示节奏一栏,itemType需要修改为'cadence'
|
|
|
+ scoreData.itemType = state.isPercussion ? 'cadence' : 'intonation';
|
|
|
// @ts-ignore
|
|
|
state.musicRenderType = scoreData.musicType;
|
|
|
detailData.isLoading = false;
|
|
@@ -276,7 +216,7 @@ export default defineComponent({
|
|
|
active = allNote.value.find((item: any) => item.i === idx)
|
|
|
}
|
|
|
setTimeout(() => {
|
|
|
- if (useedid.value.includes(active.id)) {
|
|
|
+ if ( !active || useedid.value.includes(active.id) ) {
|
|
|
return;
|
|
|
}
|
|
|
useedid.value.push(active.id);
|