yuanliang hai 1 ano
pai
achega
350e8e30ba
Modificáronse 1 ficheiros con 25 adicións e 21 borrados
  1. 25 21
      src/views/music-library/music-sheet/modal/music-operation.tsx

+ 25 - 21
src/views/music-library/music-sheet/modal/music-operation.tsx

@@ -475,7 +475,7 @@ export default defineComponent({
       const xmlParse = new DOMParser().parseFromString(xml, 'text/xml')
       const partList =
         xmlParse.getElementsByTagName('part-list')?.[0]?.getElementsByTagName('score-part') || []
-      const partListNames = Array.from(partList).map((item) => {
+      let partListNames = Array.from(partList).map((item) => {
         const part = item.getElementsByTagName('part-name')?.[0].textContent || ''
         return {
           value: part,
@@ -483,6 +483,10 @@ export default defineComponent({
         }
       })
 
+      partListNames = partListNames.filter(
+          (n: any) => n.value?.toLocaleUpperCase?.() != 'COMMON'
+      )
+
       if (partListNames.length > 0) {
         forms.musicSheetSoundList = forms.musicSheetSoundList.slice(0, partListNames.length)
       }
@@ -527,10 +531,10 @@ export default defineComponent({
 
     // 判断选择的音轨是否在选中
     const initPartsListStatus = (track: string): any => {
-      const _names = state.partListNames.filter(
-        (n: any) => n.value?.toLocaleUpperCase?.() != 'COMMON'
-      )
-      const partListNames = deepClone(_names) || []
+      // const _names = state.partListNames.filter(
+      //   (n: any) => n.value?.toLocaleUpperCase?.() != 'COMMON'
+      // )
+      const partListNames = deepClone(state.partListNames) || []
       partListNames.forEach((item: any) => {
         const index = forms.musicSheetSoundList.findIndex((ground: any) => item.value == ground.track)
         if (index > -1 && track == item.value) {
@@ -737,10 +741,23 @@ export default defineComponent({
               state.partListNames = getPartListNames(res?.data as any) as any
 
               // 初始化音轨和原音
-              forms.musicSheetSoundList = data.musicSheetSoundList || []
-              forms.musicSheetSoundList.forEach((next: any) => {
-                forms.multiTracksSelection.push(next.track)
+              forms.multiTracksSelection = data.multiTracksSelection?.split(',')||[]
+
+              const existSoundList = data.musicSheetSoundList || [];
+              state.partListNames.forEach((item: any) => {
+                let audioFileUrl;
+                existSoundList.forEach((next: any) => {
+                  if(next.track == item.value){
+                    audioFileUrl = next.audioFileUrl
+                  }
+                })
+                forms.musicSheetSoundList.push({
+                  audioFileUrl: audioFileUrl, // 原音
+                  track: item.value, // 轨道
+                })
               })
+
+
             }
           })
         } catch (error) {}
@@ -1394,19 +1411,6 @@ export default defineComponent({
                       )}
                   </>
                 ))}
-
-                <NButton
-                  type="primary"
-                  dashed
-                  block
-                  disabled={state.partListNames.length <= forms.musicSheetSoundList.length}
-                  style={{
-                    marginBottom: '24px'
-                  }}
-                  onClick={createSys}
-                >
-                  添加原音
-                </NButton>
               </>
             )}
           </NForm>