guanchunjie 3 vuotta sitten
vanhempi
commit
8472ffe5c2

+ 50 - 1
src/components/Adult/inputModules/DialogueAnswerChs/index.vue

@@ -93,6 +93,7 @@ export default {
         name: "对话题",
         model: 1,
         pyPosition: "top", //top 拼音在上面;bottom 拼音在下面
+
         list: [
           {
             number: "",
@@ -105,7 +106,22 @@ export default {
             wordTime: [],
             taskId: "",
             answer: "",
+            judge: "",
             font: "cn",
+            fn_list: [
+              {
+                type: "dialogue_answer_input_chs",
+                name: "填空题",
+                isFn: false,
+                isDisable: false,
+              },
+              {
+                type: "dialogue_answer_judge_chs",
+                name: "判断题",
+                isFn: false,
+                isDisable: false,
+              },
+            ],
           },
         ],
         option: [
@@ -125,7 +141,14 @@ export default {
     };
   },
   computed: {},
-  watch: {},
+  watch: {
+    "curQue.list": {
+      handler: function (newVal, oldVal) {
+        this.$forceUpdate();
+      },
+      deep: true,
+    },
+  },
   //方法集合
   methods: {
     onBlur(item, field) {
@@ -161,6 +184,32 @@ export default {
     console.log("文章保存");
     console.log(this.curQue);
     if (this.curQue) {
+      this.curQue.list.map((item) => {
+        if (!item.fn_list) {
+          item.fn_list = [
+            {
+              type: "dialogue_answer_input_chs",
+              name: "填空题",
+              isFn: false,
+              isDisable: false,
+            },
+            {
+              type: "dialogue_answer_judge_chs",
+              name: "判断题",
+              isFn: false,
+              isDisable: false,
+            },
+          ];
+        }
+        item.detail.map((dItem) => {
+          if (!dItem.judge) {
+            dItem.judge = "";
+          }
+          return dItem;
+        });
+        return item;
+      });
+
       if (this.curQue.detail && this.curQue.detail.length > 0) {
         if (this.curQue.detail[0].para) {
           this.isPara = true;

+ 23 - 13
src/components/Adult/inputModules/DialogueTem/components/ParagraphChs.vue

@@ -36,19 +36,27 @@
           @blur="onBlur(item, 'para')"
           :readonly="readonly"
         ></el-input>
-        <el-button
-          size="small"
-          type="warning"
-          @click="addRemark(item, index)"
-          >{{ item.remark ? "修改备注" : "添加备注" }}</el-button
-        >
-        <img
-          @click="deleteOption(index)"
-          class="close"
-          src="../../../../../assets/adult/del-close.png"
-          alt=""
-          v-if="!readonly"
-        />
+        <div>
+          <el-button
+            size="small"
+            type="warning"
+            @click="addRemark(item, index)"
+            >{{ item.remark ? "修改备注" : "添加备注" }}</el-button
+          >
+          <template>
+            <el-radio-group v-model="item.judge">
+              <el-radio label="true">正确</el-radio>
+              <el-radio label="false">错误</el-radio>
+            </el-radio-group>
+          </template>
+          <img
+            @click="deleteOption(index)"
+            class="close"
+            src="../../../../../assets/adult/del-close.png"
+            alt=""
+            v-if="!readonly"
+          />
+        </div>
       </div>
       <el-button type="primary" size="small" @click="sureSegResult"
         >确定分句</el-button
@@ -232,6 +240,8 @@ export default {
   //生命周期 - 挂载完成(可以访问DOM元素)
   mounted() {
     this.readonly = this.isClause;
+    console.log("段落");
+    console.log(this.curQue);
     if (this.curQue) {
       this.initRoleList();
     }

+ 30 - 0
src/components/Adult/inputModules/DialogueTem/index.vue

@@ -40,6 +40,16 @@
       </el-radio-group>
     </div>
     <div class="adult-book-input-item">
+      <span class="adult-book-lable">功能设置:</span>
+      <el-checkbox-group v-model="checkList" @change="handleCheckedFnChange">
+        <el-checkbox
+          v-for="(fnItem, fnIndex) in curQue.fn_list"
+          :key="'dis_fn_list' + fnIndex"
+          :label="fnItem.name"
+        ></el-checkbox>
+      </el-checkbox-group>
+    </div>
+    <div class="adult-book-input-item">
       <span class="adult-book-lable">文章提示:</span>
       <el-input
         class="adult-book-input"
@@ -228,6 +238,7 @@ export default {
   },
   data() {
     return {
+      checkList: [],
       imgNumber: 1,
       mp3Number: 1,
       fileCon: {
@@ -276,6 +287,25 @@ export default {
       let res = this.curQueItem[field][index].trim();
       this.$set(this.curQueItem[field], index, res);
     },
+    // 更多配置选择
+    handleCheckedFnChange(value) {
+      let fn_list = JSON.parse(JSON.stringify(this.curQue.fn_list));
+
+      this.curQue.fn_list = fn_list.map((item) => {
+        if (value.indexOf(item.name) > -1) {
+          item.isFn = true;
+        } else {
+          item.isFn = false;
+          if (item.type == "dialogue_answer_input_chs") {
+            this.curQue.answer = "";
+          } else if (item.type == "dialogue_answer_judge_chs") {
+            this.curQue.judge = "";
+          }
+        }
+        return item;
+      });
+      
+    },
     changeMp3(fileList) {
       const articleImgList = JSON.parse(JSON.stringify(fileList));
       const articleImgRes = [];

+ 6 - 0
src/components/Adult/preview/DialogueArticleViewChs/AnswerModel.vue

@@ -184,6 +184,12 @@
                   class="mini-box"
                 />
               </div>
+              <div
+                class="input-record"
+                v-if="curQue.fn_list && curQue.fn_list[1].isFn"
+              >
+                <div v-if="item.timeList"></div>
+              </div>
             </div>
           </div>
           <div class="remarkBox remark-top" v-if="item.remarkDetail">

+ 0 - 1
src/components/Adult/preview/DialogueArticleViewChs/DialogueAnswerViewChs.vue

@@ -116,7 +116,6 @@
 </template>
 
 <script>
-import { timeStrToSen } from "@/utils/index";
 import AudioLine from "../AudioLine.vue";
 import RoleChs from "./RoleChs.vue";
 import RemarkChs from "./RemarkChs.vue";

+ 32 - 0
src/components/Adult/preview/DialogueArticleViewChs/Paraplay.vue

@@ -0,0 +1,32 @@
+<!--  -->
+<template>
+  <div class="para-play"></div>
+</template>
+
+<script>
+export default {
+  name: "para-play",
+  components: {},
+  data() {
+    return {};
+  },
+  computed: {},
+  watch: {},
+  //方法集合
+  methods: {},
+  //生命周期 - 创建完成(可以访问当前this实例)
+  created() {},
+  //生命周期 - 挂载完成(可以访问DOM元素)
+  mounted() {},
+  beforeCreate() {}, //生命周期 - 创建之前
+  beforeMount() {}, //生命周期 - 挂载之前
+  beforeUpdate() {}, //生命周期 - 更新之前
+  updated() {}, //生命周期 - 更新之后
+  beforeDestroy() {}, //生命周期 - 销毁之前
+  destroyed() {}, //生命周期 - 销毁完成
+  activated() {}, //如果页面有keep-alive缓存功能,这个函数会触发
+};
+</script>
+<style lang='scss' scoped>
+//@import url(); 引入公共css类
+</style>