|  | @@ -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: '请选择所属轨道'
 | 
	
		
			
				|  |  |                                              }
 | 
	
		
			
				|  |  |                                            ]}
 |