Ver código fonte

增加选项序号

秦鹏 3 anos atrás
pai
commit
5c184988dc

+ 8 - 0
src/components/Adult/common/SingleModule.vue

@@ -6,6 +6,14 @@
         <div class="adult-book-input-item">
           <span class="adult-book-lable">选项内容:</span>
           <el-input
+            style="width: 100px;margin-right:5px"
+            :autosize="{ minRows: 2 }"
+            type="textarea"
+            placeholder="请输入选项序号"
+            v-model="curQueItem.number"
+            @blur="curQueItem.number = curQueItem.number.trim()"
+          ></el-input>
+          <el-input
             class="adult-book-input"
             :autosize="{ minRows: 2 }"
             type="textarea"

+ 4 - 0
src/components/Adult/common/data3.js

@@ -762,6 +762,10 @@ let fnData = [{
         type: "text_problem_chs",
         name: "课文上方的问题",
     },
+    {
+        type: "newWord_preview_chs",
+        name: "生字展示",
+    },
 ]
 
 

+ 100 - 24
src/components/Adult/inputModules/PurePreview.vue

@@ -22,26 +22,68 @@
         :key="item + index"
         style="margin-bottom: 20px"
       >
-        <div class="adult-book-input-item">
-          <span class="adult-book-lable">序号:</span>
-          <el-input
-            class="adult-book-input"
-            type="textarea"
-            autosize
-            placeholder="请输入序号"
-            v-model="item.number"
-            @blur="onBlur(item, 'number')"
-          ></el-input>
-          <img
-            @click="deleteOptionOne"
-            class="close"
-            src="../../../assets/adult/del-close.png"
-            alt=""
-          />
-        </div>
-        <div class="NPC-sentence-Segword">
-          <SentenceSegwordChs :curQue="item.detail" />
-        </div>
+        <template v-if="this.type == 'text_problem_chs'">
+          <div class="adult-book-input-item">
+            <span class="adult-book-lable">序号:</span>
+            <el-input
+              class="adult-book-input"
+              type="textarea"
+              autosize
+              placeholder="请输入序号"
+              v-model="item.number"
+              @blur="onBlur(item, 'number')"
+            ></el-input>
+            <img
+              @click="deleteOptionOne"
+              class="close"
+              src="../../../assets/adult/del-close.png"
+              alt=""
+            />
+          </div>
+          <div class="NPC-sentence-Segword">
+            <SentenceSegwordChs :curQue="item.detail" />
+          </div>
+        </template>
+        <template v-if="this.type == 'newWord_preview_chs'">
+          <div class="adult-book-input-item">
+            <span class="adult-book-lable">拼音:</span>
+            <el-input
+              class="adult-book-input"
+              type="textarea"
+              autosize
+              placeholder="请输入拼音"
+              v-model="item.pinyin"
+              @blur="onBlur(item, 'pinyin')"
+            ></el-input>
+            <img
+              @click="deleteOptionOne"
+              class="close"
+              src="../../../assets/adult/del-close.png"
+              alt=""
+            />
+          </div>
+          <div class="adult-book-input-item">
+            <span class="adult-book-lable">生字:</span>
+            <el-input
+              class="adult-book-input"
+              type="textarea"
+              autosize
+              placeholder="请输入生字"
+              v-model="item.con"
+              @blur="onBlur(item, 'con')"
+            ></el-input>
+          </div>
+          <div class="adult-book-input-item">
+            <span class="adult-book-lable">音频:</span>
+            <Upload
+              :changeFillId="changeMp3"
+              :datafileList="item.mp3_list"
+              :filleNumber="mp3Number"
+              :uploadType="'mp3'"
+              :index='index'
+            />
+          </div>
+        </template>
       </div>
       <div class="Big-Book-addrole">
         <div class="addoption" @click="addOption">添加一个</div>
@@ -96,6 +138,19 @@ export default {
           },
         ],
       },
+
+      data_structure2: {
+        type: "newWord_preview_chs",
+        name: "生字展示",
+        title: "",
+        option: [
+          {
+            mp3_list: [],
+            con: "", //生字
+            pinyin: "", //拼音
+          },
+        ],
+      },
     };
   },
   computed: {},
@@ -121,9 +176,30 @@ export default {
     },
     initcurQue() {
       let data;
-      data = JSON.parse(JSON.stringify(this.data_structure));
+      if (this.type == "newWord_preview_chs") {
+        data = JSON.parse(JSON.stringify(this.data_structure2));
+      } else if (this.type == "text_problem_chs") {
+        data = JSON.parse(JSON.stringify(this.data_structure));
+      }
       this.changeCurQue(data);
     },
+    changeMp3(fileList,item,index) {
+      const articleImgList = JSON.parse(JSON.stringify(fileList));
+      const articleImgRes = [];
+      articleImgList.forEach((item) => {
+        if (item.response) {
+          const obj = {
+            name: item.name,
+            url: item.response.file_info_list[0].file_url,
+            id: "[FID##" + item.response.file_info_list[0].file_id + "##FID]",
+
+            media_duration: item.response.file_info_list[0].media_duration, //音频时长
+          };
+          articleImgRes.push(obj);
+        }
+      });
+      this.curQue.option[index].mp3_list = JSON.parse(JSON.stringify(articleImgRes));
+    },
   },
   //生命周期 - 创建完成(可以访问当前this实例)
   created() {
@@ -214,9 +290,9 @@ export default {
     display: flex;
     align-items: center;
   }
-  .close{
-      width: 24px;
-      cursor: pointer;
+  .close {
+    width: 24px;
+    cursor: pointer;
   }
 }
 </style>

+ 16 - 4
src/components/Adult/inputModules/Single.vue

@@ -27,7 +27,10 @@
           @blur="onBlur(curQue, 'title')"
         ></el-input>
       </div>
-      <div class="adult-book-input-item" v-if="type =='single_chs'||type=='checkbox_chs'">
+      <div
+        class="adult-book-input-item"
+        v-if="type == 'single_chs' || type == 'checkbox_chs'"
+      >
         <span class="adult-book-lable">录音:</span>
         <el-radio-group v-model="curQue.IsRecord">
           <el-radio :label="true">需要</el-radio>
@@ -49,7 +52,10 @@
           @blur="curQue.topic.con = curQue.topic.con.trim()"
         ></el-input>
       </div>
-      <div class="adult-book-input-item" v-if="type =='single_chs'||type=='checkbox_chs'">
+      <div
+        class="adult-book-input-item"
+        v-if="type == 'single_chs' || type == 'checkbox_chs'"
+      >
         <span class="adult-book-lable">题目图片:</span>
         <Upload
           :changeFillId="timuchangeImage"
@@ -139,12 +145,14 @@ export default {
         },
         option: [
           {
+            number: "",
             con: "",
             img_list: [],
             mp3_list: [],
             isAnswer: "",
           },
           {
+            number: "",
             con: "",
             img_list: [],
             mp3_list: [],
@@ -192,12 +200,14 @@ export default {
             img_list: [],
             mp3_list: [],
             isAnswer: "",
+            number: "",
           },
           {
             con: "",
             img_list: [],
             mp3_list: [],
             isAnswer: "",
+            number: "",
           },
         ],
         correct: [],
@@ -238,11 +248,13 @@ export default {
             con: "",
             mp3_list: [],
             isAnswer: "",
+            number: "",
           },
           {
             con: "",
             mp3_list: [],
             isAnswer: "",
+            number: "",
           },
         ],
         correct: [],
@@ -353,8 +365,8 @@ export default {
         this.changeCurQue(this.data_structure);
       } else if (this.type == "checkbox_chs") {
         this.changeCurQue(this.data_structure2);
-      } else if(this.type == 'listen_record_single_chs'){
-        this.changeCurQue(this.data_structure3)
+      } else if (this.type == "listen_record_single_chs") {
+        this.changeCurQue(this.data_structure3);
       }
     }
   },

+ 7 - 3
src/views/adultInput3.vue

@@ -276,7 +276,7 @@
                     <template
                       v-if="
                         topicIitem.type == 'single_chs' ||
-                        topicIitem.type == 'checkbox_chs'||
+                        topicIitem.type == 'checkbox_chs' ||
                         topicIitem.type == 'listen_record_single_chs'
                       "
                     >
@@ -290,7 +290,12 @@
                       </template>
                       <template v-else> </template>
                     </template>
-                    <template v-if="topicIitem.type == 'text_problem_chs'">
+                    <template
+                      v-if="
+                        topicIitem.type == 'text_problem_chs' ||
+                        topicIitem.type == 'newWord_preview_chs'
+                      "
+                    >
                       <template v-if="topicIitem.is_edit">
                         <PurePreview
                           :curQue="topicIitem.data"
@@ -425,7 +430,6 @@ import NumberCombination from "@/components/Adult/inputModules/NumberCombination
 import ImageQuestion from "@/components/Adult/inputModules/ImageQuestion.vue";
 import PurePreview from "@/components/Adult/inputModules/PurePreview.vue";
 
-
 import Textdes from "@/components/Adult/inputModules/Textdes.vue";
 import Record from "@/components/Adult/inputModules/Record.vue";
 import Hanzi from "@/components/Adult/inputModules/Hanzi.vue";