|
@@ -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)
|
|
}
|
|
}
|
|
}
|
|
}
|