|
@@ -552,6 +552,31 @@ export default defineComponent({
|
|
|
xmlPartList: [] as any[]
|
|
|
})
|
|
|
/** 渲染五线谱 */
|
|
|
+ // 长笛、单簧管、萨克斯、小号、长号、圆号、大号、上低音号
|
|
|
+ const sortList = {
|
|
|
+ 长笛: 1,
|
|
|
+ 单簧管: 2,
|
|
|
+ 中音单簧管: 3,
|
|
|
+ 低音单簧管: 4,
|
|
|
+ 高音萨克斯管: 5,
|
|
|
+ 中音萨克斯管: 6,
|
|
|
+ 次中音萨克斯管: 7,
|
|
|
+ 低音萨克斯管: 8,
|
|
|
+ 小号: 9,
|
|
|
+ 长号: 10,
|
|
|
+ 圆号: 11,
|
|
|
+ 大号: 12,
|
|
|
+ 上低音号: 13
|
|
|
+ }
|
|
|
+ const instrumentSort = (list: Array<any>) => {
|
|
|
+ list.sort((a, b) => {
|
|
|
+ return (
|
|
|
+ (sortList[getInstrumentName(a.track)] || 20) -
|
|
|
+ (sortList[getInstrumentName(b.track)] || 20)
|
|
|
+ )
|
|
|
+ })
|
|
|
+ return list
|
|
|
+ }
|
|
|
const renderStaff = async () => {
|
|
|
try {
|
|
|
if (musicDetail.value?.xmlFileUrl) {
|
|
@@ -589,6 +614,7 @@ export default defineComponent({
|
|
|
part.index = item.value
|
|
|
}
|
|
|
})
|
|
|
+ staffData.partList = instrumentSort(staffData.partList)
|
|
|
staffData.partXmlIndex = staffData.partList[0].index || 0
|
|
|
|
|
|
staffData.instrumentName = getInstrumentName(
|