<template>
|
<view>
|
<!-- <nav-bar-sub></nav-bar-sub> -->
|
<!-- 用于提示是否确认退出考试 -->
|
<u-modal v-model="show" :content="content" :show-cancel-button="true" @confirm="handleConfirm"></u-modal>
|
<!-- 渲染题目 -->
|
<Answer @submit='handleCommit' @timeEnd='handleConfirm' @onChange='onChange'></Answer>
|
|
<u-toast ref="uToast" />
|
</view>
|
</template>
|
|
<script>
|
import Answer from '@/components/dyw-answer/answer.vue';
|
|
import {
|
ModifyQuesList
|
} from '@/common/api/examFunc'
|
|
export default {
|
data() {
|
return {
|
show: false,
|
content: '是否确认交卷',
|
questionList: [],
|
}
|
},
|
onLoad(option) {
|
this.$store.state.questionList = []
|
|
var that = this
|
// 理论考试
|
uni.request({
|
url: "http://61.131.136.25:2080/api/simulateExamRecord/beginExam",
|
// url: "http://localhost:81/simulateExamRecord/beginExam",
|
method: 'POST',
|
data: {
|
idCardNo: this.$store.state.UserData.cardid
|
},
|
success: (res) => {
|
var examObj = res.data.data.simulateExamRecord
|
|
examObj.exam = {
|
name: '模拟考试',
|
examScore: 100,
|
examTime: res.data.data.simulateExamRecord.answerTime,
|
checkFace: 1,
|
...option
|
}
|
|
examObj.exam.totalQuestion = res.data.data.examSubjectInfo.length
|
examObj.totalQuestion = res.data.data.examSubjectInfo.length
|
that.$store.state.examDetail = examObj
|
|
that.$store.state.paperDetail = res.data.data.simulateExamRecord
|
// 提取出所有的题目
|
ModifyQuesList(res.data.data.examSubjectInfo)
|
}
|
});
|
},
|
components: {
|
Answer
|
},
|
methods: {
|
/* 提交答案 显示再次确认*/
|
handleCommit() {
|
// 显示是否确认交卷
|
this.show = true;
|
},
|
|
// 已确认进行答案提交
|
handleConfirm() {
|
let that = this
|
let totalQueNum = 0
|
let totalScore = 0
|
let rightQueNum = 0
|
let wrongQueNum = 0
|
let noneQueNum = 0
|
let score = 0
|
|
let sendData = {
|
simulateExamId: this.$store.state.paperDetail.id,
|
examResultVOS: []
|
}
|
|
this.$store.state.questionList.forEach(item => {
|
if (item.selectedFlag == true) {
|
|
let obj = {
|
subjectChoicesId: item.id,
|
value: item.tempAnswer,
|
grade: item.score
|
}
|
|
if (item.correctOrError == false) {
|
obj.grade = 0
|
wrongQueNum += 1
|
} else {
|
rightQueNum += 1
|
score += item.score
|
}
|
|
sendData.examResultVOS.push(obj)
|
|
} else {
|
noneQueNum += 1
|
}
|
totalQueNum += 1
|
totalScore += item.score
|
})
|
|
if (noneQueNum == totalQueNum)
|
return this.$refs.uToast.show({
|
title: '请答题后再交卷',
|
type: 'warning',
|
duration: 2000
|
})
|
|
// 进行交卷的api请求
|
that.$u.route('/pages/exam/examResultPage', {
|
recordId: that.$store.state.examDetail.recordId,
|
totalQueNum: totalQueNum,
|
totalScore: totalScore,
|
rightQueNum: rightQueNum,
|
wrongQueNum: wrongQueNum,
|
noneQueNum: noneQueNum,
|
score: score
|
})
|
|
|
uni.request({
|
url: "http://61.131.136.25:2080/api/simulateExamRecord/saveSimulateExam",
|
method: 'POST',
|
data: sendData,
|
success: (res) => {
|
|
}
|
});
|
},
|
/* 题目答案变化
|
*/
|
onChange(answer) {
|
}
|
}
|
}
|
</script>
|
|
<style lang="scss" scoped>
|
page {
|
background-color: #FFFFFF;
|
}
|
</style>
|