|  | @@ -2,12 +2,49 @@
 | 
	
		
			
				|  |  |  <template>
 | 
	
		
			
				|  |  |    <div class="NNPE-Big-Book-preview adult-book-preview-sty preview-red">
 | 
	
		
			
				|  |  |      <div class="NNPE-title">
 | 
	
		
			
				|  |  | -      <h1>{{ fatherName }}</h1>
 | 
	
		
			
				|  |  | +        <!-- 页眉 -->
 | 
	
		
			
				|  |  | +        <!-- <div class="NNPE-title-left">
 | 
	
		
			
				|  |  | +            <div class="NNPE-title-item" v-for="(item,index) in cur.detailList" :key="index">
 | 
	
		
			
				|  |  | +                <template v-if="item.wordsList.length==0">
 | 
	
		
			
				|  |  | +                    <p :class="['content-con']" v-if="item.sentence">{{item.sentence}}</p>
 | 
	
		
			
				|  |  | +                </template>
 | 
	
		
			
				|  |  | +                <template v-else>
 | 
	
		
			
				|  |  | +                    <div class="con-box">
 | 
	
		
			
				|  |  | +                        <div :class="['con-item',indexCon===0?'con-item-0':'']" v-for="(itemCon,indexCon) in curQue.detail.resArr" :key="indexCon" v-show="itemCon.isShow">
 | 
	
		
			
				|  |  | +                            <template v-if="item.wordsList[indexCon + 1] && item.wordsList[indexCon + 1].chs && chsFhList.indexOf(item.wordsList[indexCon + 1].chs) > -1">
 | 
	
		
			
				|  |  | +                                <div class="synthesis-box">
 | 
	
		
			
				|  |  | +                                    <div>
 | 
	
		
			
				|  |  | +                                        <span class="pinyin">{{itemCon.pinyin}}</span>
 | 
	
		
			
				|  |  | +                                        <span class="hanzi content-con">{{itemCon.chs}}</span>
 | 
	
		
			
				|  |  | +                                    </div>
 | 
	
		
			
				|  |  | +                                    <div style="text-align: left">
 | 
	
		
			
				|  |  | +                                        <span class="pinyin">{{item.wordsList[indexCon + 1].pinyin}}</span>
 | 
	
		
			
				|  |  | +                                        <span class="hanzi content-con">{{item.wordsList[indexCon + 1].chs}}</span>
 | 
	
		
			
				|  |  | +                                    </div>
 | 
	
		
			
				|  |  | +                                </div>
 | 
	
		
			
				|  |  | +                                
 | 
	
		
			
				|  |  | +                            </template>
 | 
	
		
			
				|  |  | +                            <template v-else>
 | 
	
		
			
				|  |  | +                                <span class="pinyin">{{itemCon.pinyin}}</span>
 | 
	
		
			
				|  |  | +                                <span class="hanzi content-con">{{itemCon.chs}}</span>
 | 
	
		
			
				|  |  | +                            </template>
 | 
	
		
			
				|  |  | +                        </div>
 | 
	
		
			
				|  |  | +                    </div>
 | 
	
		
			
				|  |  | +                </template>
 | 
	
		
			
				|  |  | +            </div>
 | 
	
		
			
				|  |  | +            
 | 
	
		
			
				|  |  | +        </div> -->
 | 
	
		
			
				|  |  | +      <h1>{{fatherName}}</h1>
 | 
	
		
			
				|  |  |        <div class="NNPE-operate">
 | 
	
		
			
				|  |  |          <a class="btn-prev" @click="handleNNPEprev" />
 | 
	
		
			
				|  |  |          <a class="btn-next" @click="handleNNPEnext" />
 | 
	
		
			
				|  |  |        </div>
 | 
	
		
			
				|  |  |      </div>
 | 
	
		
			
				|  |  | +    <div class="classTopic-box">
 | 
	
		
			
				|  |  | +        <span v-for="(item,index) in cur.classTopic" :key="index" :class="item.font">
 | 
	
		
			
				|  |  | +            {{item.con}}
 | 
	
		
			
				|  |  | +        </span>
 | 
	
		
			
				|  |  | +    </div>
 | 
	
		
			
				|  |  |      <div v-if="cur" class="NNPE-Book-content-inner">
 | 
	
		
			
				|  |  |        <div v-for="(item, index) in cur.cur_fn_data" :key="index">
 | 
	
		
			
				|  |  |          <h2 v-if="item.z_title">{{ item.z_title }}</h2>
 | 
	
	
		
			
				|  | @@ -151,6 +188,12 @@
 | 
	
		
			
				|  |  |                      :type="itemss.type"
 | 
	
		
			
				|  |  |                    />
 | 
	
		
			
				|  |  |                  </template>
 | 
	
		
			
				|  |  | +                <template v-if="itemss.type == 'CourseStart_chs'">
 | 
	
		
			
				|  |  | +                  <CourseStart :cur-que="itemss.data" :handleNNPEnext="handleNNPEnext" />
 | 
	
		
			
				|  |  | +                </template>
 | 
	
		
			
				|  |  | +                <template v-if="itemss.type == 'tinydemo_chs'">
 | 
	
		
			
				|  |  | +                  <Tinydemo :cur-que="itemss.data" />
 | 
	
		
			
				|  |  | +                </template>
 | 
	
		
			
				|  |  |                </template>
 | 
	
		
			
				|  |  |              </div>
 | 
	
		
			
				|  |  |            </div>
 | 
	
	
		
			
				|  | @@ -187,6 +230,8 @@ import VoiceMatrix from "./preview/VoiceMatrix.vue"; // 语音矩阵
 | 
	
		
			
				|  |  |  import RecordModule from "./preview/RecordModule.vue"; // 录音组件
 | 
	
		
			
				|  |  |  import UploadControlView from "./preview/UploadControlView.vue"; //预览控件
 | 
	
		
			
				|  |  |  import DialogueAnswerViewChs from "./preview/DialogueArticleViewChs/DialogueAnswerViewChs.vue"; // 文章模板
 | 
	
		
			
				|  |  | +import CourseStart from "./preview/CourseStart.vue" // 封面
 | 
	
		
			
				|  |  | +import Tinydemo from "./preview/TinyModule.vue" // 富文本
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  export default {
 | 
	
		
			
				|  |  |    name: "Preview",
 | 
	
	
		
			
				|  | @@ -217,6 +262,8 @@ export default {
 | 
	
		
			
				|  |  |      RecordModule,
 | 
	
		
			
				|  |  |      UploadControlView,
 | 
	
		
			
				|  |  |      DialogueAnswerViewChs,
 | 
	
		
			
				|  |  | +    CourseStart,
 | 
	
		
			
				|  |  | +    Tinydemo,
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    props: [
 | 
	
		
			
				|  |  |      "context",
 | 
	
	
		
			
				|  | @@ -259,6 +306,7 @@ export default {
 | 
	
		
			
				|  |  |            bg: "rgba(255, 138, 0, 0.1)",
 | 
	
		
			
				|  |  |          },
 | 
	
		
			
				|  |  |        ],
 | 
	
		
			
				|  |  | +      chsFhList: [",", "。", "“", ":", "》", "《", "?", "!", ";"],
 | 
	
		
			
				|  |  |      };
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    computed: {},
 | 
	
	
		
			
				|  | @@ -281,6 +329,7 @@ export default {
 | 
	
		
			
				|  |  |      const _this = this;
 | 
	
		
			
				|  |  |      if (_this.context) {
 | 
	
		
			
				|  |  |        _this.initContextData();
 | 
	
		
			
				|  |  | +    //   _this.handleTitleData();
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    beforeCreate() {}, // 生命周期 - 创建之前
 | 
	
	
		
			
				|  | @@ -292,6 +341,21 @@ export default {
 | 
	
		
			
				|  |  |    activated() {},
 | 
	
		
			
				|  |  |    // 方法集合
 | 
	
		
			
				|  |  |    methods: {
 | 
	
		
			
				|  |  | +    // 处理数据
 | 
	
		
			
				|  |  | +    handleTitleData(){
 | 
	
		
			
				|  |  | +        let _this = this
 | 
	
		
			
				|  |  | +        let curQue = JSON.parse(JSON.stringify(this.cur.detailList));
 | 
	
		
			
				|  |  | +        let paraArr = []
 | 
	
		
			
				|  |  | +        curQue.wordsList.forEach((sItem, sIndex) => {
 | 
	
		
			
				|  |  | +            let obj = {
 | 
	
		
			
				|  |  | +                pinyin: sItem.pinyin,
 | 
	
		
			
				|  |  | +                chs: sItem.chs,
 | 
	
		
			
				|  |  | +                isShow: true,
 | 
	
		
			
				|  |  | +            };
 | 
	
		
			
				|  |  | +            paraArr.push(obj);
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +        this.$set(_this.curQue.detail,'resArr',paraArr)
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  |      initContextData() {
 | 
	
		
			
				|  |  |        const _this = this;
 | 
	
		
			
				|  |  |        _this.contextData = JSON.parse(JSON.stringify(_this.context));
 | 
	
	
		
			
				|  | @@ -554,6 +618,29 @@ export default {
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  | +  .classTopic-box{
 | 
	
		
			
				|  |  | +      background: #E35454;
 | 
	
		
			
				|  |  | +      border-radius: 8px;
 | 
	
		
			
				|  |  | +      width: 780px;
 | 
	
		
			
				|  |  | +      margin: 24px auto 0 auto;
 | 
	
		
			
				|  |  | +      text-align: center;
 | 
	
		
			
				|  |  | +      padding: 8px 24px;
 | 
	
		
			
				|  |  | +      span{
 | 
	
		
			
				|  |  | +          font-size: 16px;
 | 
	
		
			
				|  |  | +          line-height: 150%; 
 | 
	
		
			
				|  |  | +          color: #FFFFFF;
 | 
	
		
			
				|  |  | +          padding: 0 1px;
 | 
	
		
			
				|  |  | +          &.cn{
 | 
	
		
			
				|  |  | +             font-family: 'FZJCGFKTK';  
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          &.en{
 | 
	
		
			
				|  |  | +             font-family: 'robot';  
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          &.pinyin{
 | 
	
		
			
				|  |  | +             font-family: 'GB-PINYINOK-B';  
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  |    .NNPE-Book-content-inner {
 | 
	
		
			
				|  |  |      padding: 0 40px;
 | 
	
		
			
				|  |  |      > div {
 |