|
@@ -164,6 +164,7 @@
|
|
v-model="form.sysMusicScore.subjectId"
|
|
v-model="form.sysMusicScore.subjectId"
|
|
clearable
|
|
clearable
|
|
placeholder="请选择声部"
|
|
placeholder="请选择声部"
|
|
|
|
+ @change="handleChangeSubject"
|
|
>
|
|
>
|
|
<el-option
|
|
<el-option
|
|
v-for="item in selects.subjects"
|
|
v-for="item in selects.subjects"
|
|
@@ -175,6 +176,13 @@
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
|
|
|
+ <el-form-item v-if="form.sysMusicScore.subjectId && partListNames.length > 1" label="单声部多声轨渲染">
|
|
|
|
+ <el-radio-group v-model="multitrackData.isMultil">
|
|
|
|
+ <el-radio :label="0">单声轨</el-radio>
|
|
|
|
+ <el-radio :label="1">多声轨</el-radio>
|
|
|
|
+ </el-radio-group>
|
|
|
|
+ </el-form-item>
|
|
|
|
+
|
|
<el-form-item
|
|
<el-form-item
|
|
:prop="`sysMusicScore.isShowFingering`"
|
|
:prop="`sysMusicScore.isShowFingering`"
|
|
label="指法展示"
|
|
label="指法展示"
|
|
@@ -378,6 +386,7 @@
|
|
accept=".mp3, .aac"
|
|
accept=".mp3, .aac"
|
|
v-model="song.metronomeMp3Url"
|
|
v-model="song.metronomeMp3Url"
|
|
bucket_name="cloud-coach"
|
|
bucket_name="cloud-coach"
|
|
|
|
+ @input="handleInputFileUpload"
|
|
/>
|
|
/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
@@ -481,6 +490,10 @@ export default {
|
|
label: "name",
|
|
label: "name",
|
|
children: "sysMusicScoreCategoriesList",
|
|
children: "sysMusicScoreCategoriesList",
|
|
},
|
|
},
|
|
|
|
+
|
|
|
|
+ multitrackData:{
|
|
|
|
+ isMultil: 0
|
|
|
|
+ }
|
|
};
|
|
};
|
|
},
|
|
},
|
|
async mounted() {
|
|
async mounted() {
|
|
@@ -495,6 +508,10 @@ export default {
|
|
}
|
|
}
|
|
this.form.repeatedBeats = this.extConfigJson.repeatedBeats;
|
|
this.form.repeatedBeats = this.extConfigJson.repeatedBeats;
|
|
this.form.graduals = this.extConfigJson.gradualTimes || {};
|
|
this.form.graduals = this.extConfigJson.gradualTimes || {};
|
|
|
|
+ // 单声部多声轨
|
|
|
|
+ if(this.extConfigJson.multitrack){
|
|
|
|
+ this.multitrackData.isMultil = 1
|
|
|
|
+ }
|
|
this.$set(this.form, "sysMusicScore", {
|
|
this.$set(this.form, "sysMusicScore", {
|
|
isOpenMetronome: Number(this.detail.isOpenMetronome),
|
|
isOpenMetronome: Number(this.detail.isOpenMetronome),
|
|
name: this.detail.name,
|
|
name: this.detail.name,
|
|
@@ -530,6 +547,23 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
|
|
+ /** 声部改变 */
|
|
|
|
+ handleChangeSubject(val){
|
|
|
|
+ if (!val) {
|
|
|
|
+ this.multitrackData.isMultil = 0
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ /**原音上传 */
|
|
|
|
+ handleInputFileUpload(url){
|
|
|
|
+ // 单声部多声轨,默认将没有上传的声轨的原音填充
|
|
|
|
+ if (this.multitrackData.isMultil) {
|
|
|
|
+ for(let i = 0, len = this.form.sysMusicScoreAccompaniments.length; i < len; i++){
|
|
|
|
+ if (!this.form.sysMusicScoreAccompaniments[i].metronomeMp3Url){
|
|
|
|
+ this.form.sysMusicScoreAccompaniments[i].metronomeMp3Url = url
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
getPartListNames(xml) {
|
|
getPartListNames(xml) {
|
|
if (!xml) return [];
|
|
if (!xml) return [];
|
|
const xmlParse = new DOMParser().parseFromString(xml, "text/xml");
|
|
const xmlParse = new DOMParser().parseFromString(xml, "text/xml");
|
|
@@ -723,15 +757,27 @@ export default {
|
|
item.isShowFingering = this.form.sysMusicScore.isShowFingering
|
|
item.isShowFingering = this.form.sysMusicScore.isShowFingering
|
|
})
|
|
})
|
|
console.log(this.form)
|
|
console.log(this.form)
|
|
|
|
+ let extConfigJson = JSON.stringify({
|
|
|
|
+ repeatedBeats: this.form.repeatedBeats,
|
|
|
|
+ gradualTimes: this.form.graduals,
|
|
|
|
+ })
|
|
|
|
+ let _multitrackData = {}
|
|
|
|
+ // 单声部多声轨添加
|
|
|
|
+ if (this.multitrackData.isMultil) {
|
|
|
|
+ extConfigJson = JSON.stringify({
|
|
|
|
+ repeatedBeats: this.form.repeatedBeats,
|
|
|
|
+ gradualTimes: this.form.graduals,
|
|
|
|
+ multitrack: this.partListNames.length
|
|
|
|
+ })
|
|
|
|
+ _multitrackData.multitrack = false
|
|
|
|
+ }
|
|
if (!this.detail) {
|
|
if (!this.detail) {
|
|
await Add({
|
|
await Add({
|
|
|
|
+ ..._multitrackData,
|
|
...this.form,
|
|
...this.form,
|
|
sysMusicScore: {
|
|
sysMusicScore: {
|
|
...this.form.sysMusicScore,
|
|
...this.form.sysMusicScore,
|
|
- extConfigJson: JSON.stringify({
|
|
|
|
- repeatedBeats: this.form.repeatedBeats,
|
|
|
|
- gradualTimes: this.form.graduals,
|
|
|
|
- }),
|
|
|
|
|
|
+ extConfigJson: extConfigJson,
|
|
type: "COMMON",
|
|
type: "COMMON",
|
|
showFlag: 0,
|
|
showFlag: 0,
|
|
musicScoreCategoriesId: (
|
|
musicScoreCategoriesId: (
|
|
@@ -742,13 +788,11 @@ export default {
|
|
this.$message.success("提交成功");
|
|
this.$message.success("提交成功");
|
|
} else {
|
|
} else {
|
|
await Update({
|
|
await Update({
|
|
|
|
+ ..._multitrackData,
|
|
...this.form,
|
|
...this.form,
|
|
sysMusicScore: {
|
|
sysMusicScore: {
|
|
...this.form.sysMusicScore,
|
|
...this.form.sysMusicScore,
|
|
- extConfigJson: JSON.stringify({
|
|
|
|
- repeatedBeats: this.form.repeatedBeats,
|
|
|
|
- gradualTimes: this.form.graduals,
|
|
|
|
- }),
|
|
|
|
|
|
+ extConfigJson: extConfigJson,
|
|
type: "COMMON",
|
|
type: "COMMON",
|
|
id: this.detail.id,
|
|
id: this.detail.id,
|
|
showFlag: this.detail.showFlag,
|
|
showFlag: this.detail.showFlag,
|