Sfoglia il codice sorgente

添加总谱范唱

yuanliang 11 mesi fa
parent
commit
00d221d7bc

+ 50 - 3
src/views/music-library/music-sheet/modal/music-operationV2.tsx

@@ -328,6 +328,8 @@ export default defineComponent({
       isAllSubject: false, // 适用声部
       isAllSubject: false, // 适用声部
 
 
       fSongList:[] as any,// 范唱列表
       fSongList:[] as any,// 范唱列表
+      isScoreRender: true, // 总谱渲染
+      scoreAudioFileUrl: null as any, // 总谱文件
     })
     })
     const state = reactive({
     const state = reactive({
       loading: false,
       loading: false,
@@ -492,6 +494,7 @@ export default defineComponent({
             forms.musicSheetAccompanimentList.push({
             forms.musicSheetAccompanimentList.push({
               musicSheetId: props.data.id,
               musicSheetId: props.data.id,
               audioFileUrl: state.bSongFile,
               audioFileUrl: state.bSongFile,
+              scoreAudioFileUrl: (forms.multiTracksSelection.length > 1 && forms.isScoreRender && forms.scoreAudioFileUrl) ? forms.scoreAudioFileUrl : null,
               audioPlayType: 'SING'
               audioPlayType: 'SING'
             })
             })
           }
           }
@@ -1107,6 +1110,7 @@ export default defineComponent({
             let audioPlayType = next.audioPlayType;
             let audioPlayType = next.audioPlayType;
             if (audioPlayType && audioPlayType == 'SING') {
             if (audioPlayType && audioPlayType == 'SING') {
               state.bSongFile = next.audioFileUrl;
               state.bSongFile = next.audioFileUrl;
+              forms.scoreAudioFileUrl = next.scoreAudioFileUrl
             } else {
             } else {
               state.musicSheetAccompanimentUrl = next.audioFileUrl
               state.musicSheetAccompanimentUrl = next.audioFileUrl
             }
             }
@@ -1717,8 +1721,27 @@ export default defineComponent({
                   </NGrid>
                   </NGrid>
                 </NFormItemGi>
                 </NFormItemGi>
               </NGrid>
               </NGrid>
-
-
+              {forms.multiTracksSelection.length > 1 && (
+                  <NGrid cols={1}>
+                    <NFormItemGi
+                        label="总谱渲染"
+                        path="isScoreRender"
+                        rule={[
+                          {
+                            required: true,
+                            message: '请选择总谱渲染'
+                          }
+                        ]}
+                    >
+                      <NRadioGroup
+                          v-model:value={forms.isScoreRender}
+                      >
+                        <NRadio value={true}>支持</NRadio>
+                        <NRadio value={false}>不支持</NRadio>
+                      </NRadioGroup>
+                    </NFormItemGi>
+                  </NGrid>
+              )}
               <NAlert showIcon={false} style={{marginBottom: '12px'}}>
               <NAlert showIcon={false} style={{marginBottom: '12px'}}>
                 演唱文件
                 演唱文件
               </NAlert>
               </NAlert>
@@ -1780,7 +1803,6 @@ export default defineComponent({
                     rule={[
                     rule={[
                       {
                       {
                         required: false,
                         required: false,
-                        message: '请选择上传.MID格式文件'
                       }
                       }
                     ]}
                     ]}
                 >
                 >
@@ -1825,6 +1847,31 @@ export default defineComponent({
                     </NGrid>
                     </NGrid>
                 )
                 )
               })}
               })}
+              {forms.multiTracksSelection.length > 1 && forms.isScoreRender && (
+                  <NGrid cols={2} class={styles.audioSection}>
+                    <NFormItemGi
+                        label="总谱范唱"
+                        path="scoreRenderFile"
+                        rule={[
+                          {
+                            required: false,
+                          }
+                        ]}
+                    >
+                      <UploadFile
+                          desc={'上传总谱范唱'}
+                          disabled={state.previewMode}
+                          size={30}
+                          v-model:fileList={forms.scoreAudioFileUrl}
+                          tips="仅支持上传.mp3格式文件"
+                          listType="image"
+                          accept=".mp3"
+                          bucketName="cloud-coach"
+                          text="点击上传总谱范唱"
+                      />
+                    </NFormItemGi>
+                  </NGrid>
+              )}
               {forms.fSongList.length > 0 && forms.fSongList.map((item: any) => {
               {forms.fSongList.length > 0 && forms.fSongList.map((item: any) => {
                 return (
                 return (
                     <NGrid cols={2}>
                     <NGrid cols={2}>