Browse Source

样式调整

yuanliang 1 year ago
parent
commit
44acdfe0fd
1 changed files with 46 additions and 42 deletions
  1. 46 42
      src/views/music-library/music-sheet/modal/music-operationV2.tsx

+ 46 - 42
src/views/music-library/music-sheet/modal/music-operationV2.tsx

@@ -619,18 +619,18 @@ export default defineComponent({
           part = part || 'noPartName'
         }
         return {
-          value: part,
-          label: part
+          value: part.trim(),
+          label: part.trim()
         }
       })
 
       // 处理空数据
-      if (partListNames.length === 1 && forms.details.id && !partListNames[0].value) {
-        partListNames[0] = {
-          value: forms.details.multiTracksSelection,
-          label: forms.details.multiTracksSelection
-        }
-      }
+      // if (partListNames.length === 1 && forms.details.id && !partListNames[0].value) {
+      //   partListNames[0] = {
+      //     value: forms.details.multiTracksSelection,
+      //     label: forms.details.multiTracksSelection
+      //   }
+      // }
 
       partListNames = partListNames.filter((n: any) => n.value?.toLocaleUpperCase?.() != 'COMMON')
 
@@ -712,7 +712,7 @@ export default defineComponent({
         onPositiveClick: async () => {
           const sound = forms.musicSheetSoundList_YY[index]
           const track = sound.track
-          if (track) {
+          if (track != null) {
             const selectIndex = forms.multiTracksSelection.indexOf(track)
             if (selectIndex > -1) {
               forms.multiTracksSelection.splice(selectIndex, 1)
@@ -776,6 +776,33 @@ export default defineComponent({
       }
     }
 
+    const changeSubject = async (subjectIdList: []) => {
+      state.instrumentList = []
+      if (!subjectIdList || subjectIdList.length == 0) {
+        forms.musicalInstrumentIdList = []
+        return
+      }
+      let enableFlag = null;
+      if (props.type === 'add') {
+        enableFlag = true;
+      }
+      let tempMusicalInstrumentIdList = [] as any
+      const {data} = await musicalInstrumentPage({page: 1, rows: 999, subjectIds: subjectIdList, enableFlag: enableFlag});
+      data.rows.map((item: any) => {
+        tempMusicalInstrumentIdList.push(item.id + '')
+        state.instrumentList.push(
+            {
+              label: item.name,
+              value: item.id + '',
+              disabled: !item.enableFlag
+            }
+        )
+      })
+      forms.musicalInstrumentIdList = forms.musicalInstrumentIdList.filter((item: any) => {
+        return tempMusicalInstrumentIdList.includes(item)
+      })
+    }
+
     onMounted(async () => {
       state.loading = true
       if (props.type === 'preview') {
@@ -876,9 +903,8 @@ export default defineComponent({
               }
             })
           }
-          forms.musicalInstrumentIdList = data.musicalInstrumentIds
-              ? data.musicalInstrumentIds.split(',')
-              : []
+          forms.musicalInstrumentIdList = data.musicalInstrumentIds ? data.musicalInstrumentIds.split(',') : []
+          await changeSubject(forms.subjectIds)
           forms.musicCategoryId = data.musicCategoryId
           forms.audioType = data.audioType
           forms.isPlayBeat = data.isPlayBeat
@@ -939,12 +965,12 @@ export default defineComponent({
               state.partListNames = getPartListNames(res?.data as any) as any
 
               // 初始化音轨和原音
-              forms.multiTracksSelection = data.multiTracksSelection ? data.multiTracksSelection.split(',') : []
+              forms.multiTracksSelection = data.multiTracksSelection ? data.multiTracksSelection.trim().split(',') : ['']
 
               if (state.musicSheetSoundList.length === 1 && state.musicSheetSoundList[0].track === 'P1') {
                 forms.musicSheetSoundList_YY.push({
                   audioFileUrl: state.musicSheetSoundList[0].audioFileUrl, // 原音
-                  track: state.partListNames[0].value || null, // 轨道
+                  track: state.partListNames[0].value || '', // 轨道
                   audioPlayType: 'PLAY'
                 })
               } else {
@@ -952,7 +978,8 @@ export default defineComponent({
                 state.partListNames.forEach((item: any) => {
                   let audioFileUrl = null
                   state.musicSheetSoundList.forEach((next: any) => {
-                    if (next.track && next.track == item.value) {
+                    let track = next.track ? next.track : ''
+                    if (track.trim() == item.value) {
                       audioFileUrl = next.audioFileUrl
                     }
                   })
@@ -967,10 +994,10 @@ export default defineComponent({
                 // 处理没有声轨,但有原音
                 if (data.musicSheetType == 'CONCERT') {
                   state.musicSheetSoundList.forEach((next: any) => {
-                    if (!tracks.includes(next.track) && next.audioPlayType == 'PLAY') {
+                    if (next.track && !tracks.includes(next.track.trim()) && next.audioPlayType == 'PLAY') {
                       forms.musicSheetSoundList_YY.push({
                         audioFileUrl: next.audioFileUrl, // 原音
-                        track: next.track ? next.track : null, // 轨道
+                        track: next.track ? next.track.trim() : '', // 轨道
                         audioPlayType: 'PLAY'
                       })
                     }
@@ -1361,30 +1388,7 @@ export default defineComponent({
                           placeholder="请选择可用声部"
                           maxTagCount={2}
                           onUpdateValue={async (val: any) => {
-                            state.instrumentList = []
-                            if (val.length == 0) {
-                              forms.musicalInstrumentIdList = []
-                            } else {
-                              let tempMusicalInstrumentIdList = [] as any
-                              let enableFlag = null;
-                              if(props.type === 'add'){
-                                enableFlag = true;
-                              }
-                              const {data} = await musicalInstrumentPage({page: 1, rows: 999, subjectIds: val, enableFlag: enableFlag});
-                              data.rows.map((item: any) => {
-                                tempMusicalInstrumentIdList.push(item.id + '')
-                                state.instrumentList.push(
-                                    {
-                                      label: item.name,
-                                      value: item.id + '',
-                                      disabled: !item.enableFlag
-                                    }
-                                )
-                              })
-                              forms.musicalInstrumentIdList = forms.musicalInstrumentIdList.filter((item: any) => {
-                                return tempMusicalInstrumentIdList.includes(item)
-                              })
-                            }
+                            await changeSubject(val)
                           }}
                       />
                     </NFormItemGi>
@@ -1902,7 +1906,7 @@ export default defineComponent({
                                           path={`musicSheetSoundList_YY[${index}].track`}
                                           rule={[
                                             {
-                                              required: true,
+                                              required: false,
                                               message: '请选择所属轨道'
                                             }
                                           ]}