|
@@ -303,19 +303,13 @@ export default defineComponent({
|
|
|
isPlayBeat: true, // 是否播放节拍器
|
|
|
isUseSystemBeat: true, // 是否使用系统节拍器(0:否;1:是)
|
|
|
repeatedBeats: false, // 是否重复节拍时长
|
|
|
- evaluationStandard: 'AMPLITUDE', // 评分标准 节奏 AMPLITUDE 音准 FREQUENCY 分贝 DECIBELS
|
|
|
+ evaluationStandard: 'FREQUENCY', // 评分标准 节奏 AMPLITUDE 音准 FREQUENCY 分贝 DECIBELS
|
|
|
multiTracksSelection: [] as any, // 声轨
|
|
|
- musicSheetExtend: { // 所属人信息
|
|
|
- userId: 1,
|
|
|
- userName: '小王',
|
|
|
- musicSheetId: 1,
|
|
|
- applicationId: 1,
|
|
|
- organizationRoleId: 1,
|
|
|
- useApplicationIds: 1,
|
|
|
- },
|
|
|
+ musicSheetExtend: {} as any,//所属人信息
|
|
|
})
|
|
|
const state = reactive({
|
|
|
loading: false,
|
|
|
+ previewMode: false,//是否是预览模式
|
|
|
tagList: [...props.tagList] as any, // 标签列表
|
|
|
xmlFirstSpeed: null as any, // 第一个音轨速度
|
|
|
partListNames: [] as any, // 所有音轨声部列表
|
|
@@ -326,7 +320,7 @@ export default defineComponent({
|
|
|
instrumentList: [],
|
|
|
subjectList: [],
|
|
|
showMusicSheetOwnerDialog: false, //所属人弹框
|
|
|
- musicSheetOwnerData: {}, //所属人信息
|
|
|
+ // musicSheetOwnerData: {}, //所属人信息
|
|
|
multiTracks: null,
|
|
|
})
|
|
|
const gradualData = reactive({
|
|
@@ -568,6 +562,10 @@ export default defineComponent({
|
|
|
if (props.type === 'edit' || props.type === 'preview') {
|
|
|
const detail = props.data
|
|
|
try {
|
|
|
+ state.loading = true
|
|
|
+ if (props.type === 'preview') {
|
|
|
+ state.previewMode = true
|
|
|
+ }
|
|
|
const {data} = await musicSheetDetail({id: detail.id})
|
|
|
forms.audioType = data.audioType
|
|
|
forms.playMode = data.playMode
|
|
@@ -586,10 +584,6 @@ export default defineComponent({
|
|
|
forms.remark = data.remark
|
|
|
forms.status = data.status
|
|
|
forms.musicCategoryId = data.musicCategoryId
|
|
|
- forms.musicSheetSoundList = data.musicSheetSoundList || []
|
|
|
- forms.musicSheetSoundList.forEach((next: any) => {
|
|
|
- forms.multiTracksSelection.push(next.track)
|
|
|
- })
|
|
|
|
|
|
forms.musicSheetType = data.musicSheetType || "SINGLE"
|
|
|
forms.musicSheetAccompanimentList = data.musicSheetAccompanimentList
|
|
@@ -615,11 +609,24 @@ export default defineComponent({
|
|
|
(item: any) => item.length === 2
|
|
|
)
|
|
|
state.partListNames = getPartListNames(res?.data as any) as any
|
|
|
+
|
|
|
+ // 初始化音轨和原音
|
|
|
+ forms.musicSheetSoundList = data.musicSheetSoundList || []
|
|
|
+ forms.musicSheetSoundList.forEach((next: any) => {
|
|
|
+ forms.multiTracksSelection.push(next.track)
|
|
|
+ })
|
|
|
+ state.partListNames.forEach((item: any) => {
|
|
|
+ const tracks = forms.musicSheetSoundList.map((item: any) => item.track);
|
|
|
+ if (tracks.indexOf(item.label) <= -1) {
|
|
|
+ forms.musicSheetSoundList.push({audioFileUrl: '', track: item.label})
|
|
|
+ }
|
|
|
+ })
|
|
|
}
|
|
|
})
|
|
|
} catch (error) {
|
|
|
console.log(error)
|
|
|
}
|
|
|
+ state.loading = false
|
|
|
}
|
|
|
})
|
|
|
|
|
@@ -631,6 +638,7 @@ export default defineComponent({
|
|
|
ref={formsRef}
|
|
|
label-placement="left"
|
|
|
label-width="130"
|
|
|
+ disabled={state.previewMode}
|
|
|
>
|
|
|
<NAlert showIcon={false} style={{marginBottom: "12px"}}>曲目信息</NAlert>
|
|
|
<NGrid cols={2}>
|
|
@@ -686,6 +694,7 @@ export default defineComponent({
|
|
|
}
|
|
|
]}>
|
|
|
<UploadFile
|
|
|
+ disabled={state.previewMode}
|
|
|
accept=".jpg,.jpeg,.png"
|
|
|
tips="请上传大小1M以内的JPG、PNG图片"
|
|
|
size={1}
|
|
@@ -719,7 +728,6 @@ export default defineComponent({
|
|
|
placeholder="请选择曲目类型"
|
|
|
v-model:value={forms.musicSheetType}
|
|
|
options={getSelectDataFromObj(musicSheetType)}
|
|
|
- clearable
|
|
|
/>
|
|
|
</NFormItemGi>
|
|
|
|
|
@@ -736,8 +744,15 @@ export default defineComponent({
|
|
|
<NSelect
|
|
|
v-model:value={forms.sourceType}
|
|
|
options={getSelectDataFromObj(musicSheetSourceType)}
|
|
|
- clearable
|
|
|
placeholder="请选择作者属性"
|
|
|
+ onUpdateValue={() => {
|
|
|
+ // 发送变化,清理选择的所属人信息
|
|
|
+ forms.musicSheetExtend = {}
|
|
|
+ // forms.musicSheetExtend.userId = null
|
|
|
+ // forms.musicSheetExtend.userName = null
|
|
|
+ // forms.musicSheetExtend.applicationId = null
|
|
|
+ // forms.musicSheetExtend.organizationRoleId = null
|
|
|
+ }}
|
|
|
/>
|
|
|
</NFormItemGi>
|
|
|
|
|
@@ -753,21 +768,8 @@ export default defineComponent({
|
|
|
}
|
|
|
]}
|
|
|
>
|
|
|
- {/*<NButton*/}
|
|
|
- {/* v-model:value={forms.musicSheetExtend.userId}*/}
|
|
|
- {/* options={*/}
|
|
|
- {/* [*/}
|
|
|
- {/* {*/}
|
|
|
- {/* label: '小A',*/}
|
|
|
- {/* value: '1'*/}
|
|
|
- {/* }*/}
|
|
|
- {/* ] as any*/}
|
|
|
- {/* }*/}
|
|
|
- {/* filterable*/}
|
|
|
- {/* clearable*/}
|
|
|
- {/* placeholder="请选择曲目所属人"*/}
|
|
|
- {/*/>*/}
|
|
|
<NButton
|
|
|
+ disabled={state.previewMode || !forms.sourceType}
|
|
|
type="primary"
|
|
|
size="small"
|
|
|
text
|
|
@@ -842,13 +844,6 @@ export default defineComponent({
|
|
|
>
|
|
|
<NRadioGroup
|
|
|
v-model:value={forms.repeatedBeats}
|
|
|
- // onUpdateValue={(value: string | number | boolean) => {
|
|
|
- // if (value === 'MP3') {
|
|
|
- // forms.repeatedBeats = 'MP3'
|
|
|
- // } else {
|
|
|
- // forms.repeatedBeats = 'MIDI'
|
|
|
- // }
|
|
|
- // }}
|
|
|
>
|
|
|
<NRadio value={true}>是</NRadio>
|
|
|
<NRadio value={false}>否</NRadio>
|
|
@@ -866,9 +861,9 @@ export default defineComponent({
|
|
|
<NRadioGroup
|
|
|
v-model:value={forms.evaluationStandard}
|
|
|
>
|
|
|
- <NRadio value={'AMPLITUDE'}>节奏评分</NRadio>
|
|
|
- <NRadio value={'FREQUENCY'}>音准评分</NRadio>
|
|
|
- <NRadio value={'DECIBELS'}>分贝评分</NRadio>
|
|
|
+ <NRadio value={'FREQUENCY'}>标准评测</NRadio>
|
|
|
+ <NRadio value={'AMPLITUDE'}>打击乐(振幅)</NRadio>
|
|
|
+ <NRadio value={'DECIBELS'}>节奏(分贝)</NRadio>
|
|
|
</NRadioGroup>
|
|
|
</NFormItemGi>
|
|
|
</NGrid>
|
|
@@ -928,6 +923,7 @@ export default defineComponent({
|
|
|
]}
|
|
|
>
|
|
|
<UploadFile
|
|
|
+ disabled={state.previewMode}
|
|
|
size={10}
|
|
|
v-model:imageList={state.musicSheetAccompanimentUrlList}
|
|
|
tips="仅支持上传.mp3格式文件"
|
|
@@ -969,6 +965,7 @@ export default defineComponent({
|
|
|
]}
|
|
|
>
|
|
|
<UploadFile
|
|
|
+ disabled={state.previewMode}
|
|
|
size={10}
|
|
|
v-model:fileList={forms.midiFileUrl}
|
|
|
tips="仅支持上传.MIDI格式文件"
|
|
@@ -991,6 +988,7 @@ export default defineComponent({
|
|
|
]}
|
|
|
>
|
|
|
<UploadFile
|
|
|
+ disabled={state.previewMode}
|
|
|
size={10}
|
|
|
v-model:fileList={forms.xmlFileUrl}
|
|
|
tips="仅支持上传.xml格式文件"
|
|
@@ -1041,7 +1039,7 @@ export default defineComponent({
|
|
|
v-model:value={forms.musicalInstrumentIdList}
|
|
|
clearable
|
|
|
multiple
|
|
|
- maxTagCount={3}
|
|
|
+ maxTagCount={2}
|
|
|
/>
|
|
|
</NFormItemGi>
|
|
|
</NGrid>
|
|
@@ -1087,7 +1085,7 @@ export default defineComponent({
|
|
|
>
|
|
|
{state.partListNames.map((item: any, index: number) => (
|
|
|
<NGi>
|
|
|
- <NCheckbox value={item.value} label={item.label} onChange={() => {
|
|
|
+ <NCheckbox value={item.value} label={item.label} onUpdateChecked={() => {
|
|
|
console.log("forms.multiTracksSelection", forms.multiTracksSelection)
|
|
|
console.log("forms.musicSheetSoundList", forms.musicSheetSoundList)
|
|
|
}}/>
|
|
@@ -1140,9 +1138,9 @@ export default defineComponent({
|
|
|
<>
|
|
|
{forms.musicSheetSoundList.map((item: any, index: number) => (
|
|
|
<>
|
|
|
- {item.track?.toLocaleUpperCase?.() != 'COMMON' &&
|
|
|
+ {item.track?.toLocaleUpperCase?.() != 'COMMON' && forms.multiTracksSelection.indexOf(item.track) > -1 &&
|
|
|
<NGrid class={styles.audioSection}
|
|
|
- v-show={forms.multiTracksSelection.indexOf(item.track) > -1}
|
|
|
+ // v-show={forms.multiTracksSelection.indexOf(item.track) > -1}
|
|
|
>
|
|
|
<NFormItemGi
|
|
|
span={12}
|
|
@@ -1151,7 +1149,7 @@ export default defineComponent({
|
|
|
rule={[
|
|
|
{
|
|
|
// required: forms.multiTracksSelection.indexOf(forms.musicSheetSoundList[index].audioFileUrl) > -1,
|
|
|
- required: false,
|
|
|
+ required: true,
|
|
|
message: `请上传${
|
|
|
item.track ? item.track + '的' : '第' + (index + 1) + '个'
|
|
|
}原音`
|
|
@@ -1159,6 +1157,7 @@ export default defineComponent({
|
|
|
]}
|
|
|
>
|
|
|
<UploadFile
|
|
|
+ disabled={state.previewMode}
|
|
|
size={10}
|
|
|
v-model:fileList={item.audioFileUrl}
|
|
|
tips="仅支持上传.mp3/.aac格式文件"
|
|
@@ -1186,16 +1185,6 @@ export default defineComponent({
|
|
|
/>
|
|
|
</NFormItemGi>
|
|
|
)}
|
|
|
- {/*<NGi class={styles.btnRemove}>*/}
|
|
|
- {/* <NButton*/}
|
|
|
- {/* type="primary"*/}
|
|
|
- {/* text*/}
|
|
|
- {/* disabled={forms.musicSheetSoundList.length === 1}*/}
|
|
|
- {/* onClick={() => removeSys(index)}*/}
|
|
|
- {/* >*/}
|
|
|
- {/* 删除*/}
|
|
|
- {/* </NButton>*/}
|
|
|
- {/*</NGi>*/}
|
|
|
</NGrid>}
|
|
|
</>
|
|
|
))}
|
|
@@ -1241,11 +1230,17 @@ export default defineComponent({
|
|
|
title="所属人"
|
|
|
style={{width: '800px'}}
|
|
|
>
|
|
|
- <MusicSheetOwnerDialog onClose={() => {
|
|
|
- state.showMusicSheetOwnerDialog = false
|
|
|
- }} onChoseMusicSheetOwnerData={(musicSheetOwnerData) => {
|
|
|
- state.musicSheetOwnerData = musicSheetOwnerData
|
|
|
- }}
|
|
|
+ <MusicSheetOwnerDialog
|
|
|
+ sourceType={forms.sourceType}
|
|
|
+ onClose={() => {
|
|
|
+ state.showMusicSheetOwnerDialog = false
|
|
|
+ }}
|
|
|
+ onChoseMusicSheetOwnerData={(musicSheetOwnerData) => {
|
|
|
+ forms.musicSheetExtend = {
|
|
|
+ ...musicSheetOwnerData
|
|
|
+ }
|
|
|
+ console.log(forms.musicSheetExtend)
|
|
|
+ }}
|
|
|
/>
|
|
|
</NModal>
|
|
|
</div>
|