Browse Source

Merge branch 'master' of http://60.205.254.193:3000/GCLS/eep_page

dsy 3 days ago
parent
commit
8494d488bd
34 changed files with 453 additions and 220 deletions
  1. 1 0
      src/views/book/components/MultilingualFill.vue
  2. 20 1
      src/views/book/courseware/create/components/base/upload_preview/UploadPreview.vue
  3. 0 1
      src/views/book/courseware/create/components/question/dialogue_article/Article.vue
  4. 1 0
      src/views/book/courseware/data/article.js
  5. 1 0
      src/views/book/courseware/data/character.js
  6. 1 0
      src/views/book/courseware/data/characterBase.js
  7. 1 0
      src/views/book/courseware/data/characterStructure.js
  8. 1 0
      src/views/book/courseware/data/dialogueArticle.js
  9. 1 0
      src/views/book/courseware/data/drawing.js
  10. 1 0
      src/views/book/courseware/data/h5Games.js
  11. 1 0
      src/views/book/courseware/data/imageText.js
  12. 1 0
      src/views/book/courseware/data/newWord.js
  13. 1 0
      src/views/book/courseware/data/newWordTemplate.js
  14. 1 0
      src/views/book/courseware/data/notes.js
  15. 1 0
      src/views/book/courseware/data/otherWord.js
  16. 1 0
      src/views/book/courseware/data/pinyinBase.js
  17. 1 0
      src/views/book/courseware/data/recordInput.js
  18. 1 0
      src/views/book/courseware/data/table.js
  19. 1 0
      src/views/book/courseware/data/uploadControl.js
  20. 2 1
      src/views/book/courseware/data/uploadPreview.js
  21. 1 0
      src/views/book/courseware/data/videoInteraction.js
  22. 1 0
      src/views/book/courseware/data/write.js
  23. 1 0
      src/views/book/courseware/data/writeBase.js
  24. 56 56
      src/views/book/courseware/preview/components/article/Voicefullscreen.vue
  25. 29 29
      src/views/book/courseware/preview/components/article/components/Practice.vue
  26. 21 21
      src/views/book/courseware/preview/components/article/components/Wordcard.vue
  27. 8 8
      src/views/book/courseware/preview/components/article/index.vue
  28. 8 9
      src/views/book/courseware/preview/components/dialogue_article/NormalModelChs.vue
  29. 43 42
      src/views/book/courseware/preview/components/dialogue_article/PhraseModelChs.vue
  30. 16 19
      src/views/book/courseware/preview/components/dialogue_article/Practicechs.vue
  31. 92 3
      src/views/book/courseware/preview/components/dialogue_article/RemarkChs.vue
  32. 112 4
      src/views/book/courseware/preview/components/dialogue_article/RoleChs.vue
  33. 13 15
      src/views/book/courseware/preview/components/dialogue_article/WordModelChs.vue
  34. 13 11
      src/views/book/courseware/preview/components/dialogue_article/index.vue

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

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

+ 20 - 1
src/views/book/courseware/create/components/base/upload_preview/UploadPreview.vue

@@ -18,6 +18,13 @@
         @updateFileList="updateFileList"
       />
       <el-form :model="data" label-width="72px" label-position="left" />
+      <el-button @click="handleMultilingual">多语言</el-button>
+      <MultilingualFill
+        :visible.sync="multilingualVisible"
+        :text="multilingualText"
+        :translations="data.multilingual"
+        @SubmitTranslation="handleMultilingualTranslation"
+      />
     </template>
   </ModuleBase>
 </template>
@@ -26,10 +33,11 @@
 import { getUploadPreviewData } from '@/views/book/courseware/data/uploadPreview';
 import ModuleMixin from '../../common/ModuleMixin';
 import UploadFile from '../common/UploadFile.vue';
+import MultilingualFill from '@/views/book/components/MultilingualFill.vue';
 
 export default {
   name: 'UploadPreviewPage',
-  components: { UploadFile },
+  components: { UploadFile, MultilingualFill },
   mixins: [ModuleMixin],
   data() {
     return {
@@ -39,6 +47,8 @@ export default {
       uploadTip:
         '支持上传png,jpg,txt,pdf,doc,excel,ppt,mp3,wma,mp4,mov,zip,rar等格式文件,单个文件最大500MB',
       iconClass: '',
+      multilingualVisible: false,
+      multilingualText: '',
     };
   },
   watch: {
@@ -63,6 +73,15 @@ 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.multilingualVisible = true;
+    },
+    handleMultilingualTranslation(multilingual) {
+      this.data.multilingual = multilingual;
+    },
   },
 };
 </script>

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

@@ -723,7 +723,6 @@ export default {
           });
         }
       });
-      console.log(node_list);
 
       this.data.mind_map.node_list = node_list;
     },

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

@@ -181,5 +181,6 @@ export function getArticleData() {
         { name: '课文组件' }
       ], // 思维导图数据
     },
+    multilingual: [], // 多语言
   };
 }

+ 1 - 0
src/views/book/courseware/data/character.js

@@ -100,5 +100,6 @@ export function getCharacterData() {
     answer: {
       answer_list: [],
     },
+    multilingual: [], // 多语言
   };
 }

+ 1 - 0
src/views/book/courseware/data/characterBase.js

@@ -112,5 +112,6 @@ export function getCharacterBaseData() {
     answer: {
       answer_list: [],
     },
+    multilingual: [], // 多语言
   };
 }

+ 1 - 0
src/views/book/courseware/data/characterStructure.js

@@ -144,5 +144,6 @@ export function getCharacterStructureData() {
     answer: {
       answer_list: [],
     },
+    multilingual: [], // 多语言
   };
 }

+ 1 - 0
src/views/book/courseware/data/dialogueArticle.js

@@ -214,5 +214,6 @@ export function getArticleData() {
     },
     sentence_list_mp: [], //句子+分词数组
     pinyin_type: 'pinyin', // 拼音类型
+    multilingual: [], // 多语言
   };
 }

+ 1 - 0
src/views/book/courseware/data/drawing.js

@@ -49,5 +49,6 @@ export function getDrawingData() {
     answer: {
       answer_list: [],
     },
+    multilingual: [], // 多语言
   };
 }

+ 1 - 0
src/views/book/courseware/data/h5Games.js

@@ -32,5 +32,6 @@ export function getH5GamesData() {
     answer: {
       answer_list: [],
     },
+    multilingual: [], // 多语言
   };
 }

+ 1 - 0
src/views/book/courseware/data/imageText.js

@@ -44,5 +44,6 @@ export function getImageTextData() {
     answer: {
       answer_list: [],
     },
+    multilingual: [], // 多语言
   };
 }

+ 1 - 0
src/views/book/courseware/data/newWord.js

@@ -126,5 +126,6 @@ export function getNewWordData() {
     answer: {
       answer_list: [],
     },
+    multilingual: [], // 多语言
   };
 }

+ 1 - 0
src/views/book/courseware/data/newWordTemplate.js

@@ -113,5 +113,6 @@ export function getNewWordTemplateData() {
     answer: {
       answer_list: [],
     },
+    multilingual: [], // 多语言
   };
 }

+ 1 - 0
src/views/book/courseware/data/notes.js

@@ -45,5 +45,6 @@ export function getNotesData() {
         { name: '注释组件' }
       ], // 思维导图数据
     },
+    multilingual: [], // 多语言
   };
 }

+ 1 - 0
src/views/book/courseware/data/otherWord.js

@@ -84,5 +84,6 @@ export function getOtherWordData() {
         { name: '其他词汇' }
       ], // 思维导图数据
     },
+    multilingual: [], // 多语言
   };
 }

+ 1 - 0
src/views/book/courseware/data/pinyinBase.js

@@ -96,5 +96,6 @@ export function getPinyinBaseData() {
     answer: {
       answer_list: [],
     },
+    multilingual: [], // 多语言
   };
 }

+ 1 - 0
src/views/book/courseware/data/recordInput.js

@@ -39,5 +39,6 @@ export function getRecordInputData() {
         input: '',
       },
     },
+    multilingual: [], // 多语言
   };
 }

+ 1 - 0
src/views/book/courseware/data/table.js

@@ -89,5 +89,6 @@ export function getTableData() {
     mind_map: {
       node_list: [{ name: '表格' }],
     },
+    multilingual: [], // 多语言
   };
 }

+ 1 - 0
src/views/book/courseware/data/uploadControl.js

@@ -17,5 +17,6 @@ export function getUploadControlData() {
     answer: {
       answer_list: [],
     },
+    multilingual: [], // 多语言
   };
 }

+ 2 - 1
src/views/book/courseware/data/uploadPreview.js

@@ -33,6 +33,7 @@ export function getUploadPreviewData() {
       node_list: [
         { name: '上传组件' }
       ], // 思维导图数据
-    }
+    },
+    multilingual: [], // 多语言
   };
 }

+ 1 - 0
src/views/book/courseware/data/videoInteraction.js

@@ -36,5 +36,6 @@ export function getVideoInteractionData() {
     answer: {
       answer_list: [],
     },
+    multilingual: [], // 多语言
   };
 }

+ 1 - 0
src/views/book/courseware/data/write.js

@@ -86,5 +86,6 @@ export function getWriteData() {
     answer: {
       answer_list: [],
     },
+    multilingual: [], // 多语言
   };
 }

+ 1 - 0
src/views/book/courseware/data/writeBase.js

@@ -95,5 +95,6 @@ export function getWriteBaseData() {
     answer: {
       answer_list: [],
     },
+    multilingual: [], // 多语言
   };
 }

+ 56 - 56
src/views/book/courseware/preview/components/article/Voicefullscreen.vue

@@ -863,42 +863,42 @@ export default {
     // 添加收藏
     addColl() {
       let Bookdetail = sessionStorage.getItem('Bookdetail');
-      if (Bookdetail) {
-        Bookdetail = JSON.parse(Bookdetail);
-
-        let MethodName = 'order-collection_manager-AddMyCollection';
-        let text = '';
-        this.item.forEach((item) => {
-          if (item.chs != '#') {
-            text += item.chs;
-          }
-        });
-        let sentence_json = {
-          item: JSON.stringify(this.item),
-          bg: this.bg,
-          ed: this.ed,
-          mp3: this.mp3,
-          pyPosition: this.curQue.property.pinyin_position,
-        };
-        let data = {
-          goods_id: this.currentTreeID,
-          goods_type: 502,
-          goods_name: Bookdetail.name,
-          goods_person_name_desc: Bookdetail.author ? Bookdetail.author : '',
-          goods_picture_id: Bookdetail.picture_id ? Bookdetail.picture_id : '',
-          goods_price: Bookdetail.price,
-          sentence: {
-            sentence_text: text,
-            sentence_json: JSON.stringify(sentence_json),
-          },
-        };
-        LearnWebSI(MethodName, data).then((res) => {
-          this.$set(this.isCollArr, this.curSentIndex, true);
-          this.$message.success('收藏成功!');
-        });
-      } else {
-        this.$message.warning('权限不足!');
-      }
+      // if (Bookdetail) {
+      Bookdetail = JSON.parse(Bookdetail);
+
+      let MethodName = 'order-collection_manager-AddMyCollection';
+      let text = '';
+      this.item.forEach((item) => {
+        if (item.chs != '#') {
+          text += item.chs;
+        }
+      });
+      let sentence_json = {
+        item: JSON.stringify(this.item),
+        bg: this.bg,
+        ed: this.ed,
+        mp3: this.mp3,
+        pyPosition: this.curQue.property.pinyin_position,
+      };
+      let data = {
+        goods_id: this.currentTreeID,
+        goods_type: 502,
+        goods_name: Bookdetail.name,
+        goods_person_name_desc: Bookdetail.author ? Bookdetail.author : '',
+        goods_picture_id: Bookdetail.picture_id ? Bookdetail.picture_id : '',
+        goods_price: Bookdetail.price,
+        sentence: {
+          sentence_text: text,
+          sentence_json: JSON.stringify(sentence_json),
+        },
+      };
+      LearnWebSI(MethodName, data).then((res) => {
+        this.$set(this.isCollArr, this.curSentIndex, true);
+        this.$message.success('收藏成功!');
+      });
+      // } else {
+      //   this.$message.warning('权限不足!');
+      // }
     },
     // 取消收藏
     cancleColl() {
@@ -1144,14 +1144,14 @@ export default {
         _this.pauseAudio();
         _this.isNewWordPlay = false;
         let new_word = item.words ? item.words : item.chs;
-        _this.NNPENewWordList.forEach((items) => {
-          items.forEach((itemn) => {
-            if (itemn.new_word === new_word) {
-              _this.wordbg = itemn.bg;
-              _this.worded = itemn.ed;
-              _this.wordPlayMp3 = itemn.newWordMp3;
-            }
-          });
+        _this.NNPENewWordList.forEach((itemn) => {
+          // items.forEach((itemn) => {
+          if (itemn.new_word === new_word) {
+            _this.wordbg = itemn.bg;
+            _this.worded = itemn.ed;
+            _this.wordPlayMp3 = itemn.newWordMp3;
+          }
+          // });
         });
         setTimeout(() => {
           _this.isNewWordPlay = true;
@@ -1183,14 +1183,14 @@ export default {
       _this.clientY = e.clientY;
       let new_word = item.words ? item.words : item.chs;
       _this.wordPlayMp3 = '';
-      _this.NNPENewWordList.forEach((items) => {
-        items.forEach((itemn) => {
-          if (itemn.new_word === new_word) {
-            _this.wordbgs = itemn.bg;
-            _this.wordeds = itemn.ed;
-            _this.wordPlayMp3 = itemn.newWordMp3;
-          }
-        });
+      _this.NNPENewWordList.forEach((itemn) => {
+        // items.forEach((itemn) => {
+        if (itemn.new_word === new_word) {
+          _this.wordbgs = itemn.bg;
+          _this.wordeds = itemn.ed;
+          _this.wordPlayMp3 = itemn.newWordMp3;
+        }
+        // });
       });
       let left = e.clientX;
       let width = 0;
@@ -1246,10 +1246,10 @@ export default {
     },
     handleNewword() {
       let NewWordList = [];
-      this.NNPENewWordList.forEach((item) => {
-        item.forEach((wItem) => {
-          NewWordList.push(wItem.new_word);
-        });
+      this.NNPENewWordList.forEach((wItem) => {
+        // item.forEach((wItem) => {
+        NewWordList.push(wItem.new_word);
+        // });
       });
       this.newWordList = JSON.parse(JSON.stringify(NewWordList));
     },

+ 29 - 29
src/views/book/courseware/preview/components/article/components/Practice.vue

@@ -272,27 +272,27 @@ export default {
     },
     addColl() {
       let Bookdetail = sessionStorage.getItem('Bookdetail');
-      if (Bookdetail) {
-        Bookdetail = JSON.parse(Bookdetail);
-        let MethodName = 'order-collection_manager-AddMyCollection';
-        let data = {
-          goods_id: this.currentTreeID,
-          goods_type: 501,
-          goods_name: Bookdetail.name,
-          goods_person_name_desc: Bookdetail.author ? Bookdetail.author : '',
-          goods_picture_id: Bookdetail.picture_id ? Bookdetail.picture_id : '',
-          goods_price: Bookdetail.price,
-          new_word: {
-            new_word: this.cur.stem[0].con,
-          },
-        };
-        LearnWebSI(MethodName, data).then((res) => {
-          this.collFlag = true;
-          this.$message.success('收藏成功!');
-        });
-      } else {
-        this.$message.warning('权限不足!');
-      }
+      // if (Bookdetail) {
+      Bookdetail = JSON.parse(Bookdetail);
+      let MethodName = 'order-collection_manager-AddMyCollection';
+      let data = {
+        goods_id: this.currentTreeID,
+        goods_type: 501,
+        goods_name: Bookdetail.name,
+        goods_person_name_desc: Bookdetail.author ? Bookdetail.author : '',
+        goods_picture_id: Bookdetail.picture_id ? Bookdetail.picture_id : '',
+        goods_price: Bookdetail.price,
+        new_word: {
+          new_word: this.cur.stem[0].con,
+        },
+      };
+      LearnWebSI(MethodName, data).then((res) => {
+        this.collFlag = true;
+        this.$message.success('收藏成功!');
+      });
+      // } else {
+      //   this.$message.warning('权限不足!');
+      // }
     },
     // 取消收藏
     cancleColl() {
@@ -361,10 +361,10 @@ export default {
       if (_this.TaskModel == 'ANSWER') {
         _this.$refs.freewrite[_this.isShow].getStuImgList(_this.isShow);
       } else if (_this.navIndex == 1) {
-          setTimeout(() => {
-            _this.$refs.freewrite[_this.isShow].getImgList(_this.isShow);
-          }, 100);
-        }
+        setTimeout(() => {
+          _this.$refs.freewrite[_this.isShow].getImgList(_this.isShow);
+        }, 100);
+      }
     },
     handleClick2(index) {
       let _this = this;
@@ -372,10 +372,10 @@ export default {
       if (_this.TaskModel == 'ANSWER') {
         _this.$refs.freewrite[_this.isShow].getStuImgList(_this.isShow);
       } else if (_this.navIndex == 1) {
-          setTimeout(() => {
-            _this.$refs.freewrite[_this.isShow].getImgList(_this.isShow);
-          }, 100);
-        }
+        setTimeout(() => {
+          _this.$refs.freewrite[_this.isShow].getImgList(_this.isShow);
+        }, 100);
+      }
     },
     saveWriteAnswer(data) {
       let answer = JSON.parse(JSON.stringify(data));

+ 21 - 21
src/views/book/courseware/preview/components/article/components/Wordcard.vue

@@ -271,27 +271,27 @@ export default {
     },
     addColl() {
       let Bookdetail = sessionStorage.getItem('Bookdetail');
-      if (Bookdetail) {
-        Bookdetail = JSON.parse(Bookdetail);
-        let MethodName = 'order-collection_manager-AddMyCollection';
-        let data = {
-          goods_id: this.currentTreeID,
-          goods_type: 501,
-          goods_name: Bookdetail.name,
-          goods_person_name_desc: Bookdetail.author ? Bookdetail.author : '',
-          goods_picture_id: Bookdetail.picture_id ? Bookdetail.picture_id : '',
-          goods_price: Bookdetail.price,
-          new_word: {
-            new_word: this.word.detail.new_word,
-          },
-        };
-        LearnWebSI(MethodName, data).then((res) => {
-          this.collFlag = true;
-          this.$message.success('收藏成功!');
-        });
-      } else {
-        this.$message.warning('权限不足!');
-      }
+      // if (Bookdetail) {
+      Bookdetail = JSON.parse(Bookdetail);
+      let MethodName = 'order-collection_manager-AddMyCollection';
+      let data = {
+        goods_id: this.currentTreeID,
+        goods_type: 501,
+        goods_name: Bookdetail.name,
+        goods_person_name_desc: Bookdetail.author ? Bookdetail.author : '',
+        goods_picture_id: Bookdetail.picture_id ? Bookdetail.picture_id : '',
+        goods_price: Bookdetail.price,
+        new_word: {
+          new_word: this.word.detail.new_word,
+        },
+      };
+      LearnWebSI(MethodName, data).then((res) => {
+        this.collFlag = true;
+        this.$message.success('收藏成功!');
+      });
+      // } else {
+      //   this.$message.warning('权限不足!');
+      // }
     },
     // 取消收藏
     cancleColl() {

+ 8 - 8
src/views/book/courseware/preview/components/article/index.vue

@@ -538,14 +538,14 @@ export default {
     },
     handleNewword() {
       let NewWordList = [];
-      this.NNPENewWordList.forEach((item) => {
-        item.forEach((wItem) => {
-          if (wItem.new_word) {
-            NewWordList.push(wItem.new_word);
-          } else if (wItem.detail && wItem.detail.sentence) {
-            NewWordList.push(wItem.detail.sentence);
-          }
-        });
+      this.NNPENewWordList.forEach((wItem) => {
+        // item.forEach((wItem) => {
+        if (wItem.new_word) {
+          NewWordList.push(wItem.new_word);
+        } else if (wItem.detail && wItem.detail.sentence) {
+          NewWordList.push(wItem.detail.sentence);
+        }
+        // });
       });
       this.newWordList = JSON.parse(JSON.stringify(NewWordList));
     },

+ 8 - 9
src/views/book/courseware/preview/components/dialogue_article/NormalModelChs.vue

@@ -102,7 +102,7 @@
                       >
                         <span class="NNPE-words-box">
                           <span
-                            v-if="curQue.pyPosition == 'top' && config.isShowPY && item.dhaspinyin"
+                            v-if="curQue.property.pinyin_position == 'top' && config.isShowPY && item.dhaspinyin"
                             class="NNPE-pinyin"
                             :class="[
                               pItem.className ? pItem.className : '',
@@ -152,7 +152,7 @@
                             </template>
                           </span>
                           <span
-                            v-if="curQue.pyPosition == 'bottom' && config.isShowPY && item.dhaspinyin"
+                            v-if="curQue.property.pinyin_position == 'bottom' && config.isShowPY && item.dhaspinyin"
                             class="NNPE-pinyin"
                             :class="[
                               pItem.className ? pItem.className : '',
@@ -172,7 +172,7 @@
                         </span>
                         <span class="NNPE-words-box">
                           <span
-                            v-if="curQue.pyPosition == 'top' && config.isShowPY && item.dhaspinyin"
+                            v-if="curQue.property.pinyin_position == 'top' && config.isShowPY && item.dhaspinyin"
                             class="NNPE-pinyin"
                             :class="[noFont.indexOf(item.wordsList[pIndex + 1].pinyin) > -1 ? 'noFont' : '']"
                             @click.stop="
@@ -221,7 +221,7 @@
                             }}</span
                           >
                           <span
-                            v-if="curQue.pyPosition == 'bottom' && config.isShowPY && item.dhaspinyin"
+                            v-if="curQue.property.pinyin_position == 'bottom' && config.isShowPY && item.dhaspinyin"
                             class="NNPE-pinyin"
                             :class="[noFont.indexOf(item.wordsList[pIndex + 1].pinyin) > -1 ? 'noFont' : '']"
                             @click.stop="
@@ -247,7 +247,7 @@
                           "
                         >
                           <span
-                            v-if="curQue.pyPosition == 'top' && config.isShowPY && item.dhaspinyin"
+                            v-if="curQue.property.pinyin_position == 'top' && config.isShowPY && item.dhaspinyin"
                             :class="[
                               'NNPE-pinyin',
                               noFont.indexOf(item.wordsList[pIndex + 2].pinyin) > -1 ? 'noFont' : '',
@@ -297,7 +297,7 @@
                             }}</span
                           >
                           <span
-                            v-if="curQue.pyPosition == 'bottom' && config.isShowPY && item.dhaspinyin"
+                            v-if="curQue.property.pinyin_position == 'bottom' && config.isShowPY && item.dhaspinyin"
                             :class="[
                               'NNPE-pinyin',
                               noFont.indexOf(item.wordsList[pIndex + 2].pinyin) > -1 ? 'noFont' : '',
@@ -318,7 +318,7 @@
                       </template>
                       <template v-else>
                         <span
-                          v-if="curQue.pyPosition == 'top' && config.isShowPY && item.dhaspinyin"
+                          v-if="curQue.property.pinyin_position == 'top' && config.isShowPY && item.dhaspinyin"
                           class="NNPE-pinyin"
                           :class="[
                             pItem.chs != '“' && pItem.padding ? 'padding' : '',
@@ -374,7 +374,7 @@
                           </template>
                         </span>
                         <span
-                          v-if="curQue.pyPosition == 'bottom' && config.isShowPY && item.dhaspinyin"
+                          v-if="curQue.property.pinyin_position == 'bottom' && config.isShowPY && item.dhaspinyin"
                           class="NNPE-pinyin"
                           :class="[
                             pItem.chs != '“' && pItem.padding ? 'padding' : '',
@@ -675,7 +675,6 @@ export default {
         resArr.push(paraObj);
       });
       this.resArr = resArr;
-      console.log(resArr);
 
       // 循环文章图片
       if (curQue.img_list) {

+ 43 - 42
src/views/book/courseware/preview/components/dialogue_article/PhraseModelChs.vue

@@ -80,7 +80,7 @@
                       >
                         <span class="NNPE-words-box">
                           <span
-                            v-if="curQue.pyPosition == 'top' && config.isShowPY && item.dhaspinyin"
+                            v-if="curQue.property.pinyin_position == 'top' && config.isShowPY && item.dhaspinyin"
                             class="NNPE-pinyin"
                             :class="[
                               pItem.className ? pItem.className : '',
@@ -104,7 +104,7 @@
                             >{{ NumberList.indexOf(pItem.pinyin) == -1 ? pItem.chs : '' }}</span
                           >
                           <span
-                            v-if="curQue.pyPosition == 'bottom' && config.isShowPY && item.dhaspinyin"
+                            v-if="curQue.property.pinyin_position == 'bottom' && config.isShowPY && item.dhaspinyin"
                             class="NNPE-pinyin"
                             :class="[
                               pItem.className ? pItem.className : '',
@@ -116,7 +116,7 @@
                         </span>
                         <span class="NNPE-words-box">
                           <span
-                            v-if="curQue.pyPosition == 'top' && config.isShowPY && item.dhaspinyin"
+                            v-if="curQue.property.pinyin_position == 'top' && config.isShowPY && item.dhaspinyin"
                             class="NNPE-pinyin"
                             style="text-align: left"
                             :class="[noFont.indexOf(item.wordsList[pIndex + 1].pinyin) > -1 ? 'noFont' : '']"
@@ -146,7 +146,7 @@
                             }}</span
                           >
                           <span
-                            v-if="curQue.pyPosition == 'bottom' && config.isShowPY && item.dhaspinyin"
+                            v-if="curQue.property.pinyin_position == 'bottom' && config.isShowPY && item.dhaspinyin"
                             class="NNPE-pinyin"
                             :class="[noFont.indexOf(item.wordsList[pIndex + 1].pinyin) > -1 ? 'noFont' : '']"
                             @click.stop="viewNotes($event, item.wordsList[pIndex + 1].pinyin)"
@@ -164,7 +164,7 @@
                           "
                         >
                           <span
-                            v-if="curQue.pyPosition == 'top' && config.isShowPY && item.dhaspinyin"
+                            v-if="curQue.property.pinyin_position == 'top' && config.isShowPY && item.dhaspinyin"
                             :class="[
                               'NNPE-pinyin',
                               noFont.indexOf(item.wordsList[pIndex + 2].pinyin) > -1 ? 'noFont' : '',
@@ -205,7 +205,7 @@
                             }}</span
                           >
                           <span
-                            v-if="curQue.pyPosition == 'bottom' && config.isShowPY && item.dhaspinyin"
+                            v-if="curQue.property.pinyin_position == 'bottom' && config.isShowPY && item.dhaspinyin"
                             :class="[
                               'NNPE-pinyin',
                               noFont.indexOf(item.wordsList[pIndex + 2].pinyin) > -1 ? 'noFont' : '',
@@ -218,7 +218,7 @@
                       </template>
                       <template v-else>
                         <span
-                          v-if="curQue.pyPosition == 'top' && config.isShowPY && item.dhaspinyin"
+                          v-if="curQue.property.pinyin_position == 'top' && config.isShowPY && item.dhaspinyin"
                           class="NNPE-pinyin"
                           :class="[
                             pItem.chs != '“' && pItem.padding ? 'padding' : '',
@@ -245,7 +245,7 @@
                           >{{ NumberList.indexOf(pItem.pinyin) == -1 ? pItem.chs : '' }}</span
                         >
                         <span
-                          v-if="curQue.pyPosition == 'bottom' && config.isShowPY && item.dhaspinyin"
+                          v-if="curQue.property.pinyin_position == 'bottom' && config.isShowPY && item.dhaspinyin"
                           class="NNPE-pinyin"
                           :class="[
                             pItem.chs != '“' && pItem.padding ? 'padding' : '',
@@ -300,7 +300,7 @@
     </template>
     <template v-if="isShow">
       <div
-        ref="wordcard"
+        ref="dialogueWordcard"
         class="NNPE-wordDetail"
         :style="{
           marginLeft:
@@ -328,7 +328,7 @@
     </template>
     <template v-if="isNoteShow">
       <div
-        ref="notecard"
+        ref="dialogueNotecard"
         class="NNPE-wordDetail NNPE-noteDetail"
         :style="{
           marginLeft: windowWidth > 642 ? '-321px' : '0px',
@@ -450,7 +450,8 @@ export default {
         let _this = this;
         if (val) {
           setTimeout(() => {
-            _this.cardHeight = _this.$refs.wordcard.offsetHeight;
+            console.log(_this.$refs.dialogueWordcard);
+            _this.cardHeight = _this.$refs.dialogueWordcard.offsetHeight;
             if (_this.screenHeight - _this.clientY > _this.cardHeight) {
               _this.top = _this.clientY + 20;
             } else {
@@ -477,7 +478,7 @@ export default {
         let _this = this;
         if (val) {
           setTimeout(() => {
-            _this.cardHeight = _this.$refs.notecard.offsetHeight;
+            _this.cardHeight = _this.$refs.dialogueNotecard.offsetHeight;
             if (_this.screenHeight - _this.clientY > _this.cardHeight) {
               _this.top = _this.clientY + 20;
             } else {
@@ -678,14 +679,14 @@ export default {
 
     handleNewword() {
       let NewWordList = [];
-      this.NNPENewWordList.forEach((item) => {
-        item.forEach((wItem) => {
-          if (wItem.new_word) {
-            NewWordList.push(wItem.new_word);
-          } else if (wItem.detail && wItem.detail.sentence) {
-            NewWordList.push(wItem.detail.sentence);
-          }
-        });
+      this.NNPENewWordList.forEach((wItem) => {
+        // item.forEach((wItem) => {
+        if (wItem.new_word) {
+          NewWordList.push(wItem.new_word);
+        } else if (wItem.detail && wItem.detail.sentence) {
+          NewWordList.push(wItem.detail.sentence);
+        }
+        // });
       });
       this.newWordList = JSON.parse(JSON.stringify(NewWordList));
     },
@@ -749,21 +750,21 @@ export default {
       this.word = null;
       for (let i = 0; i < this.NNPENewWordList.length; i++) {
         let pItem = this.NNPENewWordList[i];
-        for (let j = 0; j < pItem.length; j++) {
-          let item = pItem[j];
-          if (item.new_word.trim() == val.trim()) {
-            let wordlist = val.split('');
-            this.word = JSON.parse(
-              JSON.stringify({
-                list: wordlist,
-                detail: item,
-                top: top,
-                left: left,
-              }),
-            );
-            break;
-          }
+        // for (let j = 0; j < pItem.length; j++) {
+        let item = pItem;
+        if (item.new_word.trim() == val.trim()) {
+          let wordlist = val.split('');
+          this.word = JSON.parse(
+            JSON.stringify({
+              list: wordlist,
+              detail: item,
+              top: top,
+              left: left,
+            }),
+          );
+          break;
         }
+        // }
       }
       this.oldHz = val;
     },
@@ -772,14 +773,14 @@ export default {
       _this.clickType = 'note';
       let noteIndex = '';
       _this.wordPlayMp3 = '';
-      _this.NNPENewWordList.forEach((items) => {
-        items.forEach((itemn) => {
-          if (itemn.new_word === noteNum) {
-            _this.wordbgs = itemn.bg;
-            _this.wordeds = itemn.ed;
-            _this.wordPlayMp3 = itemn.newWordMp3;
-          }
-        });
+      _this.NNPENewWordList.forEach((itemn) => {
+        // items.forEach((itemn) => {
+        if (itemn.new_word === noteNum) {
+          _this.wordbgs = itemn.bg;
+          _this.wordeds = itemn.ed;
+          _this.wordPlayMp3 = itemn.newWordMp3;
+        }
+        // });
       });
       if (_this.NumberList.indexOf(noteNum) > -1) {
         for (let i = 0; i < _this.NumberList.length; i++) {

+ 16 - 19
src/views/book/courseware/preview/components/dialogue_article/Practicechs.vue

@@ -135,7 +135,7 @@
                           "
                         >
                           <span class="NNPE-words-box">
-                            <template v-if="curQue.pyPosition == 'top'">
+                            <template v-if="curQue.property.pinyin_position == 'top'">
                               <span
                                 v-if="config.isShowPY && item.dhaspinyin"
                                 class="NNPE-pinyin"
@@ -179,7 +179,7 @@
                                 >
                               </template>
                             </span>
-                            <template v-if="curQue.pyPosition == 'bottom'">
+                            <template v-if="curQue.property.pinyin_position == 'bottom'">
                               <span
                                 v-if="config.isShowPY && item.dhaspinyin"
                                 class="NNPE-pinyin"
@@ -193,7 +193,7 @@
                             </template>
                           </span>
                           <span class="NNPE-words-box">
-                            <template v-if="curQue.pyPosition == 'top'">
+                            <template v-if="curQue.property.pinyin_position == 'top'">
                               <span
                                 v-if="config.isShowPY && item.dhaspinyin"
                                 :class="[
@@ -231,7 +231,7 @@
                                 }}</span
                               >
                             </span>
-                            <template v-if="curQue.pyPosition == 'bottom'">
+                            <template v-if="curQue.property.pinyin_position == 'bottom'">
                               <span
                                 v-if="config.isShowPY && item.dhaspinyin"
                                 :class="[
@@ -252,7 +252,7 @@
                               chsFhList.indexOf(item.sentArr[pIndex + 2].chs) > -1
                             "
                           >
-                            <template v-if="curQue.pyPosition == 'top'">
+                            <template v-if="curQue.property.pinyin_position == 'top'">
                               <span
                                 v-if="config.isShowPY && item.dhaspinyin"
                                 :class="[
@@ -290,7 +290,7 @@
                                 }}</span
                               >
                             </span>
-                            <template v-if="curQue.pyPosition == 'bottom'">
+                            <template v-if="curQue.property.pinyin_position == 'bottom'">
                               <span
                                 v-if="config.isShowPY && item.dhaspinyin"
                                 :class="[
@@ -305,7 +305,7 @@
                           </span>
                         </template>
                         <template v-else>
-                          <template v-if="curQue.pyPosition == 'top'">
+                          <template v-if="curQue.property.pinyin_position == 'top'">
                             <template v-if="NumberList.indexOf(pItem.pinyin) < 0">
                               <span
                                 v-if="config.isShowPY && item.dhaspinyin"
@@ -352,7 +352,7 @@
                               >
                             </template>
                           </span>
-                          <template v-if="curQue.pyPosition == 'bottom'">
+                          <template v-if="curQue.property.pinyin_position == 'bottom'">
                             <template v-if="NumberList.indexOf(pItem.pinyin) < 0">
                               <span
                                 v-if="config.isShowPY && item.dhaspinyin"
@@ -890,14 +890,14 @@ export default {
     },
     handleNewword() {
       let NewWordList = [];
-      this.NNPENewWordList.forEach((item) => {
-        item.forEach((wItem) => {
-          if (wItem.new_word) {
-            NewWordList.push(wItem.new_word);
-          } else if (wItem.detail && wItem.detail.sentence) {
-            NewWordList.push(wItem.detail.sentence);
-          }
-        });
+      this.NNPENewWordList.forEach((wItem) => {
+        // item.forEach((wItem) => {
+        if (wItem.new_word) {
+          NewWordList.push(wItem.new_word);
+        } else if (wItem.detail && wItem.detail.sentence) {
+          NewWordList.push(wItem.detail.sentence);
+        }
+        // });
       });
       this.newWordList = JSON.parse(JSON.stringify(NewWordList));
     },
@@ -906,9 +906,6 @@ export default {
   created() {},
   //生命周期 - 挂载完成(可以访问DOM元素)
   mounted() {
-    if (this.NNPENewWordList && this.NNPENewWordList.length > 0) {
-      this.handleNewword();
-    }
     if (this.curQue) {
       this.handleData();
     }

+ 92 - 3
src/views/book/courseware/preview/components/dialogue_article/RemarkChs.vue

@@ -1,15 +1,104 @@
+<!--  -->
 <template>
-  <div></div>
+  <div
+    v-if="
+      remarkDetail &&
+      (remarkDetail.chs || remarkDetail.en || (remarkDetail.img_list && remarkDetail.img_list.length > 0))
+    "
+    class="remarkChs"
+    :style="{ top: marginTop ? marginTop + 'px' : '0px' }"
+  >
+    <div v-if="remarkDetail.chs" class="remark-chs">{{ remarkDetail.chs }}</div>
+    <div v-if="remarkDetail.en" class="remark-en">{{ remarkDetail.en }}</div>
+    <div v-if="remarkDetail.img_list && remarkDetail.img_list.length > 0" class="remark-img">
+      <el-image
+        :style="{
+          width: remarkDetail.widthNumber ? remarkDetail.widthNumber + 'px' : '',
+          height: remarkDetail.heightNumber ? remarkDetail.heightNumber + 'px' : '',
+        }"
+        :src="remarkDetail.img_list[0].id"
+        fit="contain"
+        :preview-src-list="[remarkDetail.img_list[0].id]"
+      />
+    </div>
+  </div>
 </template>
 
 <script>
 export default {
   name: 'RemarkChs',
+  components: {},
+  props: ['remarkDetail', 'marginTop'],
   data() {
     return {};
   },
-  methods: {},
+  computed: {},
+  watch: {},
+  // 生命周期 - 创建完成(可以访问当前this实例)
+  created() {},
+  // 生命周期 - 挂载完成(可以访问DOM元素)
+  mounted() {},
+  beforeCreate() {}, // 生命周期 - 创建之前
+  beforeMount() {}, // 生命周期 - 挂载之前
+  beforeUpdate() {}, // 生命周期 - 更新之前
+  updated() {}, // 生命周期 - 更新之后
+  beforeDestroy() {}, // 生命周期 - 销毁之前
+  destroyed() {}, // 生命周期 - 销毁完成
+  activated() {},
+  // 方法集合
+  methods: {}, // 如果页面有keep-alive缓存功能,这个函数会触发
 };
 </script>
+<style lang="scss" scoped>
+//@import url(); 引入公共css类
+.remarkChs {
+  position: absolute;
+  top: 0;
+  box-sizing: border-box;
+  width: 178px;
+  border-radius: 8px;
+  box-shadow: 0 4px 8px rgba(0, 0, 0, 10%);
 
-<style lang="scss" scoped></style>
+  > .remark-chs {
+    box-sizing: border-box;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    width: 100%;
+    min-height: 34px;
+    font-size: 14px;
+    font-weight: normal;
+    line-height: 22px;
+    color: #fff;
+    text-align: center;
+    background: #988ed6;
+    border: 1px solid rgba(0, 0, 0, 10%);
+    border-radius: 8px 8px 0 0;
+  }
+
+  > .remark-en {
+    box-sizing: border-box;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    min-height: 34px;
+    font-size: 14px;
+    line-height: 22px;
+    color: #000;
+    text-align: center;
+    word-break: break-word;
+    border: 1px solid rgba(0, 0, 0, 10%);
+    border-top: 0;
+    border-radius: 0 0 8px 8px;
+  }
+
+  > .remark-img {
+    width: 100%;
+    text-align: center;
+
+    .el-image {
+      max-width: 178px;
+    }
+  }
+}
+</style>

+ 112 - 4
src/views/book/courseware/preview/components/dialogue_article/RoleChs.vue

@@ -1,15 +1,123 @@
 <template>
-  <div></div>
+  <div v-if="curRole" class="role-rItem">
+    <span v-if="curRole.color" class="adult-book-input-roleText" :style="{ background: curRole.color }">{{
+      curRole.name
+    }}</span>
+    <img
+      v-else-if="curRole.img_list.length > 0"
+      :src="curRole.img_list[0] && curRole.img_list[0].id"
+      class="adult-book-input-roleImg"
+    />
+    <div
+      v-else-if="curRole.simpleHead !== ''"
+      class="adult-book-input-roleImg"
+      :class="['adult-book-input-roleImg' + curRole.simpleHead]"
+    ></div>
+    <template v-if="type != 1 && curRole.detail.wordsList.length > 0">
+      <span class="pinyin" :style="{ color: wordColor }">{{ curRole.detail.wordsList | handlePinyin }}</span>
+      <span class="chs" :style="{ color: wordColor }">{{ curRole.detail.wordsList | handleChs }}</span>
+    </template>
+  </div>
 </template>
 
 <script>
 export default {
-  name: 'RoleChs',
+  components: {},
+  filters: {
+    handlePinyin(wordsList) {
+      let str = '';
+      wordsList.forEach((item, index) => {
+        if (index < wordsList.length - 1) {
+          str += `${item.pinyin} `;
+        } else {
+          str += item.pinyin;
+        }
+      });
+      return str;
+    },
+    handleChs(wordsList) {
+      let str = '';
+      wordsList.forEach((item, index) => {
+        if (index < wordsList.length - 1) {
+          str += `${item.chs} `;
+        } else {
+          str += item.chs;
+        }
+      });
+      return str;
+    },
+  },
+  props: ['curRole', 'color', 'type'],
   data() {
     return {};
   },
-  methods: {},
+  computed: {
+    wordColor() {
+      let color = 'rgba(0,0,0,0.85)';
+      if (this.color) {
+        color = this.color;
+      }
+      return color;
+    },
+  },
+  watch: {},
+  // 生命周期 - 创建完成(可以访问当前this实例)
+  created() {},
+  // 生命周期 - 挂载完成(可以访问DOM元素)
+  mounted() {},
+  beforeCreate() {}, // 生命周期 - 创建之前
+  beforeMount() {}, // 生命周期 - 挂载之前
+  beforeUpdate() {}, // 生命周期 - 更新之前
+  updated() {}, // 生命周期 - 更新之后
+  beforeDestroy() {}, // 生命周期 - 销毁之前
+  destroyed() {}, // 生命周期 - 销毁完成
+  activated() {},
+  // 方法集合
+  methods: {}, // 如果页面有keep-alive缓存功能,这个函数会触发
 };
 </script>
+<style lang="scss" scoped>
+//@import url(); 引入公共css类
+.role-rItem {
+  display: flex;
+  align-items: center;
+  justify-content: flex-start;
+
+  .adult-book-input {
+    &-roleText {
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      width: 36px;
+      height: 36px;
+      font-size: 12px;
+      line-height: 20px;
+      color: #fff;
+      text-align: center;
+      background: #a7a7a7;
+      border-radius: 100%;
+    }
+
+    &-roleImg {
+      width: 36px;
+      height: 36px;
+    }
+  }
+
+  .pinyin {
+    margin-right: 4px;
+    margin-left: 8px;
+    font-family: 'GB-PINYINOK-B';
+    font-size: 14px;
+    line-height: 22px;
+    color: rgba(0, 0, 0, 85%);
+  }
 
-<style lang="scss" scoped></style>
+  .chs {
+    font-family: 'FZJCGFKTK';
+    font-size: 16px;
+    line-height: 24px;
+    color: rgba(0, 0, 0, 85%);
+  }
+}
+</style>

+ 13 - 15
src/views/book/courseware/preview/components/dialogue_article/WordModelChs.vue

@@ -79,7 +79,7 @@
                       >
                         <span class="NNPE-words-box" @click="showWordDetail($event, pItem)">
                           <span
-                            v-if="curQue.pyPosition == 'top' && config.isShowPY && item.dhaspinyin"
+                            v-if="curQue.property.pinyin_position == 'top' && config.isShowPY && item.dhaspinyin"
                             class="NNPE-pinyin"
                             :class="[
                               pItem.className ? pItem.className : '',
@@ -105,7 +105,7 @@
                             >{{ NumberList.indexOf(pItem.pinyin) == -1 ? pItem.chs : '' }}</span
                           >
                           <span
-                            v-if="curQue.pyPosition == 'bottom' && config.isShowPY && item.dhaspinyin"
+                            v-if="curQue.property.pinyin_position == 'bottom' && config.isShowPY && item.dhaspinyin"
                             class="NNPE-pinyin"
                             :class="[
                               pItem.className ? pItem.className : '',
@@ -116,7 +116,7 @@
                         </span>
                         <span class="NNPE-words-box" @click="showWordDetail($event, item.wordsList[pIndex + 1])">
                           <span
-                            v-if="curQue.pyPosition == 'top' && config.isShowPY && item.dhaspinyin"
+                            v-if="curQue.property.pinyin_position == 'top' && config.isShowPY && item.dhaspinyin"
                             class="NNPE-pinyin"
                             :class="[noFont.indexOf(item.wordsList[pIndex + 1].pinyin) > -1 ? 'noFont' : '']"
                             style="text-align: left"
@@ -137,7 +137,7 @@
                             }}</span
                           >
                           <span
-                            v-if="curQue.pyPosition == 'bottom' && config.isShowPY && item.dhaspinyin"
+                            v-if="curQue.property.pinyin_position == 'bottom' && config.isShowPY && item.dhaspinyin"
                             class="NNPE-pinyin"
                             :class="[noFont.indexOf(item.wordsList[pIndex + 1].pinyin) > -1 ? 'noFont' : '']"
                             style="text-align: left"
@@ -154,7 +154,7 @@
                           @click="showWordDetail($event, item.wordsList[pIndex + 2])"
                         >
                           <span
-                            v-if="curQue.pyPosition == 'top' && config.isShowPY && item.dhaspinyin"
+                            v-if="curQue.property.pinyin_position == 'top' && config.isShowPY && item.dhaspinyin"
                             :class="[
                               'NNPE-pinyin',
                               noFont.indexOf(item.wordsList[pIndex + 2].pinyin) > -1 ? 'noFont' : '',
@@ -187,7 +187,7 @@
                             }}</span
                           >
                           <span
-                            v-if="curQue.pyPosition == 'bottom' && config.isShowPY && item.dhaspinyin"
+                            v-if="curQue.property.pinyin_position == 'bottom' && config.isShowPY && item.dhaspinyin"
                             :class="[
                               'NNPE-pinyin',
                               noFont.indexOf(item.wordsList[pIndex + 2].pinyin) > -1 ? 'noFont' : '',
@@ -199,7 +199,7 @@
                       </template>
                       <template v-else>
                         <span
-                          v-if="curQue.pyPosition == 'top' && config.isShowPY && item.dhaspinyin"
+                          v-if="curQue.property.pinyin_position == 'top' && config.isShowPY && item.dhaspinyin"
                           class="NNPE-pinyin"
                           :class="[
                             pItem.chs != '“' && pItem.padding ? 'padding' : '',
@@ -227,7 +227,7 @@
                           >{{ NumberList.indexOf(pItem.pinyin) == -1 ? pItem.chs : '' }}</span
                         >
                         <span
-                          v-if="curQue.pyPosition == 'bottom' && config.isShowPY && item.dhaspinyin"
+                          v-if="curQue.property.pinyin_position == 'bottom' && config.isShowPY && item.dhaspinyin"
                           class="NNPE-pinyin"
                           :class="[
                             pItem.chs != '“' && pItem.padding ? 'padding' : '',
@@ -683,10 +683,10 @@ export default {
     },
     handleNewword() {
       let NewWordList = [];
-      this.NNPENewWordList.forEach((item) => {
-        item.forEach((wItem) => {
-          NewWordList.push(wItem.new_word);
-        });
+      this.NNPENewWordList.forEach((wItem) => {
+        // item.forEach((wItem) => {
+        NewWordList.push(wItem.new_word);
+        // });
       });
       this.newWordList = JSON.parse(JSON.stringify(NewWordList));
     },
@@ -765,9 +765,7 @@ export default {
     if (this.curQue) {
       this.handleData();
     }
-    if (this.NNPENewWordList && this.NNPENewWordList.length > 0) {
-      this.handleNewword();
-    }
+
     window.addEventListener('resize', this.getScreenHeight);
     this.getScreenHeight();
   },

+ 13 - 11
src/views/book/courseware/preview/components/dialogue_article/index.vue

@@ -244,6 +244,9 @@ export default {
         },
         writeModel: {}, //生词/取词模式
         practiceModel: {}, //练习模式
+        wordModel: {
+          recordList: [],
+        },
       },
       tokenData: getToken(),
       mathNum: Math.random().toString(36).substr(2),
@@ -378,7 +381,6 @@ export default {
       }
     },
     handleData() {
-      console.log(this.data);
       let userAnswer = JSON.parse(JSON.stringify(this.userAnswer));
       this.$set(this.data, 'Bookanswer', userAnswer);
       if (this.data.mp3_list && this.data.mp3_list.length > 0) {
@@ -387,8 +389,8 @@ export default {
         });
       }
       this.NNPENewWordList = this.data.new_word_list_other_component_input
-        .concat(this.data.new_word_list.new_word_list)
-        .concat(this.data.other_word_list.new_word_list);
+        ? this.data.new_word_list_other_component_input
+        : [].concat(this.data.new_word_list.new_word_list).concat(this.data.other_word_list.new_word_list);
       this.NNPEAnnotationList = this.data.notes_list.option;
       let resArr = [],
         sentArrTotal = [],
@@ -534,14 +536,14 @@ export default {
     },
     handleNewword() {
       let NewWordList = [];
-      this.NNPENewWordList.forEach((item) => {
-        item.forEach((wItem) => {
-          if (wItem.new_word) {
-            NewWordList.push(wItem.new_word);
-          } else if (wItem.detail && wItem.detail.sentence) {
-            NewWordList.push(wItem.detail.sentence);
-          }
-        });
+      this.NNPENewWordList.forEach((wItem) => {
+        // item.forEach((wItem) => {
+        if (wItem.new_word) {
+          NewWordList.push(wItem.new_word);
+        } else if (wItem.detail && wItem.detail.sentence) {
+          NewWordList.push(wItem.detail.sentence);
+        }
+        // });
       });
       this.newWordList = JSON.parse(JSON.stringify(NewWordList));
     },