natasha пре 1 година
родитељ
комит
a48bd9fa88
1 измењених фајлова са 22 додато и 12 уклоњено
  1. 22 12
      src/views/exercise_questions/preview/ChooseTonePreview.vue

+ 22 - 12
src/views/exercise_questions/preview/ChooseTonePreview.vue

@@ -31,12 +31,7 @@
                 v-for="(itemi, indexi) in itemc"
                 v-for="(itemi, indexi) in itemc"
                 :key="indexi"
                 :key="indexi"
                 :class="['items-con', active_index_str === i + '-' + indexc + '-' + indexi ? 'active' : '']"
                 :class="['items-con', active_index_str === i + '-' + indexc + '-' + indexi ? 'active' : '']"
-                @click="
-                  con_preview[i].item_active_index = indexc;
-                  active_index_str = i + '-' + indexc + '-' + indexi;
-                  active_letter = itemi;
-                  active_letter_index = indexi;
-                "
+                @click="handleSelectItemTone(i, indexc, indexi, con_preview[i].item_con_yuan[indexc][indexi])"
                 >{{ itemi }}</span
                 >{{ itemi }}</span
               >
               >
             </span>
             </span>
@@ -47,7 +42,15 @@
           :key="j"
           :key="j"
           :class="[
           :class="[
             'tone',
             'tone',
-            con_preview[i].user_answer[con_preview[i].item_active_index].select_tone === value ? 'active' : '',
+            data.property.tone_type === 'select' &&
+            con_preview[i].user_answer[con_preview[i].item_active_index].select_tone === value
+              ? 'active'
+              : data.property.tone_type === 'dimension' &&
+                con_preview[i].user_answer[con_preview[i].item_active_index].select_tone === value &&
+                con_preview[i].user_answer[con_preview[i].item_active_index].select_letter === active_letter &&
+                select_item_index === i
+              ? 'active'
+              : '',
           ]"
           ]"
           @click="chooseTone(con_preview[i], value, i)"
           @click="chooseTone(con_preview[i], value, i)"
         >
         >
@@ -90,9 +93,10 @@ export default {
         ['Ū', 'Ú', 'Û', 'Ù', 'U'],
         ['Ū', 'Ú', 'Û', 'Ù', 'U'],
       ],
       ],
       final_con: '',
       final_con: '',
-      active_index_str: '',
-      active_letter: '',
-      active_letter_index: 0,
+      active_index_str: '', // 高亮索引的字符串
+      active_letter: '', // 选中字母的值
+      active_letter_index: 0, // 选择字母索引
+      select_item_index: 0, // 小题索引
     };
     };
   },
   },
   created() {
   created() {
@@ -112,7 +116,7 @@ export default {
           // item.item_con[item.item_active_index][this.active_letter_index] = this.final_con;
           // item.item_con[item.item_active_index][this.active_letter_index] = this.final_con;
           let new_con = item.item_con_yuan[item.item_active_index].split(this.active_letter);
           let new_con = item.item_con_yuan[item.item_active_index].split(this.active_letter);
           item.item_con[item.item_active_index] = new_con[0] + this.final_con + new_con[1];
           item.item_con[item.item_active_index] = new_con[0] + this.final_con + new_con[1];
-          this.active_letter = this.final_con;
+          // this.active_letter = this.final_con;
           this.$forceUpdate();
           this.$forceUpdate();
         }, 100);
         }, 100);
       } else {
       } else {
@@ -146,7 +150,6 @@ export default {
         };
         };
         this.con_preview.push(obj);
         this.con_preview.push(obj);
       });
       });
-      console.log(this.con_preview);
     },
     },
     handleReplaceTone(e) {
     handleReplaceTone(e) {
       this.$nextTick(() => {
       this.$nextTick(() => {
@@ -242,6 +245,13 @@ export default {
       }
       }
       return cons;
       return cons;
     },
     },
+    handleSelectItemTone(i, indexc, indexi, itemi) {
+      this.con_preview[i].item_active_index = indexc;
+      this.active_index_str = `${i}-${indexc}-${indexi}`;
+      this.active_letter = itemi;
+      this.active_letter_index = indexi;
+      this.select_item_index = i;
+    },
   },
   },
 };
 };
 </script>
 </script>