Browse Source

生词多语言

natasha 4 days ago
parent
commit
35e8de5ca5

+ 0 - 1
src/views/book/components/MultilingualFill.vue

@@ -260,7 +260,6 @@ export default {
         height: 579px;
         padding: 5px 15px;
         overflow: auto;
-        white-space: pre-wrap; // 显示回车换行
         background-color: #f2f3f5;
         border: 1px solid #f2f3f5;
         border-radius: 4px;

+ 7 - 3
src/views/book/courseware/create/components/base/upload_preview/UploadPreview.vue

@@ -74,9 +74,13 @@ export default {
       this.data.mind_map.node_list = node_list;
     },
     handleMultilingual() {
-      this.multilingualText = this.data.file_list
-        .map((item) => (item.file_name ? item.file_name : item.name))
-        .join('\n');
+      this.multilingualText = '';
+      this.data.file_list.forEach((item) => {
+        this.multilingualText += '<p>' + (item.file_name ? item.file_name : item.name) + '</p>';
+      });
+      // this.multilingualText = this.data.file_list
+      //   .map((item) => (item.file_name ? item.file_name : item.name))
+      //   .join('\n');
       this.multilingualVisible = true;
     },
     handleMultilingualTranslation(multilingual) {

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

@@ -366,7 +366,14 @@
       <div class="adult-book-input-item">
         <span class="adult-book-lable"></span>
         <el-button type="primary" size="small" class="distribution" @click="parseLrcFile"> 分配时间 </el-button>
+        <el-button @click="handleMultilingual">多语言</el-button>
       </div>
+      <MultilingualFill
+        :visible.sync="multilingualVisible"
+        :text="multilingualText"
+        :translations="data.multilingual"
+        @SubmitTranslation="handleMultilingualTranslation"
+      />
     </template>
   </ModuleBase>
 </template>
@@ -376,13 +383,14 @@ import ModuleMixin from '../../common/ModuleMixin';
 import SoundRecord from '@/views/book/courseware/create/components/question/fill/components/SoundRecord.vue';
 import UploadAudio from '@/views/book/courseware/create/components/question/fill/components/UploadAudio.vue';
 import UploadPicture from './components/UploadPicture.vue';
+import MultilingualFill from '@/views/book/components/MultilingualFill.vue';
 
 import { getNewWordData, getOption } from '@/views/book/courseware/data/newWord';
 import SelectUpload from '@/views/book/courseware/create/components/common/SelectUpload.vue';
 import { GetStaticResources } from '@/api/app';
 import cnchar from 'cnchar';
 import { ChapterGetBookChapterStruct } from '@/api/book';
-import { segSentences, BatchSegContent, getWordTime, prepareTranscribe, fileToBase64Text } from '@/api/article';
+import { getWordTime, prepareTranscribe, fileToBase64Text } from '@/api/article';
 export default {
   name: 'NewWordPage',
   components: {
@@ -390,6 +398,7 @@ export default {
     SoundRecord,
     UploadAudio,
     UploadPicture,
+    MultilingualFill,
   },
   mixins: [ModuleMixin],
   data() {
@@ -398,6 +407,8 @@ export default {
       node_list: [],
       isWordTime: false,
       loading: false,
+      multilingualVisible: false,
+      multilingualText: '',
     };
   },
   watch: {
@@ -698,6 +709,22 @@ export default {
       this.isWordTime = false;
       this.$set(this.data, 'lrc_arr', []);
     },
+    handleMultilingual() {
+      this.multilingualText = this.data.title_con + '\n';
+      this.data.new_word_list.forEach((item) => {
+        this.multilingualText += '<p>' + item.new_word + '</p>';
+        this.multilingualText += item.cixing ? item.cixing : '<p>&nbsp;</p>';
+        this.multilingualText += item.definition_list ? item.definition_list : '<p>&nbsp;</p>';
+        this.multilingualText += item.collocation ? item.collocation : '<p>&nbsp;</p>';
+        this.multilingualText += item.liju_list ? item.liju_list : '<p>&nbsp;</p>';
+        this.multilingualText += '<p>' + item.header_con + '</p>';
+        this.multilingualText += '<p>' + item.label + '</p>';
+      });
+      this.multilingualVisible = true;
+    },
+    handleMultilingualTranslation(multilingual) {
+      this.data.multilingual = multilingual;
+    },
   },
   created() {
     this.getBookChapterStructExpandList();

+ 4 - 1
src/views/book/courseware/data/article.js

@@ -124,6 +124,7 @@ export function getArticleData() {
           value:300  // 例句
         }
       ], // 列宽
+      multilingual: [], // 多语言
     }, // 生词列表
     other_word_list: {
       title_con: '',
@@ -168,11 +169,13 @@ export function getArticleData() {
           value:300  // 例句
         }
       ], // 列宽
+      multilingual: [], // 多语言
     },
     notes_list: {
       title_con: '',
       option: [],
-      property:{}
+      property:{},
+      multilingual: [], // 多语言
     },
     sentence_list_mp: [], // 句子+分词数组
     pinyin_type:'pinyin',