integrated_traffic_uniapp/pages/application/onlinexxks/my-exam-detail.vue

236 lines
6.8 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<template>
<view>
<cu-custom bgColor="bg-gradual-blueness" :isBack="true">
<block slot="backText">返回</block>
<block slot="content">考试详情</block>
</cu-custom>
<view class="course">
<view class="course-aa">
<view class="course-items" v-for="(item,index) in form.QUESTIONLIST" :key="item.QUESTION_ID">
<view class="course-ask">
{{ index + 1 }}.
<text v-if="item.QUESTIONTYPE == '1'" class="mark">(单选题)</text>
<text v-if="item.QUESTIONTYPE == '2'" class="mark">(多选题)</text>
<text v-if="item.QUESTIONTYPE == '3'" class="mark">(判断题)</text>
{{ item.QUESTIONDRY }}
</view>
<view class="course-answer">
<radio-group v-if="item.QUESTIONTYPE == '1'" v-model="item.ANSWER">
<label class="answer-lable">
<radio class="blue" :class="item.ANSWER=='A'?'checked':''" :checked="item.ANSWER=='A'?true:false" :disabled="isDisabled" value="A"></radio>
<text class="title">A.{{ item.OPTIONA }}</text>
</label>
<label class="answer-lable">
<radio class="blue" :class="item.ANSWER=='B'?'checked':''" :checked="item.ANSWER=='B'?true:false" :disabled="isDisabled" value="B"></radio>
<text class="title">B.{{ item.OPTIONB }}</text>
</label>
<label class="answer-lable">
<radio class="blue" :class="item.ANSWER=='C'?'checked':''" :checked="item.ANSWER=='C'?true:false" :disabled="isDisabled" value="C"></radio>
<text class="title">C.{{ item.OPTIONC }}</text>
</label>
<label class="answer-lable">
<radio class="blue" :class="item.ANSWER=='D'?'checked':''" :checked="item.ANSWER=='D'?true:false" :disabled="isDisabled" value="D"></radio>
<text class="title">D.{{ item.OPTIOND }}</text>
</label>
</radio-group>
<checkbox-group v-if="item.QUESTIONTYPE == '2'" class="checkbox" v-model="item.ANSWER">
<label class="answer-lable">
<checkbox :id="'checkA'+index" value="A" :checked="item.ANSWER.includes('A')?true:false" :disabled="isDisabled"></checkbox>
<text class="title">A.{{ item.OPTIONA }}</text>
</label>
<label class="answer-lable">
<checkbox :id="'checkB'+index" value="B" :checked="item.ANSWER.includes('B')?true:false" :disabled="isDisabled"></checkbox>
<text class="title">B.{{ item.OPTIONB }}</text>
</label>
<label class="answer-lable">
<checkbox :id="'checkC'+index" value="C" :checked="item.ANSWER.includes('C')?true:false" :disabled="isDisabled"></checkbox>
<text class="title">C.{{ item.OPTIONC }}</text>
</label>
<label class="answer-lable">
<checkbox :id="'checkD'+index" value="D" :checked="item.ANSWER.includes('D')?true:false" :disabled="isDisabled"></checkbox>
<text class="title">D.{{ item.OPTIOND }}</text>
</label>
</checkbox-group>
<radio-group v-if="item.QUESTIONTYPE == '3'" v-model="item.ANSWER">
<label class="answer-lable">
<radio class="blue" :class="item.ANSWER=='A'?'checked':''" :checked="item.ANSWER=='A'?true:false" :disabled="isDisabled" value="A"></radio>
<text class="title">A.{{ item.OPTIONA }}</text>
</label>
<label class="answer-lable">
<radio class="blue" :class="item.ANSWER=='B'?'checked':''" :checked="item.ANSWER=='B'?true:false" :disabled="isDisabled" value="B"></radio>
<text class="title">B.{{ item.OPTIONB }}</text>
</label>
</radio-group>
</view>
<view class="course-ask">
正确答案:
<text :class="item.RESULT == 'RIGHT' ? 'color-green' : 'color-red'" class="mark">{{ item.ANSWERRIGHT }}</text>
</view>
</view>
</view>
</view>
<view class="cu-tabbar-height"></view>
</view>
</template>
<script>
import {
basePath,
corpinfoId,
deptId,
loginSession,
formatDate,
loginUser
} from '@/common/tool.js'
export default {
components: {},
data() {
return {
isDisabled: true,
STUDYTASK_ID: '',
STAGEEXAMPAPER_ID: '',
dataFlag: 'noData',
sTop: 0,
totalHeight: 0,
form: {
STAGEEXAMPAPER_ID: '', // 阶考ID
EXAMNAME: '', // 试卷名称
EXAMTIME: '', // 考试时间(开始时间)
ANSWERSHEETTIME: '', // 答卷时间(持续时间)
EXAMSCORE: 100, // 试卷分数
QUESTIONNUM: '', // 试题数量10、20、50、100
QUESTIONLIST: [],
QUESTION_ID: [], // 试题ID数组
QUESTIONTYPE: [], // 试题类型数组
ANSWER: [], // 学员答案
ANSWERRIGHT: [] // 正确答案
}, //页面数据
subForm: {}, //交卷数据
list: [], //返回数据
page: 1, //分页参数--页数
rows: 10, //分页参数--每页数据条数
totalCount: 0, //分页参数--初始化页数
isEnd: false, //防止多次刷新
totalPage: 0, //分页参数--分页数量
noClick: true
}
},
onLoad(event) {
this.STUDYTASK_ID = event.STUDYTASK_ID
this.STAGEEXAMPAPER_ID = event.STAGEEXAMPAPER_ID
this.getData();
},
methods: {
getData() {
var _this = this;
uni.showLoading({
title: '请稍候'
})
uni.request({
url: basePath + '/app/stageexam/findResult',
method: 'POST',
dataType: 'json',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
STUDYTASK_ID: this.STUDYTASK_ID,
STAGEEXAMPAPER_ID: this.STAGEEXAMPAPER_ID,
CORPINFO_ID:loginUser.CORPINFO_ID,
USER_ID:loginUser.USER_ID,
},
success: (res) => {
if ("success" == res.data.result) {
uni.hideLoading();
_this.form = Object.assign(_this.form, res.data.pd)
_this.form.QUESTIONLIST.forEach((ele) => {
if (ele.ANSWER == ele.ANSWERRIGHT) {
ele.RESULT = 'RIGHT'
} else {
ele.RESULT = 'ERROR'
}
if (ele.QUESTIONTYPE === '2') {
ele.ANSWER = ele.ANSWER.split('')
}
})
console.info(_this.form)
} else {
uni.showToast({
title: res.data.message,
duration: 2000
});
}
}
});
}
}
}
</script>
<style>
.course {
background-color: #fff;
}
.course-header {
padding: 20upx;
border-bottom: 1upx solid #F1F1F1;
line-height: 1.6;
}
.course-name {
font-weight: bold;
font-size: 30upx;
}
.course-int {
color: #888;
}
.course-obj {
color: #888;
}
.course-aa {
padding: 0 20upx;
}
.course-items {
border-bottom: 1px dashed #F1F1F1;
padding: 20upx 0;
}
.course-items .course-ask {
line-height: 1.6;
font-size: 28upx;
/* margin-bottom: 10upx; */
}
.course-answer {
padding-left: 40upx;
margin-top: 20upx;
}
.answer-lable {
display: block;
margin-bottom: 20upx;
}
.answer-lable:last-child {
margin-bottom: 0;
}
.answer-lable radio {
margin-right: 20upx;
}
.color-red {
color: red;
}
.color-green {
color: #21a03c;
}
</style>