|
@@ -370,7 +370,7 @@ export default defineComponent({
|
|
musicTag: '-1',
|
|
musicTag: '-1',
|
|
multiTracksSelection: forms.multiTracksSelection.join(','),
|
|
multiTracksSelection: forms.multiTracksSelection.join(','),
|
|
musicSheetSoundList: forms.musicSheetSoundList.filter((next: any) => {
|
|
musicSheetSoundList: forms.musicSheetSoundList.filter((next: any) => {
|
|
- return !!next.audioFileUrl && forms.multiTracksSelection.includes(next.track)
|
|
|
|
|
|
+ return !!next.audioFileUrl && (!next.track || forms.multiTracksSelection.includes(next.track))
|
|
}),
|
|
}),
|
|
musicalInstrumentIds: forms.musicalInstrumentIdList.join(','),
|
|
musicalInstrumentIds: forms.musicalInstrumentIdList.join(','),
|
|
extConfigJson: JSON.stringify({
|
|
extConfigJson: JSON.stringify({
|
|
@@ -522,18 +522,18 @@ export default defineComponent({
|
|
part = part || 'noPartName'
|
|
part = part || 'noPartName'
|
|
}
|
|
}
|
|
return {
|
|
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')
|
|
partListNames = partListNames.filter((n: any) => n.value?.toLocaleUpperCase?.() != 'COMMON')
|
|
|
|
|
|
@@ -544,7 +544,7 @@ export default defineComponent({
|
|
state.xmlFirstSpeed = xmlParse.getElementsByTagName('per-minute')?.[0]?.textContent || ''
|
|
state.xmlFirstSpeed = xmlParse.getElementsByTagName('per-minute')?.[0]?.textContent || ''
|
|
if (!forms.playSpeed) {
|
|
if (!forms.playSpeed) {
|
|
if (state.xmlFirstSpeed) {
|
|
if (state.xmlFirstSpeed) {
|
|
- forms.playSpeed = Number.parseInt(state.xmlFirstSpeed)
|
|
|
|
|
|
+ forms.playSpeed = Number.parseFloat(state.xmlFirstSpeed)
|
|
} else {
|
|
} else {
|
|
// 速度默认给100
|
|
// 速度默认给100
|
|
forms.playSpeed = 100
|
|
forms.playSpeed = 100
|
|
@@ -613,15 +613,18 @@ export default defineComponent({
|
|
negativeText: '取消',
|
|
negativeText: '取消',
|
|
onPositiveClick: async () => {
|
|
onPositiveClick: async () => {
|
|
const sound = forms.musicSheetSoundList[index]
|
|
const sound = forms.musicSheetSoundList[index]
|
|
- const track = sound.track
|
|
|
|
- if (track) {
|
|
|
|
|
|
+ let track = sound.track
|
|
|
|
+ if (!track) {
|
|
|
|
+ track = ''
|
|
|
|
+ }
|
|
|
|
+ // if (track) {
|
|
const selectIndex = forms.multiTracksSelection.indexOf(track)
|
|
const selectIndex = forms.multiTracksSelection.indexOf(track)
|
|
if (selectIndex > -1) {
|
|
if (selectIndex > -1) {
|
|
forms.multiTracksSelection.splice(selectIndex, 1)
|
|
forms.multiTracksSelection.splice(selectIndex, 1)
|
|
}
|
|
}
|
|
- } else {
|
|
|
|
- forms.musicSheetSoundList.splice(index, 1)
|
|
|
|
- }
|
|
|
|
|
|
+ // } else {
|
|
|
|
+ // forms.musicSheetSoundList.splice(index, 1)
|
|
|
|
+ // }
|
|
}
|
|
}
|
|
})
|
|
})
|
|
}
|
|
}
|
|
@@ -741,7 +744,7 @@ export default defineComponent({
|
|
forms.name = data.name
|
|
forms.name = data.name
|
|
// forms.musicTag = data.musicTag?.split(',')
|
|
// forms.musicTag = data.musicTag?.split(',')
|
|
forms.composer = data.composer
|
|
forms.composer = data.composer
|
|
- forms.playSpeed = data.playSpeed
|
|
|
|
|
|
+ forms.playSpeed = data.playSpeed ? Number.parseFloat(data.playSpeed) : 100
|
|
// forms.showFingering = Number(data.showFingering)
|
|
// forms.showFingering = Number(data.showFingering)
|
|
// forms.canEvaluate = Number(data.canEvaluate)
|
|
// forms.canEvaluate = Number(data.canEvaluate)
|
|
// forms.notation = Number(data.notation)
|
|
// forms.notation = Number(data.notation)
|
|
@@ -794,9 +797,16 @@ export default defineComponent({
|
|
state.partListNames = getPartListNames(res?.data as any) as any
|
|
state.partListNames = getPartListNames(res?.data as any) as any
|
|
|
|
|
|
// 初始化音轨和原音
|
|
// 初始化音轨和原音
|
|
- forms.multiTracksSelection = data.multiTracksSelection
|
|
|
|
- ? data.multiTracksSelection.split(',')
|
|
|
|
- : []
|
|
|
|
|
|
+ if (data.multiTracksSelection) {
|
|
|
|
+ data.multiTracksSelection = data.multiTracksSelection.toLocaleUpperCase()
|
|
|
|
+ }
|
|
|
|
+ if (!data.multiTracksSelection || data.multiTracksSelection.trim() == '' || data.multiTracksSelection.trim() == 'NULL') {
|
|
|
|
+ forms.multiTracksSelection = ['']
|
|
|
|
+ } else {
|
|
|
|
+ forms.multiTracksSelection = data.multiTracksSelection.split(',')
|
|
|
|
+ }
|
|
|
|
+ let names = state.partListNames.map((next: any) => next.label)
|
|
|
|
+ forms.multiTracksSelection = names.filter((next: any) => forms.multiTracksSelection.includes(next.toLocaleUpperCase()))
|
|
|
|
|
|
const existSoundList = data.musicSheetSoundList ? data.musicSheetSoundList : []
|
|
const existSoundList = data.musicSheetSoundList ? data.musicSheetSoundList : []
|
|
if (existSoundList.length === 1 && existSoundList[0].track === 'P1') {
|
|
if (existSoundList.length === 1 && existSoundList[0].track === 'P1') {
|
|
@@ -809,13 +819,16 @@ export default defineComponent({
|
|
state.partListNames.forEach((item: any) => {
|
|
state.partListNames.forEach((item: any) => {
|
|
let audioFileUrl = null
|
|
let audioFileUrl = null
|
|
existSoundList.forEach((next: any) => {
|
|
existSoundList.forEach((next: any) => {
|
|
|
|
+ if (!next.track || next.track.trim() == '') {
|
|
|
|
+ next.track = ''
|
|
|
|
+ }
|
|
if (next.track == item.value) {
|
|
if (next.track == item.value) {
|
|
audioFileUrl = next.audioFileUrl
|
|
audioFileUrl = next.audioFileUrl
|
|
}
|
|
}
|
|
})
|
|
})
|
|
forms.musicSheetSoundList.push({
|
|
forms.musicSheetSoundList.push({
|
|
audioFileUrl: audioFileUrl, // 原音
|
|
audioFileUrl: audioFileUrl, // 原音
|
|
- track: item.value // 轨道
|
|
|
|
|
|
+ track: item.value ? item.value : '' // 轨道
|
|
})
|
|
})
|
|
tracks.push(item.value)
|
|
tracks.push(item.value)
|
|
})
|
|
})
|
|
@@ -1111,7 +1124,7 @@ export default defineComponent({
|
|
path="playSpeed"
|
|
path="playSpeed"
|
|
rule={[
|
|
rule={[
|
|
{
|
|
{
|
|
- required: false,
|
|
|
|
|
|
+ required: true,
|
|
message: '请输入速度'
|
|
message: '请输入速度'
|
|
}
|
|
}
|
|
]}
|
|
]}
|
|
@@ -1119,9 +1132,10 @@ export default defineComponent({
|
|
<NInputNumber
|
|
<NInputNumber
|
|
placeholder="请输入速度"
|
|
placeholder="请输入速度"
|
|
v-model:value={forms.playSpeed}
|
|
v-model:value={forms.playSpeed}
|
|
|
|
+ min="0"
|
|
style="width:100%"
|
|
style="width:100%"
|
|
/>
|
|
/>
|
|
- </NFormItemGi>
|
|
|
|
|
|
+ </NFormItemGi>
|
|
</NGrid>
|
|
</NGrid>
|
|
<NAlert showIcon={false} style={{ marginBottom: '12px' }}>
|
|
<NAlert showIcon={false} style={{ marginBottom: '12px' }}>
|
|
曲目上传
|
|
曲目上传
|
|
@@ -1183,7 +1197,7 @@ export default defineComponent({
|
|
>
|
|
>
|
|
<UploadFile
|
|
<UploadFile
|
|
disabled={state.previewMode}
|
|
disabled={state.previewMode}
|
|
- size={10}
|
|
|
|
|
|
+ size={30}
|
|
v-model:imageList={state.musicSheetAccompanimentUrlList}
|
|
v-model:imageList={state.musicSheetAccompanimentUrlList}
|
|
tips="仅支持上传.mp3格式文件"
|
|
tips="仅支持上传.mp3格式文件"
|
|
listType="image"
|
|
listType="image"
|
|
@@ -1233,7 +1247,7 @@ export default defineComponent({
|
|
<UploadFile
|
|
<UploadFile
|
|
desc={'MIDI文件'}
|
|
desc={'MIDI文件'}
|
|
disabled={state.previewMode}
|
|
disabled={state.previewMode}
|
|
- size={10}
|
|
|
|
|
|
+ size={30}
|
|
v-model:fileList={forms.midiFileUrl}
|
|
v-model:fileList={forms.midiFileUrl}
|
|
tips="仅支持上传.MID格式文件"
|
|
tips="仅支持上传.MID格式文件"
|
|
listType="image"
|
|
listType="image"
|
|
@@ -1258,7 +1272,7 @@ export default defineComponent({
|
|
<UploadFile
|
|
<UploadFile
|
|
desc={'XML文件'}
|
|
desc={'XML文件'}
|
|
disabled={state.previewMode}
|
|
disabled={state.previewMode}
|
|
- size={10}
|
|
|
|
|
|
+ size={30}
|
|
key={'xmlFileUrl'}
|
|
key={'xmlFileUrl'}
|
|
v-model:fileList={forms.xmlFileUrl}
|
|
v-model:fileList={forms.xmlFileUrl}
|
|
tips="仅支持上传.xml/.mxml格式文件"
|
|
tips="仅支持上传.xml/.mxml格式文件"
|
|
@@ -1325,12 +1339,12 @@ export default defineComponent({
|
|
</NGrid>
|
|
</NGrid>
|
|
<NGrid cols={2}>
|
|
<NGrid cols={2}>
|
|
<NFormItemGi
|
|
<NFormItemGi
|
|
- label="谱面渲染"
|
|
|
|
|
|
+ label="多声轨渲染"
|
|
path="musicSheetType"
|
|
path="musicSheetType"
|
|
rule={[
|
|
rule={[
|
|
{
|
|
{
|
|
required: true,
|
|
required: true,
|
|
- message: '请选择谱面渲染',
|
|
|
|
|
|
+ message: '请选择多声轨渲染',
|
|
trigger: 'change'
|
|
trigger: 'change'
|
|
}
|
|
}
|
|
]}
|
|
]}
|
|
@@ -1344,7 +1358,7 @@ export default defineComponent({
|
|
<NRadio value={'SINGLE'}>是</NRadio>
|
|
<NRadio value={'SINGLE'}>是</NRadio>
|
|
<NRadio value={'CONCERT'}>否</NRadio>
|
|
<NRadio value={'CONCERT'}>否</NRadio>
|
|
</NRadioGroup>
|
|
</NRadioGroup>
|
|
- </NFormItemGi>
|
|
|
|
|
|
+ </NFormItemGi>
|
|
<NFormItemGi
|
|
<NFormItemGi
|
|
label="是否显示指法"
|
|
label="是否显示指法"
|
|
path="isShowFingering"
|
|
path="isShowFingering"
|
|
@@ -1359,7 +1373,7 @@ export default defineComponent({
|
|
<NRadio value={true}>是</NRadio>
|
|
<NRadio value={true}>是</NRadio>
|
|
<NRadio value={false}>否</NRadio>
|
|
<NRadio value={false}>否</NRadio>
|
|
</NRadioGroup>
|
|
</NRadioGroup>
|
|
- </NFormItemGi>
|
|
|
|
|
|
+ </NFormItemGi>
|
|
</NGrid>
|
|
</NGrid>
|
|
|
|
|
|
{forms.musicSheetType && (
|
|
{forms.musicSheetType && (
|
|
@@ -1552,7 +1566,7 @@ export default defineComponent({
|
|
path={`musicSheetSoundList[${index}].track`}
|
|
path={`musicSheetSoundList[${index}].track`}
|
|
rule={[
|
|
rule={[
|
|
{
|
|
{
|
|
- required: true,
|
|
|
|
|
|
+ required: false,
|
|
message: '请选择所属轨道'
|
|
message: '请选择所属轨道'
|
|
}
|
|
}
|
|
]}
|
|
]}
|