|
@@ -301,8 +301,8 @@ export default defineComponent({
|
|
|
musicSheetSoundList_all_subject: null, // 全部声部原音
|
|
|
// musicSheetCategoriesId: null,
|
|
|
status: false,
|
|
|
- musicSheetType: 'SINGLE', // 曲目类型
|
|
|
- sourceType: null as any, //来源类型/作者属性(PLATFORM: 平台; ORG: 机构; PERSON: 个人)
|
|
|
+ musicSheetType: 'CONCERT', // 曲目类型
|
|
|
+ sourceType: 'PLATFORM' as any, //来源类型/作者属性(PLATFORM: 平台; ORG: 机构; PERSON: 个人)
|
|
|
// userId: null, // 所属人
|
|
|
appAuditFlag: 0, // 是否审核版本
|
|
|
midiFileUrl: null, // 伴奏文件 MIDI文件(保留字段)
|
|
@@ -343,7 +343,7 @@ export default defineComponent({
|
|
|
subjectList: [] as any,
|
|
|
showMusicSheetOwnerDialog: false, //所属人弹框
|
|
|
// musicSheetOwnerData: {}, //所属人信息
|
|
|
- multiTracks: null,
|
|
|
+ multiTracks: null as any,
|
|
|
multiInstruments: null,
|
|
|
appData: [], // 应用列表
|
|
|
ownerName: null as any, // 所属人名称描述
|
|
@@ -412,11 +412,6 @@ export default defineComponent({
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (!state.isAutoSave) {
|
|
|
- state.isAutoSave = true
|
|
|
- state.productOpen = true
|
|
|
- return
|
|
|
- }
|
|
|
try {
|
|
|
//extConfigJson: {"repeatedBeats":0,"gradualTimes":{"75":"02:38:60","77":"02:43:39"}}
|
|
|
let audioPlayTypes = [] as any;
|
|
@@ -432,6 +427,7 @@ export default defineComponent({
|
|
|
audioPlayTypes.push("SING")
|
|
|
}
|
|
|
|
|
|
+ var existYzFile = false;
|
|
|
if (musicSheetType == 'SINGLE') {
|
|
|
if (forms.isAllSubject) {
|
|
|
if (forms.musicSheetSoundList_all_subject) {
|
|
@@ -442,19 +438,15 @@ export default defineComponent({
|
|
|
audioPlayType: 'PLAY'
|
|
|
})
|
|
|
}
|
|
|
- if (!state.fSongFile && !state.bSongFile && !forms.musicSheetSoundList_all_subject) {
|
|
|
- message.warning("请上传音频文件")
|
|
|
- return
|
|
|
+ if (forms.musicSheetSoundList_all_subject) {
|
|
|
+ existYzFile = true
|
|
|
}
|
|
|
} else {
|
|
|
- var existYzFile = false;
|
|
|
if (forms.musicSheetSoundList_YZ.length > 0) {
|
|
|
audioPlayTypes.push("PLAY")
|
|
|
forms.musicSheetSoundList_YZ.forEach((musicSheetSound: any) => {
|
|
|
- if (forms.musicalInstrumentIdList.includes(musicSheetSound.musicalInstrumentId)) {
|
|
|
- if (musicSheetSound.audioFileUrl != null) {
|
|
|
- existYzFile = true
|
|
|
- }
|
|
|
+ if (forms.musicalInstrumentIdList.includes(musicSheetSound.musicalInstrumentId) && musicSheetSound.audioFileUrl) {
|
|
|
+ existYzFile = true
|
|
|
musicSheetSoundList.push({
|
|
|
...musicSheetSound,
|
|
|
musicSheetId: props.data.id,
|
|
@@ -462,25 +454,23 @@ export default defineComponent({
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
- if (!state.fSongFile && !state.bSongFile && !existYzFile) {
|
|
|
- message.warning("请上传音频文件")
|
|
|
- return
|
|
|
- }
|
|
|
}
|
|
|
+ } else if (musicSheetType == 'CONCERT') {
|
|
|
+ audioPlayTypes.push("PLAY")
|
|
|
+ forms.musicSheetSoundList_YY.forEach((musicSheetSound: any) => {
|
|
|
+ if (musicSheetSound.audioFileUrl) {
|
|
|
+ musicSheetSoundList.push({
|
|
|
+ ...musicSheetSound,
|
|
|
+ musicSheetId: props.data.id,
|
|
|
+ })
|
|
|
+ existYzFile = true
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ if (!state.fSongFile && !state.bSongFile && !existYzFile) {
|
|
|
+ message.warning("请上传音频文件")
|
|
|
+ return
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
- if (musicSheetType == 'CONCERT' && forms.musicSheetSoundList_YY.length > 0) {
|
|
|
- audioPlayTypes.push("PLAY")
|
|
|
- forms.musicSheetSoundList_YY.forEach((musicSheetSound: any) => {
|
|
|
- if (musicSheetSound.audioFileUrl) {
|
|
|
- musicSheetSoundList.push({
|
|
|
- ...musicSheetSound,
|
|
|
- musicSheetId: props.data.id,
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
|
|
|
if (state.bSongFile) {
|
|
|
forms.musicSheetAccompanimentList.push({
|
|
@@ -490,7 +480,12 @@ export default defineComponent({
|
|
|
})
|
|
|
}
|
|
|
|
|
|
- //
|
|
|
+ // 生成图片
|
|
|
+ if (!state.isAutoSave) {
|
|
|
+ state.isAutoSave = true
|
|
|
+ state.productOpen = true
|
|
|
+ return
|
|
|
+ }
|
|
|
|
|
|
|
|
|
const obj = {
|
|
@@ -531,6 +526,7 @@ export default defineComponent({
|
|
|
isUseSingSystemBeat: forms.isUseSingSystemBeat,
|
|
|
isPlaySingBeat: forms.isPlaySingBeat,
|
|
|
isAllSubject: forms.isAllSubject,
|
|
|
+ musicSheetExtend: forms.sourceType == 'PLATFORM' ? null : forms.musicSheetExtend,
|
|
|
}
|
|
|
if (forms.audioType == 'MIDI') {
|
|
|
obj.musicSheetSoundList = []
|
|
@@ -550,6 +546,7 @@ export default defineComponent({
|
|
|
}
|
|
|
setTimeout(() => {
|
|
|
btnLoading.value = false
|
|
|
+ state.isAutoSave = false
|
|
|
}, 100)
|
|
|
})
|
|
|
}
|
|
@@ -566,35 +563,67 @@ export default defineComponent({
|
|
|
)
|
|
|
} catch (error) {
|
|
|
}
|
|
|
+ forms.musicSheetSoundList_YY = forms.musicSheetSoundList_YY.filter((item: any) => {
|
|
|
+ return (!item.track || !containOther(item.track) || (item.track?.toLocaleUpperCase?.() != 'COMMON' && forms.multiTracksSelection.includes(item.track)))
|
|
|
+ })
|
|
|
+
|
|
|
state.partListNames = getPartListNames(res?.target?.result as any) as any
|
|
|
// parseInstrumentAndSubject(res?.target?.result as any)
|
|
|
// 这里是如果没有当前音轨就重新写
|
|
|
- for (let j = 0; j < state.partListNames.length; j++) {
|
|
|
- if (!forms.musicSheetSoundList_YY[j]) {
|
|
|
- forms.musicSheetSoundList_YY.push({audioFileUrl: null, track: null})
|
|
|
+
|
|
|
+ let map = new Map<String, String>()
|
|
|
+ for (let i = 0; i < forms.musicSheetSoundList_YY.length; i++) {
|
|
|
+ let track = forms.musicSheetSoundList_YY[i].track;
|
|
|
+ if (track) {
|
|
|
+ map.set(track, forms.musicSheetSoundList_YY[i])
|
|
|
}
|
|
|
- forms.musicSheetSoundList_YY[j].track = state.partListNames[j].value
|
|
|
}
|
|
|
|
|
|
- // 循环添加所在音轨的原音
|
|
|
- for (
|
|
|
- let index = forms.musicSheetSoundList_YY.length;
|
|
|
- index < state.partListNames.length;
|
|
|
- index++
|
|
|
- ) {
|
|
|
- const part = state.partListNames[index].value
|
|
|
- const sysData = {
|
|
|
- ...forms.musicSheetSoundList_YY[0],
|
|
|
- track: part
|
|
|
+ let newMusicSheetSoundList = []
|
|
|
+ let tracks = [] as any
|
|
|
+ for (let j = 0; j < state.partListNames.length; j++) {
|
|
|
+ let track = state.partListNames[j].value;
|
|
|
+ if (map.has(track)) {
|
|
|
+ newMusicSheetSoundList.push(map.get(track))
|
|
|
+ } else {
|
|
|
+ newMusicSheetSoundList.push({audioFileUrl: null, track: track, musicalInstrumentId: null})
|
|
|
}
|
|
|
- if (!sysData.speed) {
|
|
|
- sysData.speed = state.xmlFirstSpeed
|
|
|
+ tracks.push(track)
|
|
|
+ if(!forms.multiTracksSelection.includes(track)) {
|
|
|
+ forms.multiTracksSelection.push(track)
|
|
|
}
|
|
|
- createSys(sysData)
|
|
|
}
|
|
|
|
|
|
+ for (let i = 0; i < forms.musicSheetSoundList_YY.length; i++) {
|
|
|
+ let track = forms.musicSheetSoundList_YY[i].track;
|
|
|
+ if (!track || !tracks.includes(track)) {
|
|
|
+ forms.musicSheetSoundList_YY[i].track = null
|
|
|
+ newMusicSheetSoundList.push(forms.musicSheetSoundList_YY[i])
|
|
|
+ }
|
|
|
+ }
|
|
|
+ forms.musicSheetSoundList_YY = newMusicSheetSoundList
|
|
|
+
|
|
|
+ forms.multiTracksSelection = forms.multiTracksSelection.filter((track: any) => {
|
|
|
+ return tracks.includes(track)
|
|
|
+ })
|
|
|
+ // 全选选中
|
|
|
+ state.multiTracks = 'all'
|
|
|
+
|
|
|
+ // 循环添加所在音轨的原音
|
|
|
+ // for (let index = forms.musicSheetSoundList.length; index < state.partListNames.length; index++) {
|
|
|
+ // const part = state.partListNames[index].value
|
|
|
+ // const sysData = {
|
|
|
+ // ...forms.musicSheetSoundList[0],
|
|
|
+ // track: part
|
|
|
+ // }
|
|
|
+ // if (!sysData.speed) {
|
|
|
+ // sysData.speed = state.xmlFirstSpeed
|
|
|
+ // }
|
|
|
+ // createSys(sysData)
|
|
|
+ // }
|
|
|
+
|
|
|
if (forms.musicSheetSoundList_YY.length == 0) {
|
|
|
- forms.musicSheetSoundList_YY.push({audioFileUrl: '', track: ''})
|
|
|
+ forms.musicSheetSoundList_YY.push({ audioFileUrl: '', track: '' })
|
|
|
}
|
|
|
}
|
|
|
xmlRead.readAsText(file)
|
|
@@ -609,6 +638,12 @@ export default defineComponent({
|
|
|
return false
|
|
|
}
|
|
|
|
|
|
+ const validSoundNum = () => {
|
|
|
+ return forms.musicSheetSoundList_YY.filter((item: any) => {
|
|
|
+ return (!item.track || !containOther(item.track) || (item.track?.toLocaleUpperCase?.() != 'COMMON' && forms.multiTracksSelection.includes(item.track)))
|
|
|
+ }).length;
|
|
|
+ }
|
|
|
+
|
|
|
const parseInstrumentAndSubject = (xml: any) => {
|
|
|
if (!xml) return
|
|
|
const xmlParse = new DOMParser().parseFromString(xml, 'text/xml')
|
|
@@ -617,7 +652,8 @@ export default defineComponent({
|
|
|
const instrumentEle = xmlParse.getElementsByTagName('virtual-instrument')
|
|
|
for (let index = 0; index < instrumentEle.length; index++) {
|
|
|
const note = instrumentEle[index]
|
|
|
- const instrumentCode = note.getElementsByTagName('virtual-name')?.[0]?.textContent || ''
|
|
|
+ let instrumentCode = note.getElementsByTagName('virtual-name')?.[0]?.textContent || ''
|
|
|
+ instrumentCode = instrumentCode.toLocaleLowerCase().trim()
|
|
|
if (instrumentCode && !instrumentCodeList.includes(instrumentCode)) {
|
|
|
instrumentCodeList.push(instrumentCode)
|
|
|
}
|
|
@@ -647,7 +683,9 @@ export default defineComponent({
|
|
|
// })
|
|
|
const codeIdMap = new Map<string, string>()
|
|
|
state.instrumentData.forEach((data: any) => {
|
|
|
- codeIdMap.set(data.code, data.id + '')
|
|
|
+ if (!data.disabled) {
|
|
|
+ codeIdMap.set(data.code.toLocaleLowerCase().trim(), data.id + '')
|
|
|
+ }
|
|
|
})
|
|
|
forms.musicalInstrumentIdList = []
|
|
|
instrumentCodeList.forEach((code: string) => {
|
|
@@ -669,14 +707,24 @@ export default defineComponent({
|
|
|
const partList: any =
|
|
|
xmlParse.getElementsByTagName('part-list')?.[0]?.getElementsByTagName('score-part') || []
|
|
|
let partListNames = Array.from(partList).map((item: any) => {
|
|
|
- let part = item.getElementsByTagName('part-name')?.[0]?.textContent || ''
|
|
|
+ let part = item.getElementsByTagName('part-name')?.[0]
|
|
|
// evxml没有分轨,需要手动设置一个默认的名称,用于上传原音
|
|
|
- if (forms.isEvxml) {
|
|
|
- part = part || 'noPartName'
|
|
|
+ // if (forms.isEvxml) {
|
|
|
+ // part = part || 'noPartName'
|
|
|
+ // }
|
|
|
+ // 优先解析声轨,没有就取id值
|
|
|
+ let track = ''
|
|
|
+ if (part) {
|
|
|
+ track = part.textContent || ''
|
|
|
+ } else {
|
|
|
+ let id = item.getAttribute('id')
|
|
|
+ if (id) {
|
|
|
+ track = id
|
|
|
+ }
|
|
|
}
|
|
|
return {
|
|
|
- value: part.trim(),
|
|
|
- label: part.trim()
|
|
|
+ value: track.trim(),
|
|
|
+ label: track.trim()
|
|
|
}
|
|
|
})
|
|
|
|
|
@@ -690,9 +738,9 @@ export default defineComponent({
|
|
|
|
|
|
partListNames = partListNames.filter((n: any) => n.value?.toLocaleUpperCase?.() != 'COMMON')
|
|
|
|
|
|
- if (partListNames.length > 0) {
|
|
|
- forms.musicSheetSoundList_YY = forms.musicSheetSoundList_YY.slice(0, partListNames.length)
|
|
|
- }
|
|
|
+ // if (partListNames.length > 0) {
|
|
|
+ // forms.musicSheetSoundList = forms.musicSheetSoundList.slice(0, partListNames.length)
|
|
|
+ // }
|
|
|
|
|
|
state.xmlFirstSpeed = xmlParse.getElementsByTagName('per-minute')?.[0]?.textContent || ''
|
|
|
if (!forms.playSpeed) {
|
|
@@ -737,7 +785,7 @@ export default defineComponent({
|
|
|
// 反显声部
|
|
|
const showBackSubject = async (musicalInstrumentIdList: []) => {
|
|
|
try {
|
|
|
- const {data} = await subjectPage({
|
|
|
+ const { data } = await subjectPage({
|
|
|
page: 1,
|
|
|
rows: 999,
|
|
|
musicalInstrumentIdList: musicalInstrumentIdList
|
|
@@ -767,15 +815,21 @@ export default defineComponent({
|
|
|
negativeText: '取消',
|
|
|
onPositiveClick: async () => {
|
|
|
const sound = forms.musicSheetSoundList_YY[index]
|
|
|
- const track = sound.track
|
|
|
- if (track != null) {
|
|
|
- const selectIndex = forms.multiTracksSelection.indexOf(track)
|
|
|
- if (selectIndex > -1) {
|
|
|
- forms.multiTracksSelection.splice(selectIndex, 1)
|
|
|
- }
|
|
|
+ let track = sound.track
|
|
|
+ // if (!track) {
|
|
|
+ // track = ''
|
|
|
+ // }
|
|
|
+ // if (track) {
|
|
|
+ const selectIndex = forms.multiTracksSelection.indexOf(track)
|
|
|
+ if (selectIndex > -1) {
|
|
|
+ forms.multiTracksSelection.splice(selectIndex, 1)
|
|
|
} else {
|
|
|
forms.musicSheetSoundList_YY.splice(index, 1)
|
|
|
}
|
|
|
+
|
|
|
+ if (state.multiTracks == 'all' && state.partListNames.length != forms.multiTracksSelection.length) {
|
|
|
+ state.multiTracks = null
|
|
|
+ }
|
|
|
}
|
|
|
})
|
|
|
}
|
|
@@ -802,12 +856,13 @@ export default defineComponent({
|
|
|
forms.multiTracksSelection = []
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
const setOwnerName = () => {
|
|
|
if (forms.sourceType == 'PLATFORM') {
|
|
|
state.ownerName = ''
|
|
|
return
|
|
|
}
|
|
|
- if (!forms.musicSheetExtend || !forms.sourceType || !forms.musicSheetExtend?.userId) {
|
|
|
+ if (!forms.sourceType || !forms.musicSheetExtend?.userId) {
|
|
|
return
|
|
|
}
|
|
|
const appId = forms.musicSheetExtend.applicationId
|
|
@@ -832,6 +887,19 @@ export default defineComponent({
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ // 声轨数据兼容
|
|
|
+ const formatTrack = (track: string) => {
|
|
|
+ if (!track) {
|
|
|
+ return '';
|
|
|
+ }
|
|
|
+ const trim = track.trim().toUpperCase();
|
|
|
+ // 导入后的脏数据兼容
|
|
|
+ if (trim == 'P1' || trim == 'NULL') {
|
|
|
+ return '';
|
|
|
+ }
|
|
|
+ return track.trim();
|
|
|
+ }
|
|
|
+
|
|
|
const changeSubject = async (subjectIdList: []) => {
|
|
|
state.instrumentList = []
|
|
|
if (!subjectIdList || subjectIdList.length == 0) {
|
|
@@ -958,6 +1026,10 @@ export default defineComponent({
|
|
|
forms.subjectIds.push(subjectId)
|
|
|
}
|
|
|
})
|
|
|
+ state.subjectList = state.subjectList.filter((subject: any) => {
|
|
|
+ return (!subject.disabled || subjectIds.includes(subject.value));
|
|
|
+ })
|
|
|
+
|
|
|
}
|
|
|
forms.musicalInstrumentIdList = data.musicalInstrumentIds ? data.musicalInstrumentIds.split(',') : []
|
|
|
await changeSubject(forms.subjectIds)
|
|
@@ -1032,36 +1104,52 @@ export default defineComponent({
|
|
|
let names = state.partListNames.map((next: any) => next.label)
|
|
|
forms.multiTracksSelection = names.filter((next: any) => forms.multiTracksSelection.includes(next.toLocaleUpperCase()))
|
|
|
|
|
|
- if (state.musicSheetSoundList.length === 1 && state.musicSheetSoundList[0].track === 'P1') {
|
|
|
+ const existSoundList = data.musicSheetSoundList ? data.musicSheetSoundList : []
|
|
|
+ // 如果只有一个原音文件,并且原音没有对应声轨,取xml解析中的第一个声轨绑定当当前原音
|
|
|
+ if (existSoundList.length === 1 && !formatTrack(existSoundList[0].track)) {
|
|
|
+ let track = state.partListNames.length > 0 ? state.partListNames[0].value : null;
|
|
|
forms.musicSheetSoundList_YY.push({
|
|
|
- audioFileUrl: state.musicSheetSoundList[0].audioFileUrl, // 原音
|
|
|
- track: state.partListNames[0].value || '', // 轨道
|
|
|
+ audioFileUrl: existSoundList[0].audioFileUrl, // 原音
|
|
|
+ musicalInstrumentId: existSoundList[0].musicalInstrumentId,
|
|
|
+ track: track, // 轨道
|
|
|
audioPlayType: 'PLAY'
|
|
|
})
|
|
|
+ if (track && !forms.multiTracksSelection.includes(track)) {
|
|
|
+ forms.multiTracksSelection.push(track)
|
|
|
+ }
|
|
|
} else {
|
|
|
const tracks = [] as any
|
|
|
state.partListNames.forEach((item: any) => {
|
|
|
let audioFileUrl = null
|
|
|
- state.musicSheetSoundList.forEach((next: any) => {
|
|
|
- let track = next.track ? next.track : ''
|
|
|
- if (track.trim() == item.value) {
|
|
|
+ let musicalInstrumentId = null
|
|
|
+ existSoundList.forEach((next: any) => {
|
|
|
+ if (!next.track || next.track.trim() == '') {
|
|
|
+ next.track = ''
|
|
|
+ }
|
|
|
+ if (next.track == item.value) {
|
|
|
audioFileUrl = next.audioFileUrl
|
|
|
+ musicalInstrumentId = next.musicalInstrumentId
|
|
|
}
|
|
|
})
|
|
|
forms.musicSheetSoundList_YY.push({
|
|
|
audioFileUrl: audioFileUrl, // 原音
|
|
|
- track: item.value, // 轨道
|
|
|
- audioPlayType: 'PLAY'
|
|
|
+ musicalInstrumentId: musicalInstrumentId, // 乐器
|
|
|
+ track: item.value // 轨道
|
|
|
})
|
|
|
tracks.push(item.value)
|
|
|
})
|
|
|
|
|
|
+ if (tracks.length == forms.multiTracksSelection.length) {
|
|
|
+ state.multiTracks = 'all'
|
|
|
+ }
|
|
|
+
|
|
|
// 处理没有声轨,但有原音
|
|
|
if (data.musicSheetType == 'CONCERT') {
|
|
|
state.musicSheetSoundList.forEach((next: any) => {
|
|
|
if (next.track && !tracks.includes(next.track.trim()) && next.audioPlayType == 'PLAY') {
|
|
|
forms.musicSheetSoundList_YY.push({
|
|
|
audioFileUrl: next.audioFileUrl, // 原音
|
|
|
+ musicalInstrumentId: next.musicalInstrumentId,
|
|
|
track: next.track ? next.track.trim() : '', // 轨道
|
|
|
audioPlayType: 'PLAY'
|
|
|
})
|
|
@@ -1078,9 +1166,9 @@ export default defineComponent({
|
|
|
state.subjectList = state.subjectList.filter((next: any) => {
|
|
|
return next.enableFlag == true
|
|
|
})
|
|
|
- // state.instrumentList = state.instrumentList.filter((next: any) => {
|
|
|
- // return next.enableFlag == true
|
|
|
- // })
|
|
|
+ state.instrumentList = state.instrumentList.filter((next: any) => {
|
|
|
+ return next.enableFlag == true
|
|
|
+ })
|
|
|
}
|
|
|
state.loading = false
|
|
|
})
|
|
@@ -1143,7 +1231,7 @@ export default defineComponent({
|
|
|
path="musicCover"
|
|
|
rule={[
|
|
|
{
|
|
|
- required: true,
|
|
|
+ required: false,
|
|
|
message: '请上传曲目封面',
|
|
|
trigger: ['input', 'blur']
|
|
|
}
|
|
@@ -1372,9 +1460,9 @@ export default defineComponent({
|
|
|
text="点击上传XML文件"
|
|
|
onReadFileInputEventAsArrayBuffer={readFileInputEventAsArrayBuffer}
|
|
|
onRemove={() => {
|
|
|
- forms.multiTracksSelection = []
|
|
|
- state.partListNames = []
|
|
|
- forms.musicSheetSoundList_YY = []
|
|
|
+ // forms.multiTracksSelection = []
|
|
|
+ // state.partListNames = []
|
|
|
+ // forms.musicSheetSoundList_YY = []
|
|
|
// forms.musicalInstrumentIdList = []
|
|
|
// forms.subjectIds = []
|
|
|
}}
|
|
@@ -1475,6 +1563,7 @@ export default defineComponent({
|
|
|
v-model:value={forms.musicalInstrumentIdList}
|
|
|
clearable
|
|
|
multiple
|
|
|
+ filterable
|
|
|
maxTagCount={2}
|
|
|
onUpdateValue={async (value: any) => {
|
|
|
}}
|
|
@@ -1508,9 +1597,7 @@ export default defineComponent({
|
|
|
rule={[
|
|
|
{
|
|
|
required: true,
|
|
|
- message: `请选择${
|
|
|
- forms.musicSheetType === 'SINGLE' ? '页面渲染声轨' : '用户可切换声轨'
|
|
|
- }`,
|
|
|
+ message: `请选择${forms.musicSheetType === 'SINGLE' ? '页面渲染声轨' : '用户可切换声轨'}`,
|
|
|
trigger: 'change',
|
|
|
type: 'array'
|
|
|
}
|
|
@@ -1540,7 +1627,15 @@ export default defineComponent({
|
|
|
}
|
|
|
]}
|
|
|
>
|
|
|
- <NCheckboxGroup v-model:value={forms.multiTracksSelection}>
|
|
|
+ <NCheckboxGroup v-model:value={forms.multiTracksSelection}
|
|
|
+ onUpdateValue={(val: any) => {
|
|
|
+ if (state.partListNames.length != val.length) {
|
|
|
+ state.multiTracks = null
|
|
|
+ } else {
|
|
|
+ state.multiTracks = 'all'
|
|
|
+ }
|
|
|
+ }}
|
|
|
+ >
|
|
|
<NGrid yGap={2} cols={4}>
|
|
|
{state.partListNames.map((item: any) => (
|
|
|
<NGi>
|
|
@@ -2002,10 +2097,14 @@ export default defineComponent({
|
|
|
)
|
|
|
}
|
|
|
|
|
|
- if (value && !forms.multiTracksSelection.includes(value)) {
|
|
|
+ if (value != null && !forms.multiTracksSelection.includes(value)) {
|
|
|
forms.multiTracksSelection.push(value)
|
|
|
}
|
|
|
item.track = value
|
|
|
+
|
|
|
+ if (state.partListNames.length == forms.multiTracksSelection.length) {
|
|
|
+ state.multiTracks = 'all'
|
|
|
+ }
|
|
|
}}
|
|
|
/>
|
|
|
</NFormItemGi>
|
|
@@ -2077,6 +2176,9 @@ export default defineComponent({
|
|
|
preset="dialog"
|
|
|
closeOnEsc={false}
|
|
|
maskClosable={false}
|
|
|
+ onClose={()=> {
|
|
|
+ state.isAutoSave = false
|
|
|
+ }}
|
|
|
showIcon={false}
|
|
|
>
|
|
|
<MusicCreateImg
|
|
@@ -2088,14 +2190,14 @@ export default defineComponent({
|
|
|
forms.musicImg = item.musicImg
|
|
|
forms.musicFirstImg = item.musicFirstImg
|
|
|
forms.musicJianImg = item.musicJianImg
|
|
|
- onSubmit()
|
|
|
+ await onSubmit()
|
|
|
} catch (e: any) {
|
|
|
//
|
|
|
console.log(e, 'e')
|
|
|
}
|
|
|
- setTimeout(() => {
|
|
|
- state.isAutoSave = false
|
|
|
- }, 50)
|
|
|
+ // setTimeout(() => {
|
|
|
+ // state.isAutoSave = false
|
|
|
+ // }, 50)
|
|
|
}}
|
|
|
/>
|
|
|
</NModal>
|