Browse Source

曲目改版

yuanliang 7 months ago
parent
commit
ad75d5da40
2 changed files with 22 additions and 40 deletions
  1. 0 2
      components.d.ts
  2. 22 38
      src/views/music-library/music-sheet/modal/music-operationV2.tsx

+ 0 - 2
components.d.ts

@@ -15,7 +15,6 @@ declare module '@vue/runtime-core' {
     NBreadcrumb: typeof import('naive-ui')['NBreadcrumb']
     NBreadcrumbItem: typeof import('naive-ui')['NBreadcrumbItem']
     NButton: typeof import('naive-ui')['NButton']
-    NCheckbox: typeof import('naive-ui')['NCheckbox']
     NConfigProvider: typeof import('naive-ui')['NConfigProvider']
     NCountdown: typeof import('naive-ui')['NCountdown']
     NDialogProvider: typeof import('naive-ui')['NDialogProvider']
@@ -37,7 +36,6 @@ declare module '@vue/runtime-core' {
     NRadio: typeof import('naive-ui')['NRadio']
     NRadioGroup: typeof import('naive-ui')['NRadioGroup']
     NSpace: typeof import('naive-ui')['NSpace']
-    NSpin: typeof import('naive-ui')['NSpin']
     NTooltip: typeof import('naive-ui')['NTooltip']
     Recharge: typeof import('./src/components/Lockscreen/Recharge.vue')['default']
     RouterError: typeof import('./src/components/RouterError/RouterError.vue')['default']

+ 22 - 38
src/views/music-library/music-sheet/modal/music-operationV2.tsx

@@ -336,8 +336,7 @@ export default defineComponent({
       xmlFirstSpeed: null as any, // 第一个音轨速度
       partListNames: [] as any, // 所有音轨声部列表
       musicSheetCategories: [] as any,
-      musicSheetAccompanimentUrls: '' as any,
-      musicSheetAccompanimentUrlList: [] as any,
+      musicSheetAccompanimentUrl: null as any,
       instrumentData: [],
       instrumentList: [] as any,
       instrumentIdNameMap: new Map() as any,
@@ -452,7 +451,7 @@ export default defineComponent({
 
         try {
           //extConfigJson: {"repeatedBeats":0,"gradualTimes":{"75":"02:38:60","77":"02:43:39"}}
-          let audioPlayTypes = [] as any;
+          let audioPlayTypes = new Set() as any;
           let musicSheetSoundList = [];
           let musicSheetType = forms.musicSheetType;
 
@@ -460,7 +459,7 @@ export default defineComponent({
             let fSong = forms.fSongList[i]
             if (fSong.audioFileUrl || fSong.solmizationFileUrl) {
               musicSheetSoundList.push(fSong)
-              audioPlayTypes.push("SING")
+              audioPlayTypes.add("SING")
             }
           }
 
@@ -468,7 +467,7 @@ export default defineComponent({
           if (musicSheetType == 'SINGLE') {
             if (forms.isAllSubject) {
               if (forms.musicSheetSoundList_all_subject) {
-                audioPlayTypes.push("PLAY")
+                audioPlayTypes.add("PLAY")
                 musicSheetSoundList.push({
                   audioFileUrl: forms.musicSheetSoundList_all_subject,
                   musicSheetId: props.data.id,
@@ -480,7 +479,7 @@ export default defineComponent({
               }
             } else {
               if (forms.musicSheetSoundList_YZ.length > 0) {
-                audioPlayTypes.push("PLAY")
+                audioPlayTypes.add("PLAY")
                 forms.musicSheetSoundList_YZ.forEach((musicSheetSound: any) => {
                   if (forms.musicalInstrumentIdList.includes(musicSheetSound.musicalInstrumentId) && musicSheetSound.audioFileUrl) {
                     existYzFile = true
@@ -493,7 +492,7 @@ export default defineComponent({
               }
             }
           } else if (musicSheetType == 'CONCERT') {
-            audioPlayTypes.push("PLAY")
+            audioPlayTypes.add("PLAY")
             forms.musicSheetSoundList_YY.forEach((musicSheetSound: any) => {
               if (musicSheetSound.audioFileUrl && musicSheetSound.track != null) {
                 musicSheetSoundList.push({
@@ -509,6 +508,13 @@ export default defineComponent({
             return
           }
 
+          // 生成图片
+          if (!state.isAutoSave) {
+            state.isAutoSave = true
+            state.productOpen = true
+            return
+          }
+
           if (state.bSongFile) {
             forms.musicSheetAccompanimentList.push({
               musicSheetId: props.data.id,
@@ -517,11 +523,12 @@ export default defineComponent({
             })
           }
 
-          // 生成图片
-          if (!state.isAutoSave) {
-            state.isAutoSave = true
-            state.productOpen = true
-            return
+          if (state.musicSheetAccompanimentUrl) {
+            forms.musicSheetAccompanimentList.push({
+              musicSheetId: props.data.id,
+              audioFileUrl: state.musicSheetAccompanimentUrl,
+              audioPlayType: 'PLAY'
+            })
           }
 
 
@@ -532,7 +539,7 @@ export default defineComponent({
             appAuditFlag: forms.appAuditFlag,
             subjectIds: forms.isAllSubject ? "" : forms.subjectIds.join(','),
             remark: forms.remark,
-            audioPlayTypes: audioPlayTypes.join(','),
+            audioPlayTypes: Array.from(audioPlayTypes).join(','),
             musicalInstrumentIds: forms.isAllSubject ? "" : forms.musicalInstrumentIdList.join(','),
             composer: forms.composer,
             musicSheetType: forms.musicSheetType,
@@ -1102,8 +1109,7 @@ export default defineComponent({
             if (audioPlayType && audioPlayType == 'SING') {
               state.bSongFile = next.audioFileUrl;
             } else {
-              state.musicSheetAccompanimentUrlList.push(next.audioFileUrl)
-              forms.musicSheetAccompanimentList.push(next)
+              state.musicSheetAccompanimentUrl = next.audioFileUrl
             }
           })
 
@@ -1943,7 +1949,7 @@ export default defineComponent({
                       <UploadFile
                           disabled={state.previewMode}
                           size={30}
-                          v-model:imageList={state.musicSheetAccompanimentUrlList}
+                          v-model:fileList={state.musicSheetAccompanimentUrl}
                           tips="仅支持上传.mp3格式文件"
                           listType="image"
                           accept=".mp3"
@@ -1951,29 +1957,7 @@ export default defineComponent({
                           text="点击上传伴奏文件"
                           max={1}
                           desc={'上传伴奏文件'}
-                          onUpload:success={(file) => {
-                            state.musicSheetAccompanimentUrls = [state.musicSheetAccompanimentUrls, file.url].filter(Boolean).join(',')
-                            state.musicSheetAccompanimentUrlList = state.musicSheetAccompanimentUrls?.split(',').filter(Boolean)
-
-                            // 清除伴奏
-                            // forms.musicSheetAccompanimentList = forms.musicSheetAccompanimentList.filter((next: any) => {
-                            //   return next.audioPlayType == 'SING'
-                            // })
-                            forms.musicSheetAccompanimentList = []
-                            for (let i = 0; i < state.musicSheetAccompanimentUrlList.length; i++) {
-                              forms.musicSheetAccompanimentList.push({
-                                audioFileUrl: state.musicSheetAccompanimentUrlList[i],
-                                sortNumber: i + 1,
-                                audioPlayType: 'PLAY'
-                              })
-                            }
-                          }}
-                          onRemove={() => {
-                            state.musicSheetAccompanimentUrlList = []
-                            state.musicSheetAccompanimentUrls = ''
-                          }}
                           // onReadFileInputEventAsArrayBuffer={readFileInputEventAsArrayBuffer}
-                          multiple={true}
                       />
                     </NFormItemGi>
                 )}