Browse Source

教学伴奏默认选择部分字段

wolyshaw 3 years ago
parent
commit
73f72ac59c
1 changed files with 17 additions and 4 deletions
  1. 17 4
      src/views/accompaniment/modals/form.vue

+ 17 - 4
src/views/accompaniment/modals/form.vue

@@ -353,6 +353,7 @@ export default {
   props: ["detail", "type"],
   data() {
     return {
+      xmlFirstSpeed: '',
       partListNames: [],
       tree: [],
       memberRankList: [], // 会员列表
@@ -371,7 +372,7 @@ export default {
           // 兼容之前数据,默认选择团练宝
           clientType: "SMART_PRACTICE",
           renderFrom: "",
-          playMode: "",
+          playMode: "MP3",
           enableEvaluation: 1
         },
         sysMusicScoreAccompaniments: [
@@ -380,7 +381,7 @@ export default {
             speed: "",
             mp3Url: "",
             xmlUrl: "",
-            isShowFingering: null,
+            isShowFingering: true,
             mome: "",
             track: ""
           },
@@ -421,6 +422,10 @@ export default {
         this.form.rankIdType = 0;
       }
       this.FeatchDetailList();
+    } else {
+      // 新增条件下默认设置为收费
+      this.rankChange(1);
+      this.form.rankIdType = 1;
     }
   },
   methods: {
@@ -429,6 +434,7 @@ export default {
       const xmlParse = new DOMParser().parseFromString(xml, 'text/xml')
       const partList = xmlParse.getElementsByTagName('part-list')?.[0]?.getElementsByTagName('score-part') || []
       const partListNames = Array.from(partList).map(item => item.getElementsByTagName('part-name')?.[0].textContent || '')
+      this.xmlFirstSpeed = xmlParse.getElementsByTagName('per-minute')?.[0]?.textContent || ''
       return partListNames
     },
     inputFile(file) {
@@ -437,16 +443,23 @@ export default {
         this.partListNames = this.getPartListNames(res.target.result)
         for (let j = 0; j < this.form.sysMusicScoreAccompaniments.length; j++) {
           this.form.sysMusicScoreAccompaniments[j].track =  this.partListNames[j]
+          if (!this.form.sysMusicScoreAccompaniments[j].speed) {
+            this.form.sysMusicScoreAccompaniments[j].speed = this.xmlFirstSpeed
+          }
           this.$set(this.form, 'sysMusicScoreAccompaniments', this.form.sysMusicScoreAccompaniments)
         }
         for (let index = this.form.sysMusicScoreAccompaniments.length; index < this.partListNames.length; index++) {
           const part = this.partListNames[index]
-          this.createSys({
+          const sysData = {
             ...this.form.sysMusicScoreAccompaniments[0],
             metronomeMp3Url: "",
             mp3Url: "",
             track: part,
-          })
+          }
+          if (!sysData.speed) {
+            sysData.speed = this.xmlFirstSpeed
+          }
+          this.createSys(sysData)
         }
       }
       xmlRead.readAsText(file.raw)