Browse Source

修复云练习详情跳转到云教练,声轨显示不一致

xml过滤common类型的问题
lex 1 year ago
parent
commit
a20e8c5074
1 changed files with 18 additions and 15 deletions
  1. 18 15
      src/tenant/music/music-detail/new-index.tsx

+ 18 - 15
src/tenant/music/music-detail/new-index.tsx

@@ -673,21 +673,24 @@ export default defineComponent({
           const res = await umiRequest.get(musicDetail.value?.xmlFileUrl, {
           const res = await umiRequest.get(musicDetail.value?.xmlFileUrl, {
             mode: 'cors'
             mode: 'cors'
           })
           })
-          const xmlParse = new DOMParser().parseFromString(res, 'text/xml')
-          const parts = xmlParse.getElementsByTagName('score-part')
-
-          const partList: any = []
-          for (let i = 0; i < parts.length; i++) {
-            const childDom = parts[i].children
-            for (let j = 0; j < childDom.length; j++) {
-              if (childDom[j].nodeName === 'part-name') {
-                partList.push({
-                  name: childDom[j].textContent,
-                  value: i
-                })
-              }
+          let partNames: string[] = []
+          const xml: any = new DOMParser().parseFromString(res, 'text/xml')
+          for (const item of xml.getElementsByTagName('part-name')) {
+            if (item.textContent) {
+              partNames.push(item.textContent)
             }
             }
           }
           }
+          partNames = partNames.filter(
+            (item: any) => !item?.toLocaleUpperCase()?.includes('COMMON')
+          )
+          const partList: any = []
+          for (let j = 0; j < partNames.length; j++) {
+            partList.push({
+              name: partNames[j],
+              value: j
+            })
+          }
+          // console.log(partList, 'parts', partNames)
           staffData.xmlPartList = partList
           staffData.xmlPartList = partList
         }
         }
 
 
@@ -707,7 +710,7 @@ export default defineComponent({
             part.index = item.value
             part.index = item.value
           }
           }
         })
         })
-        console.log(staffData.partList, '-staffData.partList')
+        // console.log(staffData.partList, '-staffData.partList')
         staffData.tempPartList = JSON.parse(JSON.stringify(staffData.partList))
         staffData.tempPartList = JSON.parse(JSON.stringify(staffData.partList))
         staffData.partList = instrumentSort(staffData.partList)
         staffData.partList = instrumentSort(staffData.partList)
         staffData.partXmlIndex = staffData.partList[0].index || 0
         staffData.partXmlIndex = staffData.partList[0].index || 0
@@ -742,7 +745,7 @@ export default defineComponent({
     const resetRenderPage = (type: string, xmlUrl: string) => {
     const resetRenderPage = (type: string, xmlUrl: string) => {
       const iframeRef: any = document.getElementById('staffIframeRef')
       const iframeRef: any = document.getElementById('staffIframeRef')
       if (iframeRef && iframeRef.contentWindow.renderXml) {
       if (iframeRef && iframeRef.contentWindow.renderXml) {
-        console.log('resetRenderPage')
+        // console.log('resetRenderPage')
         iframeRef.contentWindow.resetRenderPage(type, xmlUrl)
         iframeRef.contentWindow.resetRenderPage(type, xmlUrl)
       }
       }
     }
     }