Browse Source

修改逻辑

lex-xin 8 months ago
parent
commit
4c5086c7c3
1 changed files with 17 additions and 14 deletions
  1. 17 14
      src/views/xiaoku-music/index.tsx

+ 17 - 14
src/views/xiaoku-music/index.tsx

@@ -509,14 +509,14 @@ export default defineComponent({
     });
 
     // 解析xml,获取分轨信息
-    const analyzeXml = async () => {
+    const analyzeXml = async (noChange?: boolean) => {
       const details: any = data.list[data.listActive];
       if (details?.musicSheetType === 'CONCERT') {
         if (details.xmlFileUrl) {
           const res = await fetch(details.xmlFileUrl).then(response =>
             response.text()
           );
-          filterTracks(res);
+          filterTracks(res, noChange);
         }
       } else {
         // if (details.xmlFileUrl) {
@@ -568,7 +568,7 @@ export default defineComponent({
     };
 
     // 过滤出能切换的分轨
-    const filterTracks = (xml: any) => {
+    const filterTracks = (xml: any, noChange: boolean) => {
       const xmlParse = new DOMParser().parseFromString(xml, 'text/xml');
       const partList =
         xmlParse
@@ -651,16 +651,19 @@ export default defineComponent({
       // data.showMusicImg = musicRenderType;
       const details = data.list[data.listActive];
       const { scoreType, isConvertibleScore } = details || {};
-      let musicImgType: 'staff' | 'first' | 'fixed' = 'first';
-      musicImgType =
-        scoreType === 'STAVE'
-          ? 'staff'
-          : scoreType === 'JIAN'
-          ? 'fixed'
-          : scoreType === 'FIRST'
-          ? 'first'
-          : 'first';
-      data.showMusicImg = musicImgType;
+      if(!noChange) {
+        let musicImgType: 'staff' | 'first' | 'fixed' = 'first';
+        musicImgType =
+          scoreType === 'STAVE'
+            ? 'staff'
+            : scoreType === 'JIAN'
+            ? 'fixed'
+            : scoreType === 'FIRST'
+            ? 'first'
+            : 'first';
+        data.showMusicImg = musicImgType;
+      }
+      
       data.showTransBtn = checkConverTible(isConvertibleScore, scoreType);
     };
     watch(
@@ -1005,7 +1008,7 @@ export default defineComponent({
                       trigger="hover"
                       v-model:value={data.musicInstrumentIndex}
                       onUpdate:value={async (val: any) => {
-                        await analyzeXml();
+                        await analyzeXml(true);
                         //
 
                         data.trackName =