|
@@ -1078,52 +1078,24 @@ export default defineComponent({
|
|
|
/>
|
|
|
</NFormItemGi>
|
|
|
<NFormItemGi
|
|
|
- label="谱面渲染"
|
|
|
- path="musicSheetType"
|
|
|
- rule={[
|
|
|
- {
|
|
|
- required: true,
|
|
|
- message: '请选择谱面渲染',
|
|
|
- trigger: 'change'
|
|
|
- }
|
|
|
- ]}
|
|
|
- >
|
|
|
- <NRadioGroup v-model:value={forms.musicSheetType}>
|
|
|
- <NRadio value={'SINGLE'}>多声轨</NRadio>
|
|
|
- <NRadio value={'CONCERT'}>单声轨</NRadio>
|
|
|
- </NRadioGroup>
|
|
|
- </NFormItemGi>
|
|
|
- </NGrid>
|
|
|
- <NGrid cols={2}>
|
|
|
- <NFormItemGi
|
|
|
- label="适用声部"
|
|
|
- path="isAllSubject"
|
|
|
+ label="曲目分类"
|
|
|
+ path="musicCategoryId"
|
|
|
rule={[
|
|
|
{
|
|
|
required: true,
|
|
|
- message: '请选择适用声部',
|
|
|
- }
|
|
|
- ]}
|
|
|
- >
|
|
|
- <NRadioGroup v-model:value={forms.isAllSubject}>
|
|
|
- <NRadio value={false}>部分声部</NRadio>
|
|
|
- <NRadio value={true}>全部声部</NRadio>
|
|
|
- </NRadioGroup>
|
|
|
- </NFormItemGi>
|
|
|
- <NFormItemGi
|
|
|
- label="速度"
|
|
|
- path="playSpeed"
|
|
|
- rule={[
|
|
|
- {
|
|
|
- required: false,
|
|
|
- message: '请输入速度'
|
|
|
+ message: '请选择曲目分类',
|
|
|
+ trigger: ['change']
|
|
|
}
|
|
|
]}
|
|
|
>
|
|
|
- <NInputNumber
|
|
|
- placeholder="请输入速度"
|
|
|
- v-model:value={forms.playSpeed}
|
|
|
- style="width:100%"
|
|
|
+ <NCascader
|
|
|
+ valueField="id"
|
|
|
+ labelField="name"
|
|
|
+ children-field="musicSheetCategoriesList"
|
|
|
+ placeholder="请选择分类"
|
|
|
+ v-model:value={forms.musicCategoryId}
|
|
|
+ options={state.musicSheetCategories}
|
|
|
+ clearable
|
|
|
/>
|
|
|
</NFormItemGi>
|
|
|
</NGrid>
|
|
@@ -1236,27 +1208,6 @@ export default defineComponent({
|
|
|
v-model:value={forms.appAuditFlag}
|
|
|
/>
|
|
|
</NFormItemGi>
|
|
|
- <NFormItemGi
|
|
|
- label="曲目分类"
|
|
|
- path="musicCategoryId"
|
|
|
- rule={[
|
|
|
- {
|
|
|
- required: true,
|
|
|
- message: '请选择曲目分类',
|
|
|
- trigger: ['change']
|
|
|
- }
|
|
|
- ]}
|
|
|
- >
|
|
|
- <NCascader
|
|
|
- valueField="id"
|
|
|
- labelField="name"
|
|
|
- children-field="musicSheetCategoriesList"
|
|
|
- placeholder="请选择分类"
|
|
|
- v-model:value={forms.musicCategoryId}
|
|
|
- options={state.musicSheetCategories}
|
|
|
- clearable
|
|
|
- />
|
|
|
- </NFormItemGi>
|
|
|
</NGrid>
|
|
|
<NAlert showIcon={false} style={{marginBottom: '12px'}}>
|
|
|
曲目设置
|
|
@@ -1354,6 +1305,180 @@ export default defineComponent({
|
|
|
</NFormItemGi>
|
|
|
</NGrid>
|
|
|
|
|
|
+ <NGrid cols={2}>
|
|
|
+ <NFormItemGi
|
|
|
+ label="谱面渲染"
|
|
|
+ path="musicSheetType"
|
|
|
+ rule={[
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: '请选择谱面渲染',
|
|
|
+ trigger: 'change'
|
|
|
+ }
|
|
|
+ ]}
|
|
|
+ >
|
|
|
+ <NRadioGroup v-model:value={forms.musicSheetType}>
|
|
|
+ <NRadio value={'SINGLE'}>多声轨</NRadio>
|
|
|
+ <NRadio value={'CONCERT'}>单声轨</NRadio>
|
|
|
+ </NRadioGroup>
|
|
|
+ </NFormItemGi>
|
|
|
+ <NFormItemGi
|
|
|
+ label="适用声部"
|
|
|
+ path="isAllSubject"
|
|
|
+ rule={[
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: '请选择适用声部',
|
|
|
+ }
|
|
|
+ ]}
|
|
|
+ >
|
|
|
+ <NRadioGroup v-model:value={forms.isAllSubject}>
|
|
|
+ <NRadio value={false}>部分声部</NRadio>
|
|
|
+ <NRadio value={true}>全部声部</NRadio>
|
|
|
+ </NRadioGroup>
|
|
|
+ </NFormItemGi>
|
|
|
+ </NGrid>
|
|
|
+ {!forms.isAllSubject && (
|
|
|
+ <NGrid cols={2}>
|
|
|
+ <NFormItemGi
|
|
|
+ label="可用声部"
|
|
|
+ path="subjectIds"
|
|
|
+ rule={[
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: '请选择可用声部',
|
|
|
+ trigger: 'change',
|
|
|
+ type: 'array'
|
|
|
+ }
|
|
|
+ ]}
|
|
|
+ >
|
|
|
+ <NSelect
|
|
|
+ v-model:value={forms.subjectIds}
|
|
|
+ options={state.subjectList}
|
|
|
+ multiple
|
|
|
+ filterable
|
|
|
+ clearable
|
|
|
+ placeholder="请选择可用声部"
|
|
|
+ maxTagCount={2}
|
|
|
+ onUpdateValue={async (val: any) => {
|
|
|
+ state.instrumentList = []
|
|
|
+ let tempMusicalInstrumentIdList = [] as any
|
|
|
+ const {data} = await musicalInstrumentPage({page: 1, rows: 999, subjectIds: val});
|
|
|
+ data.rows.map((item: any) => {
|
|
|
+ tempMusicalInstrumentIdList.push(item.id + '')
|
|
|
+ state.instrumentList.push(
|
|
|
+ {
|
|
|
+ label: item.name,
|
|
|
+ value: item.id + '',
|
|
|
+ disabled: !item.enableFlag
|
|
|
+ }
|
|
|
+ )
|
|
|
+ })
|
|
|
+ forms.musicalInstrumentIdList = forms.musicalInstrumentIdList.filter((item: any) => {
|
|
|
+ return tempMusicalInstrumentIdList.includes(item)
|
|
|
+ })
|
|
|
+ }}
|
|
|
+ />
|
|
|
+ </NFormItemGi>
|
|
|
+ <NFormItemGi
|
|
|
+ label="可用乐器"
|
|
|
+ path="musicalInstrumentIdList"
|
|
|
+ rule={[
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: '请选择可用乐器',
|
|
|
+ trigger: 'change',
|
|
|
+ type: 'array'
|
|
|
+ }
|
|
|
+ ]}
|
|
|
+ >
|
|
|
+ <NSelect
|
|
|
+ placeholder="请选择可用乐器"
|
|
|
+ options={state.instrumentList}
|
|
|
+ v-model:value={forms.musicalInstrumentIdList}
|
|
|
+ clearable
|
|
|
+ multiple
|
|
|
+ maxTagCount={2}
|
|
|
+ onUpdateValue={async (value: any) => {
|
|
|
+ }}
|
|
|
+ />
|
|
|
+ </NFormItemGi>
|
|
|
+ </NGrid>
|
|
|
+ )}
|
|
|
+ <NGrid cols={2}>
|
|
|
+ <NFormItemGi
|
|
|
+ label="速度"
|
|
|
+ path="playSpeed"
|
|
|
+ rule={[
|
|
|
+ {
|
|
|
+ required: false,
|
|
|
+ message: '请输入速度'
|
|
|
+ }
|
|
|
+ ]}
|
|
|
+ >
|
|
|
+ <NInputNumber
|
|
|
+ placeholder="请输入速度"
|
|
|
+ v-model:value={forms.playSpeed}
|
|
|
+ style="width:100%"
|
|
|
+ />
|
|
|
+ </NFormItemGi>
|
|
|
+ </NGrid>
|
|
|
+ <NGrid cols={1}>
|
|
|
+ <NFormItemGi
|
|
|
+ label={`${forms.musicSheetType === 'SINGLE' ? '页面渲染声轨' : '用户可切换声轨'}`}
|
|
|
+ path="multiTracksSelection"
|
|
|
+ rule={[
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: `请选择${
|
|
|
+ forms.musicSheetType === 'SINGLE' ? '页面渲染声轨' : '用户可切换声轨'
|
|
|
+ }`,
|
|
|
+ trigger: 'change',
|
|
|
+ type: 'array'
|
|
|
+ }
|
|
|
+ ]}
|
|
|
+ >
|
|
|
+ <NGrid style="padding-top: 4px;">
|
|
|
+ <NGi span={24}>
|
|
|
+ <NRadioGroup
|
|
|
+ v-model:value={state.multiTracks}
|
|
|
+ onUpdateValue={(value) => {
|
|
|
+ checkMultiTracks(value)
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ <NRadio value={'all'}>全选</NRadio>
|
|
|
+ <NRadio value={'allUncheck'}>重置</NRadio>
|
|
|
+ <NRadio value={'invert'}>反选</NRadio>
|
|
|
+ </NRadioGroup>
|
|
|
+ </NGi>
|
|
|
+ {state.partListNames && state.partListNames.length > 0 && (
|
|
|
+ <NGi span={24} style={'margin-top:5px'}>
|
|
|
+ <NFormItemGi
|
|
|
+ label=""
|
|
|
+ path="multiTracksSelection"
|
|
|
+ rule={[
|
|
|
+ {
|
|
|
+ required: false
|
|
|
+ }
|
|
|
+ ]}
|
|
|
+ >
|
|
|
+ <NCheckboxGroup v-model:value={forms.multiTracksSelection}>
|
|
|
+ <NGrid yGap={2} cols={4}>
|
|
|
+ {state.partListNames.map((item: any) => (
|
|
|
+ <NGi>
|
|
|
+ <NCheckbox value={item.value} label={item.label}/>
|
|
|
+ </NGi>
|
|
|
+ ))}
|
|
|
+ </NGrid>
|
|
|
+ </NCheckboxGroup>
|
|
|
+ </NFormItemGi>
|
|
|
+ </NGi>
|
|
|
+ )}
|
|
|
+ </NGrid>
|
|
|
+ </NFormItemGi>
|
|
|
+ </NGrid>
|
|
|
+
|
|
|
+
|
|
|
<NAlert showIcon={false} style={{marginBottom: '12px'}}>
|
|
|
演唱文件
|
|
|
</NAlert>
|
|
@@ -1555,73 +1680,6 @@ export default defineComponent({
|
|
|
</NRadioGroup>
|
|
|
</NFormItemGi>
|
|
|
</NGrid>
|
|
|
- {!forms.isAllSubject && (
|
|
|
- <NGrid cols={2}>
|
|
|
- <NFormItemGi
|
|
|
- label="可用声部"
|
|
|
- path="subjectIds"
|
|
|
- rule={[
|
|
|
- {
|
|
|
- required: true,
|
|
|
- message: '请选择可用声部',
|
|
|
- trigger: 'change',
|
|
|
- type: 'array'
|
|
|
- }
|
|
|
- ]}
|
|
|
- >
|
|
|
- <NSelect
|
|
|
- v-model:value={forms.subjectIds}
|
|
|
- options={state.subjectList}
|
|
|
- multiple
|
|
|
- filterable
|
|
|
- clearable
|
|
|
- placeholder="请选择可用声部"
|
|
|
- maxTagCount={2}
|
|
|
- onUpdateValue={async (val: any) => {
|
|
|
- state.instrumentList = []
|
|
|
- let tempMusicalInstrumentIdList = [] as any
|
|
|
- const {data} = await musicalInstrumentPage({page: 1, rows: 999, subjectIds: val});
|
|
|
- data.rows.map((item: any) => {
|
|
|
- tempMusicalInstrumentIdList.push(item.id + '')
|
|
|
- state.instrumentList.push(
|
|
|
- {
|
|
|
- label: item.name,
|
|
|
- value: item.id + '',
|
|
|
- disabled: !item.enableFlag
|
|
|
- }
|
|
|
- )
|
|
|
- })
|
|
|
- forms.musicalInstrumentIdList = forms.musicalInstrumentIdList.filter((item: any) => {
|
|
|
- return tempMusicalInstrumentIdList.includes(item)
|
|
|
- })
|
|
|
- }}
|
|
|
- />
|
|
|
- </NFormItemGi>
|
|
|
- <NFormItemGi
|
|
|
- label="可用乐器"
|
|
|
- path="musicalInstrumentIdList"
|
|
|
- rule={[
|
|
|
- {
|
|
|
- required: true,
|
|
|
- message: '请选择可用乐器',
|
|
|
- trigger: 'change',
|
|
|
- type: 'array'
|
|
|
- }
|
|
|
- ]}
|
|
|
- >
|
|
|
- <NSelect
|
|
|
- placeholder="请选择可用乐器"
|
|
|
- options={state.instrumentList}
|
|
|
- v-model:value={forms.musicalInstrumentIdList}
|
|
|
- clearable
|
|
|
- multiple
|
|
|
- maxTagCount={2}
|
|
|
- onUpdateValue={async (value: any) => {
|
|
|
- }}
|
|
|
- />
|
|
|
- </NFormItemGi>
|
|
|
- </NGrid>
|
|
|
- )}
|
|
|
<NGrid cols={2}>
|
|
|
{forms.playMode === 'MP3' && (
|
|
|
<NFormItemGi
|
|
@@ -1756,61 +1814,6 @@ export default defineComponent({
|
|
|
</NFormItem>
|
|
|
</>
|
|
|
)}
|
|
|
- <NGrid cols={1}>
|
|
|
- <NFormItemGi
|
|
|
- label={`${forms.musicSheetType === 'SINGLE' ? '页面渲染声轨' : '用户可切换声轨'}`}
|
|
|
- path="multiTracksSelection"
|
|
|
- rule={[
|
|
|
- {
|
|
|
- required: true,
|
|
|
- message: `请选择${
|
|
|
- forms.musicSheetType === 'SINGLE' ? '页面渲染声轨' : '用户可切换声轨'
|
|
|
- }`,
|
|
|
- trigger: 'change',
|
|
|
- type: 'array'
|
|
|
- }
|
|
|
- ]}
|
|
|
- >
|
|
|
- <NGrid style="padding-top: 4px;">
|
|
|
- <NGi span={24}>
|
|
|
- <NRadioGroup
|
|
|
- v-model:value={state.multiTracks}
|
|
|
- onUpdateValue={(value) => {
|
|
|
- checkMultiTracks(value)
|
|
|
- }}
|
|
|
- >
|
|
|
- <NRadio value={'all'}>全选</NRadio>
|
|
|
- <NRadio value={'allUncheck'}>重置</NRadio>
|
|
|
- <NRadio value={'invert'}>反选</NRadio>
|
|
|
- </NRadioGroup>
|
|
|
- </NGi>
|
|
|
- {state.partListNames && state.partListNames.length > 0 && (
|
|
|
- <NGi span={24} style={'margin-top:5px'}>
|
|
|
- <NFormItemGi
|
|
|
- label=""
|
|
|
- path="multiTracksSelection"
|
|
|
- rule={[
|
|
|
- {
|
|
|
- required: false
|
|
|
- }
|
|
|
- ]}
|
|
|
- >
|
|
|
- <NCheckboxGroup v-model:value={forms.multiTracksSelection}>
|
|
|
- <NGrid yGap={2} cols={4}>
|
|
|
- {state.partListNames.map((item: any) => (
|
|
|
- <NGi>
|
|
|
- <NCheckbox value={item.value} label={item.label}/>
|
|
|
- </NGi>
|
|
|
- ))}
|
|
|
- </NGrid>
|
|
|
- </NCheckboxGroup>
|
|
|
- </NFormItemGi>
|
|
|
- </NGi>
|
|
|
- )}
|
|
|
- </NGrid>
|
|
|
- </NFormItemGi>
|
|
|
- </NGrid>
|
|
|
-
|
|
|
{/*独奏*/}
|
|
|
{forms.musicSheetType == 'SINGLE' && forms.playMode === 'MP3' && !forms.isAllSubject && forms.musicSheetSoundList_YZ.map((item: any, index: any) => {
|
|
|
return (
|