| 
					
				 | 
			
			
				@@ -0,0 +1,189 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<!--  --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  <div class="Big-Book-Single" v-if="curQue"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <div class="Big-Book-Single-content" style="margin-top: 20px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div class="Big-Book-con"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <span>标题:</span>            
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-input 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          style="width: 300px" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          placeholder="请输入标题" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          v-model="curQue.title" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          @blur="onBlur(curQue, 'title')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ></el-input> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        class="Big-Book-main" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        v-for="(curQueItem, index) in curQue.option" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :key="'curQueItem' + index" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        style="border-bottom: 1px #ccc solid; margin-bottom: 20px" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="Big-Book-en"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <span>拼音:</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-input 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            style="width: 150px" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            placeholder="请输入拼音" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            v-model="curQueItem.con" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @blur="onBlur(curQueItem, 'con')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          ></el-input> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <img 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @click="deleteGroup" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            class="close" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            src="../../../assets/adult/del-close.png" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            alt="" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="Big-Book-mp3"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <Upload 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :changeFillId="changeMp3" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :datafileList="curQueItem.mp3_list" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :filleNumber="mp3Number" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :uploadType="'mp3'" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div class="addoption" @click="addoption">增加数字</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import Upload from "../common/Upload.vue"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  name: "Single", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  props: ["curQue", "changeCurQue"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  components: { Upload }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  data() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      mp3Number: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      toneList: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          imgSrC: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      data_structure: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        type: "toneSelect_chs", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name: "音调选择", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        title: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        option: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            con: "", //内容 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            mp3_list: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Answer: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  computed: {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  watch: {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  //方法集合 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    numberInput(value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.curQue.option[value].con = this.curQue.option[value].con.replace( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /\D/g, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onBlur(item, field) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      item[field] = item[field] ? item[field].trim() : ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    changeMp3(fileList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      console.log(fileList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      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.articleImgList = articleImgRes; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.curQueItem.mp3_list = JSON.parse(JSON.stringify(articleImgRes)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addoption() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let leg = this.curQue.option.length; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let last = this.curQue.option[leg - 1]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let res_data = JSON.parse(JSON.stringify(this.data_structure)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let obj = res_data.option[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.curQue.option.push(obj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    deleteGroup(index) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (this.curQue.option.length == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.$message.warning("至少剩余1个,不能全部删除"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.curQue.option.splice(index, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  //生命周期 - 创建完成(可以访问当前this实例) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  created() {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  //生命周期 - 挂载完成(可以访问DOM元素) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  mounted() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (!this.curQue) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let res_data = JSON.parse(JSON.stringify(this.data_structure)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.changeCurQue(res_data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  beforeCreate() {}, //生命周期 - 创建之前 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  beforeMount() {}, //生命周期 - 挂载之前 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  beforeUpdate() {}, //生命周期 - 更新之前 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  updated() {}, //生命周期 - 更新之后 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  beforeDestroy() {}, //生命周期 - 销毁之前 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  destroyed() {}, //生命周期 - 销毁完成 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  activated() {}, //如果页面有keep-alive缓存功能,这个函数会触发 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<style lang='scss' scope> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//@import url(); 引入公共css类 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.Big-Book-Single { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  &-content { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    &.m { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      justify-content: flex-start; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      align-items: flex-start; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .Big-Book-title { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      font-size: 16px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      line-height: 40px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      color: #000; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      margin-right: 15px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .Big-Book-main { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      > div { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        margin-bottom: 10px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        &.Big-Book-pinyin { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          justify-content: flex-start; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .addoption { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    width: 300px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    height: 40px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    left: 40px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    top: 304px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    background: #f3f3f3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    border: 1px dashed rgba(0, 0, 0, 0.15); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    box-sizing: border-box; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    border-radius: 4px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    text-align: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    line-height: 40px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cursor: pointer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .Big-Book-con { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    padding-bottom: 6px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    border-bottom: 1px dashed rgba(0, 0, 0, 0.15); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</style> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<style lang="scss"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</style> 
			 |