|
@@ -1,9 +1,9 @@
|
|
|
<!-- -->
|
|
|
<template>
|
|
|
<div
|
|
|
+ v-if="cur"
|
|
|
class="NPC-Big-Book-preview adult-book-preview-sty"
|
|
|
:class="['NPC-Big-Book-preview-' + themeColor]"
|
|
|
- v-if="cur"
|
|
|
>
|
|
|
<div class="NNPE-title">
|
|
|
<!-- 页眉 -->
|
|
@@ -16,21 +16,21 @@
|
|
|
<template
|
|
|
v-if="
|
|
|
item.detail &&
|
|
|
- item.detail.wordsList &&
|
|
|
- item.detail.wordsList.length == 0
|
|
|
+ item.detail.wordsList &&
|
|
|
+ item.detail.wordsList.length == 0
|
|
|
"
|
|
|
>
|
|
|
<p
|
|
|
v-if="item.detail.sentence"
|
|
|
:class="[
|
|
|
'content-con',
|
|
|
- /^[\u4e00-\u9fa5]/.test(item.detail.sentence) ? 'hasCn' : '',
|
|
|
+ /^[\u4e00-\u9fa5]/.test(item.detail.sentence) ? 'hasCn' : ''
|
|
|
]"
|
|
|
v-html="item.detail.sentence"
|
|
|
- ></p>
|
|
|
+ />
|
|
|
</template>
|
|
|
<template v-else>
|
|
|
- <div class="con-box" v-if="item.detail && item.detail.resArr">
|
|
|
+ <div v-if="item.detail && item.detail.resArr" class="con-box">
|
|
|
<div
|
|
|
v-for="(itemCon, indexCon) in item.detail.resArr"
|
|
|
v-show="itemCon.isShow"
|
|
@@ -40,11 +40,12 @@
|
|
|
<template
|
|
|
v-if="
|
|
|
item.detail &&
|
|
|
- item.detail.wordsList &&
|
|
|
- item.detail.wordsList[indexCon + 1] &&
|
|
|
- item.detail.wordsList[indexCon + 1].chs &&
|
|
|
- chsFhList.indexOf(item.detail.wordsList[indexCon + 1].chs) >
|
|
|
- -1
|
|
|
+ item.detail.wordsList &&
|
|
|
+ item.detail.wordsList[indexCon + 1] &&
|
|
|
+ item.detail.wordsList[indexCon + 1].chs &&
|
|
|
+ chsFhList.indexOf(
|
|
|
+ item.detail.wordsList[indexCon + 1].chs
|
|
|
+ ) > -1
|
|
|
"
|
|
|
>
|
|
|
<div class="synthesis-box">
|
|
@@ -52,15 +53,14 @@
|
|
|
<span
|
|
|
class="pinyin"
|
|
|
:class="[
|
|
|
- noFont.indexOf(itemCon.pinyin) > -1 ? 'noFont' : '',
|
|
|
+ noFont.indexOf(itemCon.pinyin) > -1 ? 'noFont' : ''
|
|
|
]"
|
|
|
- >{{ itemCon.pinyin }}</span
|
|
|
- >
|
|
|
+ >{{ itemCon.pinyin }}</span>
|
|
|
<span class="hanzi content-con">{{ itemCon.chs }}</span>
|
|
|
</div>
|
|
|
<div
|
|
|
- style="text-align: left"
|
|
|
v-if="item.detail.wordsList[indexCon + 1]"
|
|
|
+ style="text-align: left"
|
|
|
>
|
|
|
<span
|
|
|
class="pinyin"
|
|
@@ -69,10 +69,9 @@
|
|
|
item.detail.wordsList[indexCon + 1].pinyin
|
|
|
) > -1
|
|
|
? 'noFont'
|
|
|
- : '',
|
|
|
+ : ''
|
|
|
]"
|
|
|
- >{{ item.detail.wordsList[indexCon + 1].pinyin }}</span
|
|
|
- >
|
|
|
+ >{{ item.detail.wordsList[indexCon + 1].pinyin }}</span>
|
|
|
<span class="hanzi content-con">{{
|
|
|
item.detail.wordsList[indexCon + 1].chs
|
|
|
}}</span>
|
|
@@ -83,21 +82,28 @@
|
|
|
<span
|
|
|
class="pinyin"
|
|
|
:class="[
|
|
|
- noFont.indexOf(itemCon.pinyin) > -1 ? 'noFont' : '',
|
|
|
+ noFont.indexOf(itemCon.pinyin) > -1 ? 'noFont' : ''
|
|
|
]"
|
|
|
- >{{ itemCon.pinyin }}</span
|
|
|
- >
|
|
|
+ >{{ itemCon.pinyin }}</span>
|
|
|
<span class="hanzi content-con">{{ itemCon.chs }}</span>
|
|
|
</template>
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
|
- <p class="NNPE-title-item-en" v-html="item.en"></p>
|
|
|
+ <p class="NNPE-title-item-en" v-html="item.en" />
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="NNPE-operate" v-if="isShowTitle">
|
|
|
- <a class="btn-prev" :class="[preClick?'':'btn-prev-disabled']" @click="handleNNPEprev" />
|
|
|
- <a class="btn-next" :class="[nextClick?'':'btn-next-disabled']" @click="handleNNPEnext" />
|
|
|
+ <div v-if="isShowTitle" class="NNPE-operate">
|
|
|
+ <a
|
|
|
+ class="btn-prev"
|
|
|
+ :class="[preClick ? '' : 'btn-prev-disabled']"
|
|
|
+ @click="handleNNPEprev"
|
|
|
+ />
|
|
|
+ <a
|
|
|
+ class="btn-next"
|
|
|
+ :class="[nextClick ? '' : 'btn-next-disabled']"
|
|
|
+ @click="handleNNPEnext"
|
|
|
+ />
|
|
|
</div>
|
|
|
</div>
|
|
|
<div
|
|
@@ -121,30 +127,30 @@
|
|
|
class="title-box-preview"
|
|
|
>
|
|
|
<div
|
|
|
- class="title-big"
|
|
|
v-if="item.number || item.z_title || item.f_title"
|
|
|
+ class="title-big"
|
|
|
>
|
|
|
<b v-if="item.number">{{ item.number }}</b>
|
|
|
<div
|
|
|
class="title-box-right"
|
|
|
:class="[item.is_textIndex ? 'title-box-right-index' : '']"
|
|
|
>
|
|
|
- <h2 v-if="item.z_title" v-html="item.z_title"></h2>
|
|
|
+ <h2 v-if="item.z_title" v-html="item.z_title" />
|
|
|
<h3
|
|
|
v-if="item.f_title"
|
|
|
- v-html="item.f_title"
|
|
|
:style="{ marginTop: item.z_title ? '8px' : '0' }"
|
|
|
- ></h3>
|
|
|
+ v-html="item.f_title"
|
|
|
+ />
|
|
|
</div>
|
|
|
</div>
|
|
|
<div
|
|
|
class="title-little"
|
|
|
:class="[
|
|
|
- item.little_title_number || item.little_title ? 'marginTop' : '',
|
|
|
+ item.little_title_number || item.little_title ? 'marginTop' : ''
|
|
|
]"
|
|
|
>
|
|
|
- <b v-html="item.little_title_number"></b>
|
|
|
- <p v-html="item.little_title"></p>
|
|
|
+ <b v-html="item.little_title_number" />
|
|
|
+ <p v-html="item.little_title" />
|
|
|
</div>
|
|
|
<div
|
|
|
:class="['NNPE-tableList', item.is_bg ? 'NNPE-tableList-hasBg' : '']"
|
|
@@ -156,7 +162,7 @@
|
|
|
:class="[
|
|
|
indexs === item.table_list.length - 1
|
|
|
? 'NNPE-tableList-tr-last'
|
|
|
- : '',
|
|
|
+ : ''
|
|
|
]"
|
|
|
>
|
|
|
<div
|
|
@@ -166,7 +172,7 @@
|
|
|
'NNPE-tableList-item',
|
|
|
items.length == 1
|
|
|
? 'NNPE-tableList-item-noMargin'
|
|
|
- : 'NNPE-tableList-item' + items.length,
|
|
|
+ : 'NNPE-tableList-item' + items.length
|
|
|
]"
|
|
|
>
|
|
|
<template v-if="itemss.data">
|
|
@@ -174,63 +180,63 @@
|
|
|
<Ligature
|
|
|
:cur-que="itemss.data"
|
|
|
:theme-color="themeColor"
|
|
|
- :TaskModel="TaskModel"
|
|
|
+ :task-model="TaskModel"
|
|
|
/>
|
|
|
</template>
|
|
|
<template v-if="itemss.data.type == 'image'">
|
|
|
<Picture
|
|
|
+ v-if="refresh"
|
|
|
:cur-que="itemss.data"
|
|
|
:child-type="itemss.type"
|
|
|
:theme-color="themeColor"
|
|
|
- :TaskModel="TaskModel"
|
|
|
- v-if="refresh"
|
|
|
+ :task-model="TaskModel"
|
|
|
/>
|
|
|
</template>
|
|
|
<template v-if="itemss.type == 'phrase_chs'">
|
|
|
<WordPhrase
|
|
|
+ v-if="refresh"
|
|
|
:cur-que="itemss.data"
|
|
|
:theme-color="themeColor"
|
|
|
- :TaskModel="TaskModel"
|
|
|
- v-if="refresh"
|
|
|
+ :task-model="TaskModel"
|
|
|
/>
|
|
|
</template>
|
|
|
<template v-if="itemss.type == 'NewWord_chs'">
|
|
|
<WordPhrase
|
|
|
+ v-if="refresh"
|
|
|
:cur-que="itemss.data"
|
|
|
:theme-color="themeColor"
|
|
|
- :currentTreeID="currentTreeID"
|
|
|
+ :current-tree-i-d="currentTreeID"
|
|
|
:indexs="indexs"
|
|
|
:indexss="indexss"
|
|
|
- :TaskModel="TaskModel"
|
|
|
- v-if="refresh"
|
|
|
+ :task-model="TaskModel"
|
|
|
/>
|
|
|
</template>
|
|
|
<template v-if="itemss.type == 'annotation_chs'">
|
|
|
<WordPhrase
|
|
|
+ v-if="refresh"
|
|
|
:cur-que="itemss.data"
|
|
|
:theme-color="themeColor"
|
|
|
- :TaskModel="TaskModel"
|
|
|
- v-if="refresh"
|
|
|
+ :task-model="TaskModel"
|
|
|
/>
|
|
|
</template>
|
|
|
<template v-if="itemss.type == 'notes_chs'">
|
|
|
<Notes
|
|
|
+ v-if="refresh"
|
|
|
:cur-que="itemss.data"
|
|
|
:theme-color="themeColor"
|
|
|
- :TaskModel="TaskModel"
|
|
|
- v-if="refresh"
|
|
|
+ :task-model="TaskModel"
|
|
|
/>
|
|
|
</template>
|
|
|
<template v-if="itemss.type == 'article_chs'">
|
|
|
<ArticleTemChs
|
|
|
+ v-if="refresh"
|
|
|
:cur-que="itemss.data"
|
|
|
:n-n-p-e-new-word-list="NNPENewWordList"
|
|
|
:n-n-p-e-new-phrase-list="NNPENewPhraseList"
|
|
|
:n-n-p-e-annotation-list="NNPEAnnotationList"
|
|
|
:theme-color="themeColor"
|
|
|
- :currentTreeID="currentTreeID"
|
|
|
- :TaskModel="TaskModel"
|
|
|
- v-if="refresh"
|
|
|
+ :current-tree-i-d="currentTreeID"
|
|
|
+ :task-model="TaskModel"
|
|
|
/>
|
|
|
</template>
|
|
|
<!-- <template v-if="itemss.type == 'sentence_segword_chs'">
|
|
@@ -242,232 +248,240 @@
|
|
|
</template> -->
|
|
|
<template v-if="itemss.type == 'dialogue_article_chs'">
|
|
|
<DialogueArticleViewChs
|
|
|
+ v-if="refresh"
|
|
|
:cur-que="itemss.data"
|
|
|
:n-n-p-e-new-word-list="NNPENewWordList"
|
|
|
:n-n-p-e-new-phrase-list="NNPENewPhraseList"
|
|
|
:n-n-p-e-annotation-list="NNPEAnnotationList"
|
|
|
:color-box="colorBox"
|
|
|
:theme-color="themeColor"
|
|
|
- :currentTreeID="currentTreeID"
|
|
|
- :TaskModel="TaskModel"
|
|
|
- v-if="refresh"
|
|
|
+ :current-tree-i-d="currentTreeID"
|
|
|
+ :task-model="TaskModel"
|
|
|
/>
|
|
|
</template>
|
|
|
<template v-if="itemss.type == 'dialogue_answer_chs'">
|
|
|
<DialogueAnswerViewChs
|
|
|
+ v-if="refresh"
|
|
|
:cur-que="itemss.data"
|
|
|
:color-box="colorBox"
|
|
|
:theme-color="themeColor"
|
|
|
- :TaskModel="TaskModel"
|
|
|
- v-if="refresh"
|
|
|
+ :task-model="TaskModel"
|
|
|
/>
|
|
|
</template>
|
|
|
<template v-if="itemss.type == 'input_record_chs'">
|
|
|
<InputHasRecord
|
|
|
+ v-if="refresh"
|
|
|
:cur-que="itemss.data"
|
|
|
:theme-color="themeColor"
|
|
|
- :TaskModel="TaskModel"
|
|
|
- v-if="refresh"
|
|
|
+ :task-model="TaskModel"
|
|
|
/>
|
|
|
</template>
|
|
|
<template v-if="itemss.type == 'recordHZ_inputPY_chs'">
|
|
|
<TextInputRecord
|
|
|
+ v-if="refresh"
|
|
|
:cur-que="itemss.data"
|
|
|
:theme-color="themeColor"
|
|
|
- :TaskModel="TaskModel"
|
|
|
- v-if="refresh"
|
|
|
+ :task-model="TaskModel"
|
|
|
/>
|
|
|
</template>
|
|
|
<template
|
|
|
v-if="
|
|
|
itemss.type == 'inputItem_chs' ||
|
|
|
- itemss.type == 'sentence_input_chs' ||
|
|
|
- itemss.type == 'sentence_judge_chs' ||
|
|
|
- itemss.type == 'sentence_record_chs' ||
|
|
|
- itemss.type == 'sentence_input_record_chs'
|
|
|
+ itemss.type == 'sentence_input_chs' ||
|
|
|
+ itemss.type == 'sentence_judge_chs' ||
|
|
|
+ itemss.type == 'sentence_record_chs' ||
|
|
|
+ itemss.type == 'sentence_input_record_chs'
|
|
|
"
|
|
|
>
|
|
|
<SentenceInput
|
|
|
+ v-if="refresh"
|
|
|
:cur-que="itemss.data"
|
|
|
:theme-color="themeColor"
|
|
|
- :TaskModel="TaskModel"
|
|
|
- v-if="refresh"
|
|
|
+ :task-model="TaskModel"
|
|
|
/>
|
|
|
</template>
|
|
|
<template v-if="itemss.type == 'NumberCombination_chs'">
|
|
|
<NumberSelectHasRecord
|
|
|
+ v-if="refresh"
|
|
|
:cur-que="itemss.data"
|
|
|
:theme-color="themeColor"
|
|
|
- :TaskModel="TaskModel"
|
|
|
- v-if="refresh"
|
|
|
+ :task-model="TaskModel"
|
|
|
/>
|
|
|
</template>
|
|
|
<template v-if="itemss.type === 'voice_matrix'">
|
|
|
<voice-matrix
|
|
|
+ v-if="refresh"
|
|
|
:cur-que="itemss.data"
|
|
|
:theme-color="themeColor"
|
|
|
- :TaskModel="TaskModel"
|
|
|
+ :task-model="TaskModel"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ <template v-if="itemss.type === 'select_drag'">
|
|
|
+ <select-drag
|
|
|
v-if="refresh"
|
|
|
+ :cur-que="itemss.data"
|
|
|
+ :theme-color="themeColor"
|
|
|
+ :task-model="TaskModel"
|
|
|
/>
|
|
|
</template>
|
|
|
<template v-if="itemss.type == 'toneSelect_chs'">
|
|
|
<SelectTone
|
|
|
+ v-if="refresh"
|
|
|
:cur-que="itemss.data"
|
|
|
:theme-color="themeColor"
|
|
|
- :TaskModel="TaskModel"
|
|
|
- v-if="refresh"
|
|
|
+ :task-model="TaskModel"
|
|
|
/>
|
|
|
</template>
|
|
|
<template v-if="itemss.type == 'sudoku_chs'">
|
|
|
<Soduko
|
|
|
+ v-if="refresh"
|
|
|
:cur-que="itemss.data"
|
|
|
:theme-color="themeColor"
|
|
|
- :TaskModel="TaskModel"
|
|
|
- v-if="refresh"
|
|
|
+ :task-model="TaskModel"
|
|
|
/>
|
|
|
</template>
|
|
|
<template v-if="itemss.type == 'single_chs'">
|
|
|
<Single
|
|
|
+ v-if="refresh"
|
|
|
:cur-que="itemss.data"
|
|
|
:theme-color="themeColor"
|
|
|
- :TaskModel="TaskModel"
|
|
|
- v-if="refresh"
|
|
|
+ :task-model="TaskModel"
|
|
|
/>
|
|
|
</template>
|
|
|
<template v-if="itemss.type == 'text_problem_chs'">
|
|
|
<TextProblem
|
|
|
+ v-if="refresh"
|
|
|
:cur-que="itemss.data"
|
|
|
:theme-color="themeColor"
|
|
|
- :TaskModel="TaskModel"
|
|
|
- v-if="refresh"
|
|
|
+ :task-model="TaskModel"
|
|
|
/>
|
|
|
</template>
|
|
|
<template v-if="itemss.type == 'newWord_preview_chs'">
|
|
|
<NewWordShow
|
|
|
+ v-if="refresh"
|
|
|
:cur-que="itemss.data"
|
|
|
:theme-color="themeColor"
|
|
|
- :indexStr="index + '_' + indexs + '_' + indexss"
|
|
|
- :TaskModel="TaskModel"
|
|
|
- v-if="refresh"
|
|
|
+ :index-str="index + '_' + indexs + '_' + indexss"
|
|
|
+ :task-model="TaskModel"
|
|
|
/>
|
|
|
</template>
|
|
|
<template
|
|
|
v-if="itemss.type == 'listen_record_single_syllable_chs'"
|
|
|
>
|
|
|
<SelectYinjie
|
|
|
+ v-if="refresh"
|
|
|
:cur-que="itemss.data"
|
|
|
:theme-color="themeColor"
|
|
|
- :TaskModel="TaskModel"
|
|
|
- v-if="refresh"
|
|
|
+ :task-model="TaskModel"
|
|
|
/>
|
|
|
</template>
|
|
|
<template v-if="itemss.type == 'sentence_listen_read_chs'">
|
|
|
<SentenceListenRead
|
|
|
+ v-if="refresh"
|
|
|
:cur-que="itemss.data"
|
|
|
:theme-color="themeColor"
|
|
|
- :TaskModel="TaskModel"
|
|
|
- v-if="refresh"
|
|
|
+ :task-model="TaskModel"
|
|
|
/>
|
|
|
</template>
|
|
|
<template v-if="itemss.type == 'sort_chs'">
|
|
|
<SentenceSortQP
|
|
|
+ v-if="refresh"
|
|
|
:cur-que="itemss.data"
|
|
|
:theme-color="themeColor"
|
|
|
- :TaskModel="TaskModel"
|
|
|
- v-if="refresh"
|
|
|
+ :task-model="TaskModel"
|
|
|
/>
|
|
|
</template>
|
|
|
<template v-if="itemss.type == 'checkbox_self_assessment_chs'">
|
|
|
<Checkbox
|
|
|
+ v-if="refresh"
|
|
|
:cur-que="itemss.data"
|
|
|
:theme-color="themeColor"
|
|
|
- :TaskModel="TaskModel"
|
|
|
- v-if="refresh"
|
|
|
+ :task-model="TaskModel"
|
|
|
/>
|
|
|
</template>
|
|
|
<template
|
|
|
v-if="
|
|
|
itemss.type == 'record_control_mini' ||
|
|
|
- itemss.type == 'record_control_normal' ||
|
|
|
- itemss.type == 'record_control_pro' ||
|
|
|
- itemss.type == 'record_control_promax'
|
|
|
+ itemss.type == 'record_control_normal' ||
|
|
|
+ itemss.type == 'record_control_pro' ||
|
|
|
+ itemss.type == 'record_control_promax'
|
|
|
"
|
|
|
>
|
|
|
<RecordModule
|
|
|
+ v-if="refresh"
|
|
|
:cur-que="itemss.data"
|
|
|
:theme-color="themeColor"
|
|
|
- :TaskModel="TaskModel"
|
|
|
- v-if="refresh"
|
|
|
+ :task-model="TaskModel"
|
|
|
/>
|
|
|
</template>
|
|
|
<template
|
|
|
v-if="
|
|
|
itemss.type == 'upload_control_chs' ||
|
|
|
- itemss.type == 'upload_control_preview_chs'
|
|
|
+ itemss.type == 'upload_control_preview_chs'
|
|
|
"
|
|
|
>
|
|
|
<UploadControlView
|
|
|
+ v-if="refresh"
|
|
|
:cur-que="itemss.data"
|
|
|
:type="itemss.type"
|
|
|
:theme-color="themeColor"
|
|
|
- :TaskModel="TaskModel"
|
|
|
- v-if="refresh"
|
|
|
+ :task-model="TaskModel"
|
|
|
/>
|
|
|
</template>
|
|
|
<template v-if="itemss.type == 'CourseStart_chs'">
|
|
|
<CourseStart
|
|
|
+ v-if="refresh"
|
|
|
:cur-que="itemss.data"
|
|
|
:handle-n-n-p-enext="handleNNPEnext"
|
|
|
:theme-color="themeColor"
|
|
|
- :TaskModel="TaskModel"
|
|
|
- v-if="refresh"
|
|
|
+ :task-model="TaskModel"
|
|
|
/>
|
|
|
</template>
|
|
|
<template v-if="itemss.type == 'tinydemo_chs'">
|
|
|
<Tinydemo
|
|
|
+ v-if="refresh"
|
|
|
:cur-que="itemss.data"
|
|
|
:theme-color="themeColor"
|
|
|
- :TaskModel="TaskModel"
|
|
|
- v-if="refresh"
|
|
|
+ :task-model="TaskModel"
|
|
|
/>
|
|
|
</template>
|
|
|
<template v-if="itemss.type == 'video_chs'">
|
|
|
<VideoControl
|
|
|
+ v-if="refresh"
|
|
|
:cur-que="itemss.data"
|
|
|
:type="itemss.type"
|
|
|
:theme-color="themeColor"
|
|
|
- :indexStr="
|
|
|
+ :index-str="
|
|
|
index + '_' + indexs + '_' + indexss + '_' + currentTreeID
|
|
|
"
|
|
|
- :TaskModel="TaskModel"
|
|
|
- v-if="refresh"
|
|
|
+ :task-model="TaskModel"
|
|
|
/>
|
|
|
</template>
|
|
|
<template v-if="itemss.type == 'table_chs'">
|
|
|
<TableView
|
|
|
+ v-if="refresh"
|
|
|
:cur-que="itemss.data"
|
|
|
:type="itemss.type"
|
|
|
:theme-color="themeColor"
|
|
|
- :TaskModel="TaskModel"
|
|
|
- v-if="refresh"
|
|
|
+ :task-model="TaskModel"
|
|
|
/>
|
|
|
</template>
|
|
|
<template v-if="itemss.type == 'play_record_chs'">
|
|
|
<PlayRecordView
|
|
|
+ v-if="refresh"
|
|
|
:cur-que="itemss.data"
|
|
|
:type="itemss.type"
|
|
|
:theme-color="themeColor"
|
|
|
- :TaskModel="TaskModel"
|
|
|
- v-if="refresh"
|
|
|
+ :task-model="TaskModel"
|
|
|
/>
|
|
|
</template>
|
|
|
<template v-if="itemss.type == 'upload_pdf_chs'">
|
|
|
<PdfView
|
|
|
+ v-if="refresh"
|
|
|
:cur-que="itemss.data"
|
|
|
:type="itemss.type"
|
|
|
:theme-color="themeColor"
|
|
|
- :TaskModel="TaskModel"
|
|
|
- v-if="refresh"
|
|
|
+ :task-model="TaskModel"
|
|
|
/>
|
|
|
</template>
|
|
|
</template>
|
|
@@ -476,12 +490,24 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="NNPE-title NNPE-title-gray" v-if="isShowSave||isShowTitle">
|
|
|
+ <div v-if="isShowSave || isShowTitle" class="NNPE-title NNPE-title-gray">
|
|
|
<!-- 页眉 -->
|
|
|
- <a class="submitAnswer" v-if="isShowSave" @click="submitUserAnswerNPC">提交</a>
|
|
|
- <div class="NNPE-operate" v-if="isShowTitle">
|
|
|
- <a class="btn-prev" :class="[preClick?'':'btn-prev-disabled']" @click="handleNNPEprev" />
|
|
|
- <a class="btn-next" :class="[nextClick?'':'btn-next-disabled']" @click="handleNNPEnext" />
|
|
|
+ <a
|
|
|
+ v-if="isShowSave"
|
|
|
+ class="submitAnswer"
|
|
|
+ @click="submitUserAnswerNPC"
|
|
|
+ >提交</a>
|
|
|
+ <div v-if="isShowTitle" class="NNPE-operate">
|
|
|
+ <a
|
|
|
+ class="btn-prev"
|
|
|
+ :class="[preClick ? '' : 'btn-prev-disabled']"
|
|
|
+ @click="handleNNPEprev"
|
|
|
+ />
|
|
|
+ <a
|
|
|
+ class="btn-next"
|
|
|
+ :class="[nextClick ? '' : 'btn-next-disabled']"
|
|
|
+ @click="handleNNPEnext"
|
|
|
+ />
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -511,6 +537,7 @@ import SentenceListenRead from "./preview/SentenceListenRead.vue"; // 听并朗
|
|
|
import SentenceSortQP from "./preview/SentenceSortQP.vue"; // 句子拖拽排序
|
|
|
import Checkbox from "./preview/CheckBoxModule.vue"; // 问卷调查-多选题
|
|
|
import VoiceMatrix from "./preview/VoiceMatrix.vue"; // 语音矩阵
|
|
|
+import SelectDrag from './preview/SelectDrag.vue'; // 选择 -> 拖拽
|
|
|
import RecordModule from "./preview/RecordModule.vue"; // 录音组件
|
|
|
import UploadControlView from "./preview/UploadControlView.vue"; // 预览控件
|
|
|
import DialogueAnswerViewChs from "./preview/DialogueArticleViewChs/DialogueAnswerViewChs.vue"; // 文章模板
|
|
@@ -547,6 +574,7 @@ export default {
|
|
|
SentenceSortQP,
|
|
|
Checkbox,
|
|
|
VoiceMatrix,
|
|
|
+ SelectDrag,
|
|
|
RecordModule,
|
|
|
UploadControlView,
|
|
|
DialogueAnswerViewChs,
|
|
@@ -555,7 +583,7 @@ export default {
|
|
|
VideoControl,
|
|
|
TableView,
|
|
|
PdfView,
|
|
|
- PlayRecordView,
|
|
|
+ PlayRecordView
|
|
|
},
|
|
|
props: [
|
|
|
"context",
|
|
@@ -572,7 +600,7 @@ export default {
|
|
|
data() {
|
|
|
return {
|
|
|
contextData: null,
|
|
|
- answerData: [], //获取的答案数据
|
|
|
+ answerData: [], // 获取的答案数据
|
|
|
queIndex: -1, // 题目的索引
|
|
|
cur: null, // 当前的题目
|
|
|
watchIndex: -1, // 监听的值
|
|
@@ -585,32 +613,32 @@ export default {
|
|
|
colorBox: [
|
|
|
{
|
|
|
touxiang: "#72B51D",
|
|
|
- bg: "#E9F0DF",
|
|
|
+ bg: "#E9F0DF"
|
|
|
},
|
|
|
{
|
|
|
touxiang: "#DE4444",
|
|
|
- bg: "rgba(222, 68, 68, 0.1)",
|
|
|
+ bg: "rgba(222, 68, 68, 0.1)"
|
|
|
},
|
|
|
{
|
|
|
touxiang: "#A7A7A7",
|
|
|
- bg: "#ffffff",
|
|
|
+ bg: "#ffffff"
|
|
|
},
|
|
|
{
|
|
|
touxiang: "#4D91F6",
|
|
|
- bg: "#F1F7FF",
|
|
|
+ bg: "#F1F7FF"
|
|
|
},
|
|
|
{
|
|
|
touxiang: "#FF8A00",
|
|
|
- bg: "rgba(255, 138, 0, 0.1)",
|
|
|
- },
|
|
|
+ bg: "rgba(255, 138, 0, 0.1)"
|
|
|
+ }
|
|
|
],
|
|
|
chsFhList: [",", "。", "“", ":", "》", "《", "?", "!", ";"],
|
|
|
noFont: ["~", "!", "@", "#", "$", "%", "^", "&", "*", "(", ")"], // 对应不要拼音字体
|
|
|
- idArr: [], //当前的pid
|
|
|
+ idArr: [], // 当前的pid
|
|
|
oldCurrentTreeID: "",
|
|
|
refresh: true,
|
|
|
preClick: false, // 上一页是否可点
|
|
|
- nextClick: false, // 下一页是否可点
|
|
|
+ nextClick: false // 下一页是否可点
|
|
|
};
|
|
|
},
|
|
|
computed: {},
|
|
@@ -630,18 +658,18 @@ export default {
|
|
|
_this.handleTitleData();
|
|
|
if (_this.queIndex == _this.queTotal - 1) {
|
|
|
this.idArr.forEach((item, i) => {
|
|
|
- if (item == _this.currentTreeID) {
|
|
|
- if(i==0){
|
|
|
- _this.preClick = false
|
|
|
- _this.nextClick = true
|
|
|
- }else if (i == this.idArr.length - 1) {
|
|
|
- _this.nextClick = false
|
|
|
- _this.preClick = true
|
|
|
- } else {
|
|
|
- _this.nextClick = true
|
|
|
- _this.preClick = true
|
|
|
- }
|
|
|
+ if (item == _this.currentTreeID) {
|
|
|
+ if (i == 0) {
|
|
|
+ _this.preClick = false;
|
|
|
+ _this.nextClick = true;
|
|
|
+ } else if (i == this.idArr.length - 1) {
|
|
|
+ _this.nextClick = false;
|
|
|
+ _this.preClick = true;
|
|
|
+ } else {
|
|
|
+ _this.nextClick = true;
|
|
|
+ _this.preClick = true;
|
|
|
}
|
|
|
+ }
|
|
|
});
|
|
|
}
|
|
|
_this.$nextTick(() => {
|
|
@@ -651,8 +679,8 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
// 深度观察监听
|
|
|
- deep: true,
|
|
|
- },
|
|
|
+ deep: true
|
|
|
+ }
|
|
|
},
|
|
|
// 生命周期 - 创建完成(可以访问当前this实例)
|
|
|
created() {},
|
|
@@ -670,18 +698,18 @@ export default {
|
|
|
});
|
|
|
if (_this.queIndex == _this.queTotal - 1) {
|
|
|
this.idArr.forEach((item, i) => {
|
|
|
- if (item == _this.currentTreeID) {
|
|
|
- if(i==0){
|
|
|
- _this.preClick = false
|
|
|
- _this.nextClick = true
|
|
|
- }else if (i == this.idArr.length - 1) {
|
|
|
- _this.nextClick = false
|
|
|
- _this.preClick = true
|
|
|
- } else {
|
|
|
- _this.nextClick = true
|
|
|
- _this.preClick = true
|
|
|
- }
|
|
|
+ if (item == _this.currentTreeID) {
|
|
|
+ if (i == 0) {
|
|
|
+ _this.preClick = false;
|
|
|
+ _this.nextClick = true;
|
|
|
+ } else if (i == this.idArr.length - 1) {
|
|
|
+ _this.nextClick = false;
|
|
|
+ _this.preClick = true;
|
|
|
+ } else {
|
|
|
+ _this.nextClick = true;
|
|
|
+ _this.preClick = true;
|
|
|
}
|
|
|
+ }
|
|
|
});
|
|
|
}
|
|
|
}
|
|
@@ -706,7 +734,7 @@ export default {
|
|
|
let obj = {
|
|
|
pinyin: sItem.pinyin,
|
|
|
chs: sItem.chs,
|
|
|
- isShow: true,
|
|
|
+ isShow: true
|
|
|
};
|
|
|
paraArr.push(obj);
|
|
|
});
|
|
@@ -716,7 +744,7 @@ export default {
|
|
|
},
|
|
|
initContextData() {
|
|
|
const _this = this;
|
|
|
- //_this.$root.isRecording = false;
|
|
|
+ // _this.$root.isRecording = false;
|
|
|
|
|
|
_this.contextData = JSON.parse(JSON.stringify(_this.context));
|
|
|
_this.queIndex = 0;
|
|
@@ -759,9 +787,9 @@ export default {
|
|
|
itemss.data.option
|
|
|
);
|
|
|
}
|
|
|
- // let Bookanswer = localStorage.getItem("Bookanswer");
|
|
|
- let Bookanswer = this.bookAnswerContent
|
|
|
- //if (_this.TaskModel == "lookAnswer" && _this.bookAnswerContent) {
|
|
|
+ // let Bookanswer = localStorage.getItem("Bookanswer");
|
|
|
+ let Bookanswer = this.bookAnswerContent;
|
|
|
+ // if (_this.TaskModel == "lookAnswer" && _this.bookAnswerContent) {
|
|
|
if (Bookanswer) {
|
|
|
// let answerData = JSON.parse(_this.bookAnswerContent);
|
|
|
let answerData = JSON.parse(Bookanswer);
|
|
@@ -773,7 +801,7 @@ export default {
|
|
|
answerData[index].table_list[indexs].length > 0 &&
|
|
|
answerData[index].table_list[indexs][indexss].data
|
|
|
? answerData[index].table_list[indexs][indexss].data
|
|
|
- .Bookanswer
|
|
|
+ .Bookanswer
|
|
|
: [];
|
|
|
}
|
|
|
}
|
|
@@ -791,12 +819,12 @@ export default {
|
|
|
this.idArr.forEach((item, i) => {
|
|
|
if (item == _this.currentTreeID) {
|
|
|
if (i == 0) {
|
|
|
- _this.preClick = false
|
|
|
- _this.nextClick = true
|
|
|
+ _this.preClick = false;
|
|
|
+ _this.nextClick = true;
|
|
|
} else {
|
|
|
_this.changeId(this.idArr[i - 1]);
|
|
|
- _this.preClick = true
|
|
|
- _this.nextClick = true
|
|
|
+ _this.preClick = true;
|
|
|
+ _this.nextClick = true;
|
|
|
}
|
|
|
}
|
|
|
});
|
|
@@ -824,11 +852,11 @@ export default {
|
|
|
},
|
|
|
puaseAudio() {
|
|
|
let audio = document.getElementsByTagName("audio");
|
|
|
- audio.forEach((item) => {
|
|
|
+ audio.forEach(item => {
|
|
|
item.pause();
|
|
|
});
|
|
|
let video = document.getElementsByTagName("video");
|
|
|
- video.forEach((item) => {
|
|
|
+ video.forEach(item => {
|
|
|
item.pause();
|
|
|
});
|
|
|
},
|
|
@@ -840,12 +868,12 @@ export default {
|
|
|
this.idArr.forEach((item, i) => {
|
|
|
if (item == _this.currentTreeID) {
|
|
|
if (i == this.idArr.length - 1) {
|
|
|
- _this.nextClick = false
|
|
|
- _this.preClick = true
|
|
|
+ _this.nextClick = false;
|
|
|
+ _this.preClick = true;
|
|
|
} else {
|
|
|
_this.changeId(this.idArr[i + 1]);
|
|
|
- _this.nextClick = true
|
|
|
- _this.preClick = true
|
|
|
+ _this.nextClick = true;
|
|
|
+ _this.preClick = true;
|
|
|
}
|
|
|
}
|
|
|
});
|
|
@@ -860,7 +888,7 @@ export default {
|
|
|
let result = [];
|
|
|
contextData.cur_fn_data.forEach((item, index) => {
|
|
|
result[index] = {
|
|
|
- table_list: [],
|
|
|
+ table_list: []
|
|
|
};
|
|
|
item.table_list.forEach((items, indexs) => {
|
|
|
result[index].table_list[indexs] = [];
|
|
@@ -869,24 +897,24 @@ export default {
|
|
|
let Bookanswer = itemss.data.Bookanswer;
|
|
|
let obj = {
|
|
|
data: {
|
|
|
- Bookanswer: Bookanswer,
|
|
|
- },
|
|
|
+ Bookanswer
|
|
|
+ }
|
|
|
};
|
|
|
result[index].table_list[indexs][indexss] = obj;
|
|
|
} else {
|
|
|
result[index].table_list[indexs][indexss] = {
|
|
|
- data: null,
|
|
|
+ data: null
|
|
|
};
|
|
|
}
|
|
|
});
|
|
|
});
|
|
|
});
|
|
|
this.$emit("finishTaskMaterial", JSON.stringify(result));
|
|
|
- },
|
|
|
- }, // 如果页面有keep-alive缓存功能,这个函数会触发
|
|
|
+ }
|
|
|
+ } // 如果页面有keep-alive缓存功能,这个函数会触发
|
|
|
};
|
|
|
</script>
|
|
|
-<style lang='scss' scoped>
|
|
|
+<style lang="scss" scoped>
|
|
|
//@import url(); 引入公共css类
|
|
|
.NPC-Big-Book-preview {
|
|
|
width: 860px;
|
|
@@ -901,34 +929,36 @@ export default {
|
|
|
height: 64px;
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
- &.NNPE-title-gray{
|
|
|
- background: #EEEEEE;
|
|
|
- border-radius: 0;
|
|
|
- margin-top: 24px;
|
|
|
- .NNPE-operate {
|
|
|
- position: absolute;
|
|
|
- top: 10px;
|
|
|
- right: 20px;
|
|
|
- a {
|
|
|
- background: #fff url("../../assets/newImage/common/btn-pre-black.png")
|
|
|
- center no-repeat;
|
|
|
- background-size: 24px;
|
|
|
- &.btn-next {
|
|
|
- background: #fff url("../../assets/newImage/common/btn-next-black.png")
|
|
|
- center no-repeat;
|
|
|
- background-size: 24px;
|
|
|
- }
|
|
|
- &:hover {
|
|
|
- background-color: #fff;
|
|
|
- }
|
|
|
- &:active {
|
|
|
- background-color: #fff;
|
|
|
- }
|
|
|
- &.btn-prev-disabled,&.btn-next-disabled{
|
|
|
- background-color: rgba(0, 0, 0, 0.25);
|
|
|
- }
|
|
|
- }
|
|
|
+ &.NNPE-title-gray {
|
|
|
+ background: #eeeeee;
|
|
|
+ border-radius: 0;
|
|
|
+ margin-top: 24px;
|
|
|
+ .NNPE-operate {
|
|
|
+ position: absolute;
|
|
|
+ top: 10px;
|
|
|
+ right: 20px;
|
|
|
+ a {
|
|
|
+ background: #fff url("../../assets/newImage/common/btn-pre-black.png")
|
|
|
+ center no-repeat;
|
|
|
+ background-size: 24px;
|
|
|
+ &.btn-next {
|
|
|
+ background: #fff
|
|
|
+ url("../../assets/newImage/common/btn-next-black.png") center
|
|
|
+ no-repeat;
|
|
|
+ background-size: 24px;
|
|
|
+ }
|
|
|
+ &:hover {
|
|
|
+ background-color: #fff;
|
|
|
+ }
|
|
|
+ &:active {
|
|
|
+ background-color: #fff;
|
|
|
+ }
|
|
|
+ &.btn-prev-disabled,
|
|
|
+ &.btn-next-disabled {
|
|
|
+ background-color: rgba(0, 0, 0, 0.25);
|
|
|
+ }
|
|
|
}
|
|
|
+ }
|
|
|
}
|
|
|
h1 {
|
|
|
color: #ffffff;
|
|
@@ -1015,7 +1045,8 @@ export default {
|
|
|
&:active {
|
|
|
background-color: #d24444;
|
|
|
}
|
|
|
- &.btn-prev-disabled,&.btn-next-disabled{
|
|
|
+ &.btn-prev-disabled,
|
|
|
+ &.btn-next-disabled {
|
|
|
background-color: rgba(0, 0, 0, 0.25);
|
|
|
cursor: not-allowed;
|
|
|
}
|
|
@@ -1140,23 +1171,23 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- .submitAnswer{
|
|
|
- width: 160px;
|
|
|
- height: 44px;
|
|
|
- border-radius: 4px;
|
|
|
- font-size: 16px;
|
|
|
- line-height: 44px;
|
|
|
- text-align: center;
|
|
|
- font-family: robot;
|
|
|
- background: #e35454;
|
|
|
- color: #fff;
|
|
|
- margin-left: 16px;
|
|
|
- &:hover {
|
|
|
- background-color: #f76565;
|
|
|
- }
|
|
|
- &:active {
|
|
|
- background-color: #d24444;
|
|
|
- }
|
|
|
+ .submitAnswer {
|
|
|
+ width: 160px;
|
|
|
+ height: 44px;
|
|
|
+ border-radius: 4px;
|
|
|
+ font-size: 16px;
|
|
|
+ line-height: 44px;
|
|
|
+ text-align: center;
|
|
|
+ font-family: robot;
|
|
|
+ background: #e35454;
|
|
|
+ color: #fff;
|
|
|
+ margin-left: 16px;
|
|
|
+ &:hover {
|
|
|
+ background-color: #f76565;
|
|
|
+ }
|
|
|
+ &:active {
|
|
|
+ background-color: #d24444;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
.NPC-Big-Book-preview-green {
|
|
@@ -1181,14 +1212,14 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- .submitAnswer{
|
|
|
- background: #24b99e;
|
|
|
- &:hover {
|
|
|
- background-color: #3dd4b8;
|
|
|
- }
|
|
|
- &:active {
|
|
|
- background-color: #1fa189;
|
|
|
- }
|
|
|
+ .submitAnswer {
|
|
|
+ background: #24b99e;
|
|
|
+ &:hover {
|
|
|
+ background-color: #3dd4b8;
|
|
|
+ }
|
|
|
+ &:active {
|
|
|
+ background-color: #1fa189;
|
|
|
+ }
|
|
|
}
|
|
|
.classTopic-box {
|
|
|
background: #24b99e;
|
|
@@ -1228,14 +1259,14 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- .submitAnswer{
|
|
|
- background: #bd8865;
|
|
|
- &:hover {
|
|
|
- background-color: #d6a687;
|
|
|
- }
|
|
|
- &:active {
|
|
|
- background-color: #a37557;
|
|
|
- }
|
|
|
+ .submitAnswer {
|
|
|
+ background: #bd8865;
|
|
|
+ &:hover {
|
|
|
+ background-color: #d6a687;
|
|
|
+ }
|
|
|
+ &:active {
|
|
|
+ background-color: #a37557;
|
|
|
+ }
|
|
|
}
|
|
|
.classTopic-box {
|
|
|
background: #bd8865;
|