|
@@ -388,12 +388,30 @@
|
|
|
<span>读题+答案</span>
|
|
|
</div> -->
|
|
|
<div
|
|
|
- @click="readQuestion(problemList[problemListIndex].issuemp3)"
|
|
|
+ @click="
|
|
|
+ readQuestionAndAnswer();
|
|
|
+ completeQuestion();
|
|
|
+ "
|
|
|
class="function-item"
|
|
|
>
|
|
|
- <van-icon name="bullhorn-o" size="25px" />
|
|
|
+ <m-jp-icon type="a-dtda" size="25px" />
|
|
|
+ <span>读题+答案</span>
|
|
|
+ </div>
|
|
|
+ <div @click="readQuestion()" class="function-item">
|
|
|
+ <m-jp-icon type="duti" size="25px" />
|
|
|
<span>读题</span>
|
|
|
</div>
|
|
|
+ <div
|
|
|
+ @click="
|
|
|
+ () => {
|
|
|
+ explainJqVisible = true;
|
|
|
+ }
|
|
|
+ "
|
|
|
+ class="function-item"
|
|
|
+ >
|
|
|
+ <m-jp-icon type="jqjj" size="25px" />
|
|
|
+ <span>技巧讲解</span>
|
|
|
+ </div>
|
|
|
<!-- <div class="function-item" @click="currentAnswerIndexBack">
|
|
|
<m-icon type="shangyiti" size="25px" />
|
|
|
<span>上一题</span>
|
|
@@ -407,6 +425,17 @@
|
|
|
<span>下一题</span>
|
|
|
</div> -->
|
|
|
</view>
|
|
|
+ <explainJq
|
|
|
+ :show="explainJqVisible"
|
|
|
+ :explainJqGif="problemList[problemListIndex].explainGif"
|
|
|
+ :explainJq="problemList[problemListIndex].explainJq"
|
|
|
+ :explainMp3="problemList[problemListIndex].explainMp3"
|
|
|
+ @close="
|
|
|
+ () => {
|
|
|
+ explainJqVisible = false;
|
|
|
+ }
|
|
|
+ "
|
|
|
+ ></explainJq>
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
@@ -416,6 +445,8 @@ import mRadioGroup from "@/components/m-radio-group/m-radio-group.vue";
|
|
|
import mCheckbox from "@/components/m-checkbox/m-checkbox.vue";
|
|
|
import mCheckboxGroup from "@/components/m-checkbox-group/m-checkbox-group.vue";
|
|
|
import api from "@/api/index";
|
|
|
+import utils from "@/utils/index";
|
|
|
+import explainJq from "./components/explainJq.vue";
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
@@ -487,6 +518,7 @@ export default {
|
|
|
mtc: "摩托车",
|
|
|
kc: "客车",
|
|
|
},
|
|
|
+ explainJqVisible: false,
|
|
|
};
|
|
|
},
|
|
|
watch: {
|
|
@@ -568,6 +600,18 @@ export default {
|
|
|
},
|
|
|
},
|
|
|
methods: {
|
|
|
+ completeQuestion() {
|
|
|
+ this.problemList[this.problemListIndex].optsArr.forEach((item, index) => {
|
|
|
+ if (item.isAnswer) {
|
|
|
+ this.$set(
|
|
|
+ this.problemList[this.problemListIndex].optsArr[index],
|
|
|
+ "selected",
|
|
|
+ true
|
|
|
+ );
|
|
|
+ }
|
|
|
+ });
|
|
|
+ this.$set(this.problemList[this.problemListIndex], "isCompleted", true);
|
|
|
+ },
|
|
|
collectTopics(e) {
|
|
|
api.exam
|
|
|
.studentQuestionCollection({
|
|
@@ -591,17 +635,33 @@ export default {
|
|
|
"isCollect",
|
|
|
false
|
|
|
);
|
|
|
- uni.showToast({
|
|
|
+ uni.showToast({
|
|
|
title: "取消收藏",
|
|
|
- icon:'fail'
|
|
|
+ icon: "fail",
|
|
|
});
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
- readQuestion(e) {
|
|
|
+ readQuestionAndAnswer() {
|
|
|
+ let globalAudio = utils.wxUtils.getGlobAudio();
|
|
|
+
|
|
|
+ if (globalAudio) {
|
|
|
+ globalAudio.src = this.problemList[this.problemListIndex].issuemp3;
|
|
|
+ globalAudio.stop();
|
|
|
+ globalAudio.play();
|
|
|
+ globalAudio.onEnded(() => {
|
|
|
+ globalAudio.src = this.problemList[this.problemListIndex].answermp3;
|
|
|
+ globalAudio.stop();
|
|
|
+ globalAudio.play();
|
|
|
+ globalAudio.offEnded()
|
|
|
+ });
|
|
|
+
|
|
|
+ }
|
|
|
+ },
|
|
|
+ readQuestion() {
|
|
|
let globalAudio = utils.wxUtils.getGlobAudio();
|
|
|
if (globalAudio) {
|
|
|
- globalAudio.src = e;
|
|
|
+ globalAudio.src = this.problemList[this.problemListIndex].issuemp3;
|
|
|
globalAudio.stop();
|
|
|
globalAudio.play();
|
|
|
}
|
|
@@ -786,6 +846,7 @@ export default {
|
|
|
mRadioGroup,
|
|
|
mCheckbox,
|
|
|
mCheckboxGroup,
|
|
|
+ explainJq,
|
|
|
},
|
|
|
|
|
|
props: {
|
|
@@ -833,6 +894,7 @@ export default {
|
|
|
}
|
|
|
.problem-box {
|
|
|
padding: 15rpx;
|
|
|
+ padding-bottom: 45px;
|
|
|
background: #fff;
|
|
|
/deep/ .van-checkbox {
|
|
|
padding-bottom: 15rpx;
|
|
@@ -911,11 +973,12 @@ export default {
|
|
|
display: flex;
|
|
|
justify-content: space-around;
|
|
|
flex-wrap: wrap;
|
|
|
- padding: 15px;
|
|
|
+ padding: 8px;
|
|
|
box-sizing: border-box;
|
|
|
+ border-top: 2rpx solid #d8d8d8;
|
|
|
.function-item {
|
|
|
margin-bottom: 20px;
|
|
|
- width: 30%;
|
|
|
+ width: 20%;
|
|
|
display: flex;
|
|
|
flex-direction: column;
|
|
|
align-items: center;
|