|
@@ -210,19 +210,35 @@ export default defineComponent({
|
|
|
partIndex: 0,
|
|
|
partList: [] as any[]
|
|
|
})
|
|
|
- const getPartNames = async (xmlUrl: string) => {
|
|
|
- const partNames: any[] = []
|
|
|
- showLoadingToast('加载中...')
|
|
|
+ const getPartNames = async (item: any) => {
|
|
|
+ let partNames: any[] = []
|
|
|
+ // showLoadingToast('加载中...')
|
|
|
+ // try {
|
|
|
+ // const res = await fetch(xmlUrl).then((response) => response.text())
|
|
|
+ // const xml = new DOMParser().parseFromString(res, 'text/xml')
|
|
|
+ // let parts = Array.from(xml.getElementsByTagName('part-name'))
|
|
|
+ // parts = parts.filter((n) => !n.textContent?.toLocaleUpperCase()?.includes('COMMON'))
|
|
|
+ // for (let i = 0; i < parts.length; i++) {
|
|
|
+ // const name = getInstrumentName(parts[i].textContent || '')
|
|
|
+ // partNames.push({ text: name ? parts[i].textContent + `(${name})` : parts[i].textContent || '', value: i })
|
|
|
+ // }
|
|
|
+ // closeToast()
|
|
|
+ // } catch (error) {
|
|
|
+ // console.log(error)
|
|
|
+ // }
|
|
|
try {
|
|
|
- const res = await fetch(xmlUrl).then((response) => response.text())
|
|
|
- const xml = new DOMParser().parseFromString(res, 'text/xml')
|
|
|
- let parts = Array.from(xml.getElementsByTagName('part-name'))
|
|
|
- parts = parts.filter((n) => !n.textContent?.toLocaleUpperCase()?.includes('COMMON'))
|
|
|
- for (let i = 0; i < parts.length; i++) {
|
|
|
- const name = getInstrumentName(parts[i].textContent || '')
|
|
|
- partNames.push({ text: name ? parts[i].textContent + `(${name})` : parts[i].textContent || '', value: i })
|
|
|
- }
|
|
|
- closeToast()
|
|
|
+ const { data } = await request.get('/api-teacher/musicSheet/detail/' + item.id)
|
|
|
+ let partList = data.background || []
|
|
|
+ partList = partList.filter(
|
|
|
+ (item: any) => !item.track?.toLocaleUpperCase()?.includes('COMMON')
|
|
|
+ )
|
|
|
+ partNames = partList.map((item: any, index: number) => {
|
|
|
+ const instrumentName = getInstrumentName(item.track)
|
|
|
+ return {
|
|
|
+ text: item.track + (instrumentName ? `(${instrumentName})` : ''),
|
|
|
+ value: index
|
|
|
+ }
|
|
|
+ })
|
|
|
} catch (error) {
|
|
|
console.log(error)
|
|
|
}
|
|
@@ -236,7 +252,7 @@ export default defineComponent({
|
|
|
staffData.open = true
|
|
|
return Promise.resolve()
|
|
|
}
|
|
|
- staffData.musicXml[item.id] = await getPartNames(item.xmlFileUrl)
|
|
|
+ staffData.musicXml[item.id] = await getPartNames(item)
|
|
|
staffData.instrumentName = item.id
|
|
|
staffData.open = true
|
|
|
}
|