201 lines
5.0 KiB
Vue
201 lines
5.0 KiB
Vue
<template>
|
||
<view class="hole-page">
|
||
<view class="nav-bar"></view>
|
||
<view
|
||
class="single-ques"
|
||
v-for="(single, index) in quesList"
|
||
:key="index"
|
||
v-show="quesStatus == 1"
|
||
>
|
||
<!-- <h2>{{ index + 1 }}.</h2> -->
|
||
<!-- <h2>题型:{{ single.questionType }}</h2> -->
|
||
<h2 style="margin-bottom: 50rpx;">
|
||
<span style="box-sizing: border-box; padding: 3rpx 6rpx; border: 1px solid #6bbefa; color: #6bbefa; background-color: #fff; font-size: 12px; margin-right: 10rpx;">
|
||
{{ single.questionType }}
|
||
</span>
|
||
{{ index + 1 }}、{{ single.questionTitle }}
|
||
</h2>
|
||
<view class="ans-cont">
|
||
<h2
|
||
v-for="(ans, ansIndex) in single.trueOp"
|
||
:key="ansIndex"
|
||
>
|
||
<view :class="[{ true: ans.split('-')[0] == single.trueAnswer }]">
|
||
{{ ans }}
|
||
</view>
|
||
</h2>
|
||
</view>
|
||
<h2 style="margin-top: 50rpx; display: flex; justify-content: space-between;">
|
||
<span>
|
||
正确答案:{{ single.trueAnswer }}
|
||
</span>
|
||
<span>
|
||
您的答案:
|
||
<span
|
||
:class="[
|
||
{ wrong: single.answer != single.trueAnswer },
|
||
{ correct: single.answer == single.trueAnswer }
|
||
]"
|
||
>
|
||
{{ single.answer }}
|
||
</span>
|
||
</span>
|
||
</h2>
|
||
</view>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import { publicPath } from '../../public';
|
||
export default {
|
||
data() {
|
||
return {
|
||
quesList: [],
|
||
quesStatus: 0
|
||
}
|
||
},
|
||
methods: {
|
||
reOrder (arr) {
|
||
let sortedArr = arr.sort((a, b) => {
|
||
return a.match(/\d+/)[0] - b.match(/\d+/)[0]
|
||
})
|
||
if (sortedArr.length > 3) {
|
||
for (let i = 0; i < sortedArr.length; i++) {
|
||
switch (sortedArr[i].split('-')[0]) {
|
||
case '1':
|
||
sortedArr[i] = 'A-' + sortedArr[i].split('-')[1]
|
||
break;
|
||
case '2':
|
||
sortedArr[i] = 'B-' + sortedArr[i].split('-')[1]
|
||
break;
|
||
case '3':
|
||
sortedArr[i] = 'C-' + sortedArr[i].split('-')[1]
|
||
break;
|
||
case '4':
|
||
sortedArr[i] = 'D-' + sortedArr[i].split('-')[1]
|
||
break;
|
||
}
|
||
}
|
||
} else {
|
||
for (let i = 0; i < sortedArr.length; i++) {
|
||
switch (sortedArr[i].substring(0, 1)) {
|
||
case '1':
|
||
sortedArr[i] = 'A-' + sortedArr[i].substring(1)
|
||
break;
|
||
case '2':
|
||
sortedArr[i] = 'B-' + sortedArr[i].substring(1)
|
||
break;
|
||
case '3':
|
||
sortedArr[i] = 'C-' + sortedArr[i].substring(1)
|
||
break;
|
||
case '4':
|
||
sortedArr[i] = 'D-' + sortedArr[i].substring(1)
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
return sortedArr
|
||
}
|
||
},
|
||
onLoad(params) {
|
||
let that = this
|
||
that.quesList = []
|
||
that.quesStatus = 0
|
||
console.log(params);
|
||
if (params.type == '普考') {
|
||
// 获取考试题目
|
||
uni.request({
|
||
url: publicPath + '/backstage/app/selStudyPaperMsg',
|
||
method: 'POST',
|
||
header: {
|
||
'content-type':'application/x-www-form-urlencoded; charset=UTF-8'
|
||
},
|
||
data: {
|
||
keyWord: 'exam_question',
|
||
id: uni.getStorageSync('id'),
|
||
examId: params.id,
|
||
},
|
||
success: (res) => {
|
||
console.log(res);
|
||
that.quesList = res.data.data
|
||
for (let i = 0; i < that.quesList.length; i++) {
|
||
if (that.quesList[i].questionType == '判断题') {
|
||
that.quesList[i].trueOp = that.reOrder(that.quesList[i].questionOption.split(';').slice(0, that.quesList[i].questionOption.split(';').length))
|
||
} else {
|
||
that.quesList[i].trueOp = that.reOrder(that.quesList[i].questionOption.split(';').slice(0, that.quesList[i].questionOption.split(';').length - 1))
|
||
}
|
||
if (that.quesList[i].answer == null) {
|
||
that.quesList[i].answer = '未作答'
|
||
}
|
||
}
|
||
console.log(that.quesList);
|
||
that.quesStatus = 1
|
||
}
|
||
})
|
||
} else if (params.type == '自测') {
|
||
// 获取练习题目
|
||
uni.request({
|
||
url: publicPath + '/backstage/app/selStudyPaperMsg',
|
||
method: 'POST',
|
||
header: {
|
||
'content-type':'application/x-www-form-urlencoded; charset=UTF-8'
|
||
},
|
||
data: {
|
||
keyWord: 'exam_question_self',
|
||
id: uni.getStorageSync('id'),
|
||
examId: params.id,
|
||
},
|
||
success: (res) => {
|
||
console.log(res);
|
||
that.quesList = res.data.data
|
||
for (let i = 0; i < that.quesList.length; i++) {
|
||
that.quesList[i].trueOp = that.reOrder(that.quesList[i].questionOption.split(';').slice(0, that.quesList[i].questionOption.split(';').length - 1))
|
||
if (that.quesList[i].answer == null) {
|
||
that.quesList[i].answer = '未作答'
|
||
}
|
||
}
|
||
console.log(that.quesList);
|
||
that.quesStatus = 1
|
||
}
|
||
})
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style lang="scss" scoped>
|
||
.hole-page{
|
||
background-color: #f7fbfe;
|
||
.nav-bar{
|
||
width: 100%;
|
||
height: var(--status-bar-height);
|
||
padding-top: var(--status-bar-height);
|
||
}
|
||
.single-ques{
|
||
width: 100%;
|
||
box-sizing: border-box;
|
||
padding: 15rpx 30rpx;
|
||
background-color: #fff;
|
||
margin: 20rpx auto;
|
||
h2{
|
||
font-weight: normal;
|
||
margin: 20rpx auto;
|
||
font-size: 16px;
|
||
}
|
||
.ans-cont{
|
||
h2{
|
||
.true{
|
||
color: #2ca3f8;
|
||
}
|
||
}
|
||
}
|
||
.wrong{
|
||
color: red;
|
||
}
|
||
.correct{
|
||
color: green;
|
||
}
|
||
}
|
||
}
|
||
</style>
|