natasha 1 рік тому
батько
коміт
892a0d43fa

+ 16 - 0
src/views/exercise_questions/create/components/exercises/ChooseToneQuestion.vue

@@ -28,6 +28,13 @@
               @blur="handleItemAnswer(item)"
               @blur="handleItemAnswer(item)"
               @change="changePinyin(item)"
               @change="changePinyin(item)"
             />
             />
+            <el-input
+              v-model="matically_pinyin_str[item.mark]"
+              :placeholder="'拼音预览'"
+              :readonly="true"
+              style="width: 200px"
+            />
+
             <UploadAudio
             <UploadAudio
               v-if="data.other.audio_generation_method === 'upload'"
               v-if="data.other.audio_generation_method === 'upload'"
               :key="item.audio_file_id || i"
               :key="item.audio_file_id || i"
@@ -167,6 +174,7 @@ export default {
       toneTypeList,
       toneTypeList,
       data: JSON.parse(JSON.stringify(ChooseToneData)),
       data: JSON.parse(JSON.stringify(ChooseToneData)),
       matically_pinyin_obj: {}, // 存放转成声调的拼音
       matically_pinyin_obj: {}, // 存放转成声调的拼音
+      matically_pinyin_str: {}, // 存放转成声调的字符串
       res_arr: [],
       res_arr: [],
       loading_list: [
       loading_list: [
         {
         {
@@ -191,6 +199,7 @@ export default {
           };
           };
           this.loading_list.push(obj);
           this.loading_list.push(obj);
         }
         }
+        this.handleChangeType();
       },
       },
       deep: true,
       deep: true,
       immediate: true,
       immediate: true,
@@ -258,6 +267,12 @@ export default {
         )
         )
         .filter((item) => item.length > 0)
         .filter((item) => item.length > 0)
         .join(',');
         .join(',');
+      this.matically_pinyin_str[mark] = this.res_arr
+        .map((item) =>
+          item.map(({ number, con }) => (number && con ? addTone(Number(number), con) : number || con || '')),
+        )
+        .filter((item) => item.length > 0)
+        .join(' ');
     },
     },
     handleValue(valItem) {
     handleValue(valItem) {
       let numList = [];
       let numList = [];
@@ -291,6 +306,7 @@ export default {
       let content_preview = '';
       let content_preview = '';
       this.res_arr = [];
       this.res_arr = [];
       this.$set(this.matically_pinyin_obj, item.mark, []);
       this.$set(this.matically_pinyin_obj, item.mark, []);
+      this.$set(this.matically_pinyin_str, item.mark, '');
       content_arr.forEach((items, index) => {
       content_arr.forEach((items, index) => {
         let items_trim = items.trim();
         let items_trim = items.trim();
         if (items_trim) {
         if (items_trim) {