Browse Source

文章和对话课文多语言录入

natasha 1 day ago
parent
commit
a78fb622be

+ 15 - 0
src/views/book/courseware/create/components/question/article/Article.vue

@@ -27,6 +27,13 @@
             <a v-if="!isWordTime" size="medium" @click="createWordTime">自动生成字幕节点</a>
             <p v-else>字幕节点生成中...请等待</p>
           </template>
+          <el-button @click="handleMultilingual">课文多语言</el-button>
+          <MultilingualFill
+            :visible.sync="multilingualVisible"
+            :text="multilingualText"
+            :translations="data.multilingual"
+            @SubmitTranslation="handleMultilingualTranslation"
+          />
         </div>
       </div>
       <el-dialog
@@ -107,6 +114,7 @@ export default {
       compareloading: false,
       editWordsFlag: false,
       editWordIndex: 0,
+      multilingualText: '',
     };
   },
   watch: {
@@ -432,6 +440,13 @@ export default {
       });
       this.data.mind_map.node_list = node_list;
     },
+    handleMultilingual() {
+      this.multilingualText = '';
+      this.data.detail.forEach((item) => {
+        this.multilingualText += item.para ? '<p>' + item.para + '<p>' : '<p>&nbsp;</p>';
+      });
+      this.multilingualVisible = true;
+    },
   },
 };
 </script>

+ 15 - 0
src/views/book/courseware/create/components/question/dialogue_article/Article.vue

@@ -127,6 +127,13 @@
             <a v-if="!isWordTime" size="medium" @click="createWordTime">自动生成字幕节点</a>
             <p v-else>字幕节点生成中...请等待</p>
           </template>
+          <el-button @click="handleMultilingual">课文多语言</el-button>
+          <MultilingualFill
+            :visible.sync="multilingualVisible"
+            :text="multilingualText"
+            :translations="data.multilingual"
+            @SubmitTranslation="handleMultilingualTranslation"
+          />
         </div>
       </div>
       <el-dialog title="标注" :visible.sync="remarkVisible" width="50%">
@@ -294,6 +301,7 @@ export default {
       remarkVisible: false,
       remark: null,
       paraIndex: 0,
+      multilingualText: '',
     };
   },
   watch: {
@@ -726,6 +734,13 @@ export default {
 
       this.data.mind_map.node_list = node_list;
     },
+    handleMultilingual() {
+      this.multilingualText = '';
+      this.data.detail.forEach((item) => {
+        this.multilingualText += item.para ? '<p>' + item.para + '<p>' : '<p>&nbsp;</p>';
+      });
+      this.multilingualVisible = true;
+    },
   },
 };
 </script>

+ 1 - 1
src/views/book/courseware/create/components/question/new_word/NewWord.vue

@@ -707,7 +707,7 @@ export default {
       this.$set(this.data, 'lrc_arr', []);
     },
     handleMultilingual() {
-      this.multilingualText = this.data.title_con;
+      this.multilingualText = this.data.title_con ? this.data.title_con : '<p>&nbsp;</p>';
       this.data.new_word_list.forEach((item) => {
         this.multilingualText += '<p>' + item.new_word + '</p>';
         this.multilingualText += item.cixing ? item.cixing : '<p>&nbsp;</p>';