|
@@ -1,71 +1,70 @@
|
|
<!-- -->
|
|
<!-- -->
|
|
<template>
|
|
<template>
|
|
<div class="Big-Book-prev-Textdes SelectYinjie" v-if="isShowTemp">
|
|
<div class="Big-Book-prev-Textdes SelectYinjie" v-if="isShowTemp">
|
|
- <div>
|
|
|
|
- <AnswerTitle :judgeAnswer="judgeAnswer" />
|
|
|
|
- </div>
|
|
|
|
- <div
|
|
|
|
- class="aduioLine-box"
|
|
|
|
- v-if="
|
|
|
|
- curQue.mp3_list && curQue.mp3_list.length > 0 && curQue.mp3_list[0].id
|
|
|
|
- "
|
|
|
|
- :style="{ height: judgeAnswer == 'standardAnswer' ? '0px' : 'auto' }"
|
|
|
|
- >
|
|
|
|
- <AudioLine
|
|
|
|
- audioId="SelectYinjieAudio"
|
|
|
|
- :mp3="curQue.mp3_list[0].id"
|
|
|
|
- :getCurTime="getCurTime"
|
|
|
|
- :themeColor="themeColor"
|
|
|
|
- :ed="ed"
|
|
|
|
- type="audioLine"
|
|
|
|
- ref="audioLine"
|
|
|
|
- @handleListenRead="handleListenRead"
|
|
|
|
- />
|
|
|
|
- </div>
|
|
|
|
- <div v-for="(item, index) in curQue.option" :key="index">
|
|
|
|
- <div class="item-box" v-if="isShowOption(item, index)">
|
|
|
|
- <a
|
|
|
|
- v-if="curQue.wordTime && curQue.wordTime.length > 0"
|
|
|
|
- :class="[
|
|
|
|
- 'play-btn',
|
|
|
|
- curTime >= curQue.wordTime[index].bg &&
|
|
|
|
- curTime < curQue.wordTime[index].ed &&
|
|
|
|
- stopAudio
|
|
|
|
- ? 'active'
|
|
|
|
- : '',
|
|
|
|
- ]"
|
|
|
|
- @click="
|
|
|
|
- handleChangeTime(
|
|
|
|
- curQue.wordTime[index].bg,
|
|
|
|
- curQue.wordTime[index].ed
|
|
|
|
- )
|
|
|
|
- "
|
|
|
|
- ></a>
|
|
|
|
- <b v-if="item.number">{{ item.number }}</b>
|
|
|
|
- <div class="zijie-box">
|
|
|
|
- <p
|
|
|
|
|
|
+ <div class="SelectYinjie-inner">
|
|
|
|
+ <div
|
|
|
|
+ class="aduioLine-box"
|
|
|
|
+ v-if="
|
|
|
|
+ curQue.mp3_list && curQue.mp3_list.length > 0 && curQue.mp3_list[0].id
|
|
|
|
+ "
|
|
|
|
+ :style="{ height: judgeAnswer == 'standardAnswer' ? '0px' : 'auto' }"
|
|
|
|
+ >
|
|
|
|
+ <AudioLine
|
|
|
|
+ audioId="SelectYinjieAudio"
|
|
|
|
+ :mp3="curQue.mp3_list[0].id"
|
|
|
|
+ :getCurTime="getCurTime"
|
|
|
|
+ :themeColor="themeColor"
|
|
|
|
+ :ed="ed"
|
|
|
|
+ type="audioLine"
|
|
|
|
+ ref="audioLine"
|
|
|
|
+ @handleListenRead="handleListenRead"
|
|
|
|
+ />
|
|
|
|
+ </div>
|
|
|
|
+ <div v-for="(item, index) in curQue.option" :key="index">
|
|
|
|
+ <div class="item-box" v-if="isShowOption(item, index)">
|
|
|
|
+ <a
|
|
|
|
+ v-if="curQue.wordTime && curQue.wordTime.length > 0"
|
|
:class="[
|
|
:class="[
|
|
- !judgeAnswer ? 'exercise-model' : '',
|
|
|
|
- lookanswerClass(index, indexs),
|
|
|
|
|
|
+ 'play-btn',
|
|
|
|
+ curTime >= curQue.wordTime[index].bg &&
|
|
|
|
+ curTime < curQue.wordTime[index].ed &&
|
|
|
|
+ stopAudio
|
|
|
|
+ ? 'active'
|
|
|
|
+ : '',
|
|
]"
|
|
]"
|
|
- v-for="(items, indexs) in item.option"
|
|
|
|
- :key="indexs"
|
|
|
|
- @click="handleClick(index, indexs)"
|
|
|
|
- >
|
|
|
|
- {{ items.pinyin }}
|
|
|
|
- </p>
|
|
|
|
|
|
+ @click="
|
|
|
|
+ handleChangeTime(
|
|
|
|
+ curQue.wordTime[index].bg,
|
|
|
|
+ curQue.wordTime[index].ed
|
|
|
|
+ )
|
|
|
|
+ "
|
|
|
|
+ ></a>
|
|
|
|
+ <b v-if="item.number">{{ item.number }}</b>
|
|
|
|
+ <div class="zijie-box">
|
|
|
|
+ <p
|
|
|
|
+ :class="[
|
|
|
|
+ !judgeAnswer ? 'exercise-model' : '',
|
|
|
|
+ lookanswerClass(index, indexs),
|
|
|
|
+ ]"
|
|
|
|
+ v-for="(items, indexs) in item.option"
|
|
|
|
+ :key="indexs"
|
|
|
|
+ @click="handleClick(index, indexs)"
|
|
|
|
+ >
|
|
|
|
+ {{ items.pinyin }}
|
|
|
|
+ </p>
|
|
|
|
+ </div>
|
|
|
|
+ <a
|
|
|
|
+ v-if="!judgeAnswer"
|
|
|
|
+ :class="[
|
|
|
|
+ 'clear-btn',
|
|
|
|
+ curQue.Bookanswer[index].length > 0 && TaskModel != 'ANSWER'
|
|
|
|
+ ? 'active'
|
|
|
|
+ : '',
|
|
|
|
+ TaskModel == 'ANSWER' ? 'notAllow' : '',
|
|
|
|
+ ]"
|
|
|
|
+ @click="handleClear(index)"
|
|
|
|
+ ></a>
|
|
</div>
|
|
</div>
|
|
- <a
|
|
|
|
- v-if="!judgeAnswer"
|
|
|
|
- :class="[
|
|
|
|
- 'clear-btn',
|
|
|
|
- curQue.Bookanswer[index].length > 0 && TaskModel != 'ANSWER'
|
|
|
|
- ? 'active'
|
|
|
|
- : '',
|
|
|
|
- TaskModel == 'ANSWER' ? 'notAllow' : '',
|
|
|
|
- ]"
|
|
|
|
- @click="handleClear(index)"
|
|
|
|
- ></a>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -73,10 +72,9 @@
|
|
|
|
|
|
<script>
|
|
<script>
|
|
import AudioLine from "../preview/AudioLine.vue";
|
|
import AudioLine from "../preview/AudioLine.vue";
|
|
-import AnswerTitle from "../preview/components/AnswerTitle.vue";
|
|
|
|
|
|
|
|
export default {
|
|
export default {
|
|
- components: { AudioLine, AnswerTitle },
|
|
|
|
|
|
+ components: { AudioLine },
|
|
props: ["curQue", "themeColor", "TaskModel", "judgeAnswer"],
|
|
props: ["curQue", "themeColor", "TaskModel", "judgeAnswer"],
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
@@ -114,6 +112,10 @@ export default {
|
|
className = "";
|
|
className = "";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ } else {
|
|
|
|
+ if (_this.judgeAnswer && userAnswer == indexs.toString()) {
|
|
|
|
+ className = "active";
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
if (!_this.judgeAnswer && userAnswer == indexs.toString()) {
|
|
if (!_this.judgeAnswer && userAnswer == indexs.toString()) {
|
|
@@ -272,11 +274,14 @@ export default {
|
|
//@import url(); 引入公共css类
|
|
//@import url(); 引入公共css类
|
|
.SelectYinjie {
|
|
.SelectYinjie {
|
|
width: 100%;
|
|
width: 100%;
|
|
- background: #f7f7f7;
|
|
|
|
- border: 1px solid rgba(0, 0, 0, 0.1);
|
|
|
|
- box-sizing: border-box;
|
|
|
|
- border-radius: 8px;
|
|
|
|
- padding: 24px;
|
|
|
|
|
|
+ &-inner {
|
|
|
|
+ width: 100%;
|
|
|
|
+ background: #f7f7f7;
|
|
|
|
+ border: 1px solid rgba(0, 0, 0, 0.1);
|
|
|
|
+ box-sizing: border-box;
|
|
|
|
+ border-radius: 8px;
|
|
|
|
+ padding: 24px;
|
|
|
|
+ }
|
|
.aduioLine-box {
|
|
.aduioLine-box {
|
|
margin-bottom: 8px;
|
|
margin-bottom: 8px;
|
|
}
|
|
}
|
|
@@ -332,7 +337,13 @@ export default {
|
|
cursor: pointer;
|
|
cursor: pointer;
|
|
font-family: "GB-PINYINOK-B";
|
|
font-family: "GB-PINYINOK-B";
|
|
overflow: hidden;
|
|
overflow: hidden;
|
|
-
|
|
|
|
|
|
+ &:hover {
|
|
|
|
+ background: rgba(0, 0, 0, 0.05)
|
|
|
|
+ url("../../../assets/NPC/selectYinjie-hover.png") right bottom
|
|
|
|
+ no-repeat;
|
|
|
|
+ background-size: 11px;
|
|
|
|
+ border: 1px solid rgba(0, 0, 0, 0.1);
|
|
|
|
+ }
|
|
&.active {
|
|
&.active {
|
|
background: rgba(0, 188, 75, 0.05)
|
|
background: rgba(0, 188, 75, 0.05)
|
|
url("../../../assets/NPC/selectYinjie-active.png") right bottom
|
|
url("../../../assets/NPC/selectYinjie-active.png") right bottom
|
|
@@ -340,6 +351,7 @@ export default {
|
|
background-size: 11px;
|
|
background-size: 11px;
|
|
border: 1px solid #00bc4b;
|
|
border: 1px solid #00bc4b;
|
|
}
|
|
}
|
|
|
|
+
|
|
&.userRight {
|
|
&.userRight {
|
|
background: rgba(44, 167, 103, 0.1);
|
|
background: rgba(44, 167, 103, 0.1);
|
|
border-color: #2ca767;
|
|
border-color: #2ca767;
|
|
@@ -349,15 +361,6 @@ export default {
|
|
border-color: #ed342d;
|
|
border-color: #ed342d;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- .exercise-model {
|
|
|
|
- &:hover {
|
|
|
|
- background: rgba(0, 0, 0, 0.05)
|
|
|
|
- url("../../../assets/NPC/selectYinjie-hover.png") right bottom
|
|
|
|
- no-repeat;
|
|
|
|
- background-size: 11px;
|
|
|
|
- border: 1px solid rgba(0, 0, 0, 0.1);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
.clear-btn {
|
|
.clear-btn {
|
|
width: 16px;
|
|
width: 16px;
|