natasha 3 months ago
parent
commit
6ea5c7beaa

+ 7 - 2
src/views/book/courseware/create/components/question/character_structure/CharacterStructure.vue

@@ -185,9 +185,14 @@ export default {
       GetFileURLMap({ file_id_list: file_id_list }).then(({ url_map }) => {
         file_id_list.forEach((id) => {
           let items = this.data.structure_img_list.find((p) => p.file_id === id);
-          items.value = url_map[id];
+          if (items) {
+            items.value = url_map[id];
+          }
+
           let item = this.data.structure_select_list.find((p) => p.file_id === id);
-          item.value = url_map[id];
+          if (item) {
+            item.value = url_map[id];
+          }
         });
       });
     },

+ 8 - 2
src/views/book/courseware/preview/components/character_structure/CharacterStructurePreview.vue

@@ -63,6 +63,7 @@
           </div>
           <div class="answer">
             <!-- :disabled="TaskModel == 'ANSWER' ? true : items.is_example ? true : false" -->
+
             <draggable
               v-model="data.Bookanswer[row].answerList"
               animation="300"
@@ -193,7 +194,7 @@ export default {
       if (`${formIndex}` != 'NaN') {
         if (this.data.Bookanswer[formIndex].answerList.length > 1) {
           let arr = [];
-          this.data.option.forEach((item) => {
+          this.data.option_list.forEach((item) => {
             if (item.id == this.currentId) {
               arr.push(item);
             }
@@ -204,7 +205,6 @@ export default {
       this.SortArr = JSON.parse(JSON.stringify(this.dragData));
     },
     handleData() {
-      console.log(this.data);
       this.data.structure_select_list.forEach((item) => {
         let items = this.data.file_list.find((p) => p.file_id === item.file_id);
         if (items) {
@@ -216,6 +216,12 @@ export default {
           let obj = {
             id: items.answer,
             img_list: [],
+            img_url:
+              items.answer.length.length > 3
+                ? this.data.structure_select_list.find((p) => p.file_id === items.answer)
+                  ? this.data.structure_select_list.find((p) => p.file_id === items.answer).value
+                  : ''
+                : require('@/assets/structure/structure-' + items.answer + '.png'),
             userAnswerJudge: 'example',
           };
           this.single.push({

+ 2 - 1
src/views/book/courseware/preview/components/new_word/components/Strockplay.vue

@@ -70,6 +70,7 @@ export default {
   // 方法集合
   methods: {
     initHanziwrite() {
+      let _this = this;
       let node = document.getElementById(`${this.targetDiv}`);
       if (node.children.length > 1) {
         node.removeChild(node.children[1]);
@@ -77,7 +78,7 @@ export default {
       // var ren = require("hanzi-writer-data/国");
       this.writer = HanziWriter.default.create(this.targetDiv, this.Book_text, {
         charDataLoader(char, onComplete) {
-          let charData = this.handleData();
+          let charData = _this.handleData();
           onComplete(charData);
         },
         padding: 5,