Browse Source

句子模板 字号 动态

natasha 2 years ago
parent
commit
61f7a84fb6

+ 1 - 1
src/components/Adult/common/DuoSentenceSegwordChs/components/DuoSegbywordChs.vue

@@ -107,7 +107,7 @@
           <div class="NPC-words-box">
             <span class="adult-book-lable">校对拼音:</span>
             <div class="NPC-words-list">
-              <SegwordConfig :data="curQue.wordsList[sentenceIndex]" />
+              <SegwordConfig :data="curQue.wordsList[sentenceIndex]" :curQue="curQue" />
             </div>
             <div class="yunmu">
               <span>点击可复制</span>

+ 44 - 3
src/components/Adult/common/SegwordConfig.vue

@@ -1,6 +1,28 @@
 <!--  -->
 <template>
   <div class="seg-word-config">
+    <div class="adult-book-input-item" v-if="curQue" style="margin-top:10px">
+        <span class="adult-book-lable">字的大小:</span>
+        <el-radio-group v-model="curQue.resetFontsize" @input="changeResetFontsize">
+            <el-radio label="12px">12px</el-radio>
+            <el-radio label="16px">16px</el-radio>
+            <el-radio label="20px">20px</el-radio>
+            <el-radio label="24px">24px</el-radio>
+            <el-radio label="28px">28px</el-radio>
+        </el-radio-group>
+    </div>
+    <div class="adult-book-input-item" v-if="curQue">
+            <span class="adult-book-lable">字体:</span>
+            <el-radio-group v-model="curQue.resetFontfamily" @input="changeResetFontfamily">
+              <el-radio
+                v-for="(item, index) in fontFamilyList"
+                :key="'fontFamilyList' + index"
+                :label="item.value"
+              >
+                <span>{{ item.name }}</span>
+              </el-radio>
+            </el-radio-group>
+          </div>
     <el-table :data="data" border style="width: 75%">
       <el-table-column prop="chs" label="词" width="120"> </el-table-column>
       <el-table-column label="拼音" width="220">
@@ -65,7 +87,7 @@
             <span class="adult-book-lable">设置下划线:</span>
             <el-checkbox v-model="scope.row.underLine">显示下划线</el-checkbox>
           </div>
-          <div class="adult-book-input-item" v-if="type!='dialogue_answer_chs'">
+          <div class="adult-book-input-item" v-if="type!='dialogue_answer_chs'&&type!='sentence_input_chs'&&type!='sentence_judge_chs'&&type!='sentence_record_chs'&&type!='sentence_input_record_chs'&&type!='sentence_listen_read_chs'">
             <span class="adult-book-lable">设置间距:</span>
             <el-checkbox-group v-model="scope.row.wordPadding">
               <el-checkbox
@@ -88,7 +110,7 @@ import "@/utils/pinyin_dict_withtone";
 import "@/utils/pinyinUtil";
 export default {
   components: {},
-  props: ["data", "type"],
+  props: ["data", "type", "curQue"],
   data() {
     return {
       colorList: [
@@ -138,11 +160,30 @@ export default {
       let result = pinyinUtil.getPinyin(item.chs);
       item.pinyin = result;
     },
+    changeResetFontsize(value){
+        this.data.forEach(item => {
+            item.fontSize = value
+        });
+    },
+    changeResetFontfamily(value){
+        this.data.forEach(item => {
+            item.fontFamily = value
+        });
+    }
   },
   //生命周期 - 创建完成(可以访问当前this实例)
   created() {},
   //生命周期 - 挂载完成(可以访问DOM元素)
-  mounted() {},
+  mounted() {
+    if(this.curQue){
+        if (!this.curQue.hasOwnProperty("resetFontsize")) {
+            this.$set(this.curQue, "resetFontsize", '');
+        }
+        if (!this.curQue.hasOwnProperty("resetFontfamily")) {
+            this.$set(this.curQue, "resetFontfamily", 'FZJCGFKTK');
+        }
+    }
+  },
   beforeCreate() {}, //生命周期 - 创建之前
   beforeMount() {}, //生命周期 - 挂载之前
   beforeUpdate() {}, //生命周期 - 更新之前

+ 13 - 5
src/components/Adult/common/SentenceModule.vue

@@ -24,7 +24,7 @@
     </div>
 
     <div class="NPC-sentence-Segword" v-if="type != 'recordHZ_inputPY_chs'">
-      <SentenceSegwordChs :curQue="curQueItem.detail" />
+      <SentenceSegwordChs :curQue="curQueItem.detail" :type="type"/>
       <div class="adult-book-input-item">
         <span class="adult-book-lable"></span>
         <span v-if="curQue.wordTime&&curQue.wordTime.length > 0" class="lrc">
@@ -131,13 +131,13 @@
                 maxlength="200"
                 show-word-limit
               ></el-input>
-              <div class="adult-book-del-icon" @click="delAnswer(ansIndex)">
+              <!-- <div class="adult-book-del-icon" @click="delAnswer(ansIndex)">
                 <i class="el-icon-circle-close"></i>
-              </div>
+              </div> -->
             </div>
           </div>
         </div>
-        <div class="adult-book-input-item" style="padding-left: 80px">
+        <!-- <div class="adult-book-input-item" style="padding-left: 80px">
           <el-button
             size="mini"
             type="primary"
@@ -145,7 +145,7 @@
             @click="addAnswer"
             >添加答案</el-button
           >
-        </div>
+        </div> -->
       </template>
     </div>
     <div v-for="(item, i) in fn_list" :key="i + 'judge'">
@@ -307,6 +307,14 @@ export default {
     if (this.curQueItem) {
       this.fileCon.img_list = this.curQueItem.img_list;
       this.fileCon.mp3_list = this.curQueItem.mp3_list;
+      if (!this.curQueItem.hasOwnProperty("con")) {
+        this.$set(this.curQueItem, "con", '');
+      }
+      if(this.type=='recordHZ_inputPY_chs'){
+        if(Object.prototype.toString.call(this.curQueItem.answer)=='[object Array]'){
+            this.$set(this.curQueItem, "answer", '');
+        }
+      }
     }
   },
   beforeCreate() {}, //生命周期 - 创建之前

+ 2 - 2
src/components/Adult/common/SentenceSegwordChs/components/SegbywordChs.vue

@@ -66,7 +66,7 @@
           <div class="NPC-words-box">
             <span class="adult-book-lable">校对拼音:</span>
             <div class="NPC-words-list">
-              <SegwordConfig :data="curQue.wordsList" />
+              <SegwordConfig :data="curQue.wordsList" :type="type" :curQue="curQue" />
             </div>
 
             <div class="yunmu">
@@ -107,7 +107,7 @@ import SegwordConfig from "../../SegwordConfig.vue";
 export default {
   name: "SentenceSegbywordChs",
   components: { SegwordConfig },
-  props: ["curQue", "segList", "segModel"],
+  props: ["curQue", "segList", "segModel","type"],
   data() {
     return {
       proofVisible: false,

+ 2 - 0
src/components/Adult/common/SentenceSegwordChs/index.vue

@@ -21,6 +21,7 @@
         :segList="segList"
         :segModel="segModel"
         @changeIsByWord="changeIsByWord"
+        :type="type"
       />
     </div>
   </div>
@@ -45,6 +46,7 @@ export default {
     "segModel",
     "isShowlabel",
     "name",
+    "type"
   ],
   data() {
     return {

+ 1 - 11
src/components/Adult/inputModules/DialogueTem/components/SegbywordChs.vue

@@ -94,21 +94,11 @@
             >
           </div>
         </div>
-        <!-- <div class="adult-book-input-item">
-            <span class="adult-book-lable">字的大小:</span>
-            <el-radio-group v-model="scope.row.fontSize">
-              <el-radio label="12px">12px</el-radio>
-              <el-radio label="16px">16px</el-radio>
-              <el-radio label="20px">20px</el-radio>
-              <el-radio label="24px">24px</el-radio>
-              <el-radio label="28px">28px</el-radio>
-            </el-radio-group>
-        </div> -->
         <template>
           <div class="NPC-words-box">
             <span class="Big-Book-left-text">校对拼音:</span>
             <div class="NPC-words-list">
-              <SegwordConfig :data="paraCon.wordsList[sentIndex]" :type="type" />
+              <SegwordConfig :data="paraCon.wordsList[sentIndex]" :type="type" :curQue="paraCon" />
             </div>
             <div class="yunmu">
               <span>点击可复制</span>

+ 2 - 1
src/components/Adult/inputModules/Sentence.vue

@@ -195,8 +195,9 @@ export default {
               seg_words: "",
               wordsList: [],
             },
+            con: "", // 内容
             en: "", //英文
-            answer: [],
+            answer: [''],
             judge: true,
           },
         ],

+ 29 - 5
src/components/Adult/preview/SentenceInput.vue

@@ -71,7 +71,7 @@
                           ]"
                           >{{ itemCon.pinyin }}</span
                         >
-                        <span class="hanzi content-con">{{ itemCon.chs }}</span>
+                        <span class="hanzi content-con" :style="wordStyle(itemCon.config)">{{ itemCon.chs }}</span>
                       </div>
                       <div style="text-align: left">
                         <span
@@ -87,7 +87,7 @@
                             items.detail.wordsList[indexCon + 1].pinyin
                           }}</span
                         >
-                        <span class="hanzi content-con">{{
+                        <span class="hanzi content-con" :style="wordStyle(items.detail.wordsList[indexCon + 1].config)">{{
                           items.detail.wordsList[indexCon + 1].chs
                         }}</span>
                       </div>
@@ -101,7 +101,7 @@
                       ]"
                       >{{ itemCon.pinyin }}</span
                     >
-                    <span class="hanzi content-con">{{ itemCon.chs }}</span>
+                    <span class="hanzi content-con" :style="wordStyle(itemCon.config)">{{ itemCon.chs }}</span>
                   </template>
                 </div>
               </div>
@@ -151,6 +151,7 @@
                       ].chs
                     "
                     :canEdit="TaskModel == 'ANSWER' ? false : true"
+                    :style="wordStyle(conent)"
                   ></EditDiv>
                   <!-- <el-input
                     class="input chs"
@@ -163,7 +164,7 @@
                 </el-input> -->
                 </template>
                 <template v-else>
-                  <p class="chs">
+                  <p class="chs" :style="wordStyle(conent)">
                     {{ conent.chs }}
                   </p>
                 </template>
@@ -305,7 +306,23 @@ export default {
       userErrList: [],
     };
   },
-  computed: {},
+  computed: {
+    wordStyle() {
+      return function (config) {
+        if(config){
+            console.log(config)
+            let sizeVal = config.fontSize.replace("px", "");
+            return {
+                minHeight: Number(sizeVal) + 9 + "px",
+                lineHeight: Number(sizeVal) + 8 + "px",
+                fontSize: config.fontSize,
+                fontFamily: config.fontFamily
+            };
+        }
+        
+      };
+    },
+  },
   watch: {},
   //方法集合
   methods: {
@@ -414,6 +431,13 @@ export default {
             chs: sItem.chs,
             isShow: sItem.isShow,
             inputNumber: sItem.chs.indexOf("__") > -1 ? inputNumber : "",
+            config: {
+                fontColor: sItem.fontColor,
+                fontFamily: sItem.fontFamily,
+                fontSize: sItem.fontSize,
+                underLine: sItem.underLine,
+                wordPadding: sItem.wordPadding,
+            },
           };
           paraArr.push(obj);
           if (sItem.chs.indexOf("__") > -1) {