|
@@ -1,6 +1,6 @@
|
|
|
<template>
|
|
|
<view>
|
|
|
- <view :class="reportdata.reportStatus === 0 ? 'redBtn' : reportdata.reportStatus === 1 ? 'greenBtn' : 'disNone'" v-if="reportdata.reportStatus !== null">
|
|
|
+ <view :class="reportdata.reportStatus === 0 ? 'redBtn' : reportdata.reportStatus === 1 ? 'greenBtn' : 'disNone'" v-if="examData.doType == 2 && reportdata.reportStatus !== null">
|
|
|
{{ reportdata.reportStatus === 0 ? '测试未通过' : reportdata.reportStatus === 1 ? '测试通过' : '' }}
|
|
|
</view>
|
|
|
<view class="top">
|
|
@@ -28,10 +28,10 @@
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- <view class="dis_fst">
|
|
|
+ <view class="dis_fst" v-if="!hideBtns">
|
|
|
<navigator
|
|
|
:url="
|
|
|
- '/pages2/subject/wrongBank?explain=1&id=' + reportdata.examId
|
|
|
+ '/pages2/subject/wrongBank?isFromReport=1&explain=1&id=' + reportdata.recordId+'&examId='+examData.examId
|
|
|
"
|
|
|
>
|
|
|
<view class="btnACs">错题解析</view>
|
|
@@ -81,18 +81,24 @@ export default {
|
|
|
data() {
|
|
|
return {
|
|
|
id: '',
|
|
|
+ hideBtns:false,
|
|
|
+ recordId:'',
|
|
|
reportdata: {},
|
|
|
+ examData:{},
|
|
|
+ examId:'',
|
|
|
context1: null,
|
|
|
context2: null,
|
|
|
};
|
|
|
},
|
|
|
onUnload() {},
|
|
|
computed: { ...mapGetters(['userInfo']) },
|
|
|
- onLoad(option) {
|
|
|
+ async onLoad(option) {
|
|
|
this.id = option.id;
|
|
|
- this.examReport();
|
|
|
- },
|
|
|
- onShow() {
|
|
|
+ this.examId = option.examId;
|
|
|
+ this.hideBtns = Boolean(option.hideBtns);
|
|
|
+ await this.bankExam();
|
|
|
+ await this.examReport();
|
|
|
+
|
|
|
uni.getSystemInfo({
|
|
|
success: res => {
|
|
|
var winW = res.screenWidth;
|
|
@@ -107,53 +113,54 @@ export default {
|
|
|
var caculateX = winW / 750;
|
|
|
var caculateY = winH / 1334;
|
|
|
console.log(caculateX);
|
|
|
- var context1 = uni.createCanvasContext('Canvas1');
|
|
|
- this.context1 = context1;
|
|
|
- context1.setStrokeStyle('#EEEEEE');
|
|
|
- context1.setLineWidth(caculateX * 20);
|
|
|
- context1.arc(caculateX * 90, caculateX * 90, caculateX * 80, 0, 2 * Math.PI, true);
|
|
|
- context1.stroke();
|
|
|
- context1.draw();
|
|
|
|
|
|
- var context2 = uni.createCanvasContext('Canvas2');
|
|
|
- this.context2 = context2;
|
|
|
- context2.setStrokeStyle('#EEEEEE');
|
|
|
- context2.setLineWidth(caculateX * 20);
|
|
|
- context2.arc(caculateX * 90, caculateX * 90, caculateX * 80, 0, 2 * Math.PI, true);
|
|
|
- context2.stroke();
|
|
|
- context2.draw();
|
|
|
+ if(this.reportdata.totalScore) {
|
|
|
+ var context1 = uni.createCanvasContext('Canvas1');
|
|
|
+ this.context1 = context1;
|
|
|
+ context1.setStrokeStyle('#EEEEEE');
|
|
|
+ context1.setLineWidth(caculateX * 20);
|
|
|
+ context1.arc(caculateX * 90, caculateX * 90, caculateX * 80, 0, 2 * Math.PI, true);
|
|
|
+ context1.stroke();
|
|
|
+ context1.beginPath();
|
|
|
+ context1.setStrokeStyle('#32D74B');
|
|
|
+ context1.setFillStyle('#32D74B');
|
|
|
+ context1.setTextAlign('center');
|
|
|
+ context1.setTextBaseline('middle');
|
|
|
+ context1.setLineCap('round');
|
|
|
+ context1.setFontSize(caculateX * 64);
|
|
|
+ context1.fillText(this.reportdata.performance, caculateX * 90, caculateX * 90, caculateX * 180);
|
|
|
+ context1.setFillStyle('#999999');
|
|
|
+ context1.setFontSize(caculateX * 20);
|
|
|
+ context1.fillText(`满分${this.reportdata.totalScore}`, caculateX * 90, caculateX * 130, caculateX * 180);
|
|
|
+ context1.arc(caculateX * 90, caculateX * 90, caculateX * 80, 0, (this.reportdata.performance / this.reportdata.totalScore) * 2 * Math.PI, false);
|
|
|
+ context1.stroke();
|
|
|
+ context1.draw(true);
|
|
|
+ }
|
|
|
|
|
|
- await this.examReport();
|
|
|
+ if(this.reportdata.examTime) {
|
|
|
+ var context2 = uni.createCanvasContext('Canvas2');
|
|
|
+ this.context2 = context2;
|
|
|
+ context2.setStrokeStyle('#EEEEEE');
|
|
|
+ context2.setLineWidth(caculateX * 20);
|
|
|
+ context2.arc(caculateX * 90, caculateX * 90, caculateX * 80, 0, 2 * Math.PI, true);
|
|
|
+ context2.stroke();
|
|
|
+ context2.beginPath();
|
|
|
+ context2.setStrokeStyle('#007AFF');
|
|
|
+ context2.setFillStyle('#007AFF');
|
|
|
+ context2.setTextAlign('center');
|
|
|
+ context2.setTextBaseline('middle');
|
|
|
+ context2.setLineCap('round');
|
|
|
+ context2.setFontSize(caculateX * 64);
|
|
|
+ context2.fillText(`${this.reportdata.doTime}'`, caculateX * 90, caculateX * 90, caculateX * 180);
|
|
|
+ context2.setFillStyle('#999999');
|
|
|
+ context2.setFontSize(caculateX * 20);
|
|
|
+ context2.fillText(`限时${this.reportdata.examTime}'`, caculateX * 90, caculateX * 130, caculateX * 180);
|
|
|
+ context2.arc(caculateX * 90, caculateX * 90, caculateX * 80, 0, (this.reportdata.doTime / this.reportdata.examTime) * 2 * Math.PI, false);
|
|
|
+ context2.stroke();
|
|
|
+ context2.draw(true);
|
|
|
+ }
|
|
|
|
|
|
- context1.beginPath();
|
|
|
- context1.setStrokeStyle('#32D74B');
|
|
|
- context1.setFillStyle('#32D74B');
|
|
|
- context1.setTextAlign('center');
|
|
|
- context1.setTextBaseline('middle');
|
|
|
- context1.setLineCap('round');
|
|
|
- context1.setFontSize(caculateX * 64);
|
|
|
- context1.fillText(this.reportdata.performance, caculateX * 90, caculateX * 90, caculateX * 180);
|
|
|
- context1.setFillStyle('#999999');
|
|
|
- context1.setFontSize(caculateX * 20);
|
|
|
- context1.fillText(`满分${this.reportdata.totalScore}`, caculateX * 90, caculateX * 130, caculateX * 180);
|
|
|
- context1.arc(caculateX * 90, caculateX * 90, caculateX * 80, 0, (this.reportdata.performance / this.reportdata.totalScore) * 2 * Math.PI, false);
|
|
|
- context1.stroke();
|
|
|
- context1.draw(true);
|
|
|
|
|
|
- context2.beginPath();
|
|
|
- context2.setStrokeStyle('#007AFF');
|
|
|
- context2.setFillStyle('#007AFF');
|
|
|
- context2.setTextAlign('center');
|
|
|
- context2.setTextBaseline('middle');
|
|
|
- context2.setLineCap('round');
|
|
|
- context2.setFontSize(caculateX * 64);
|
|
|
- context2.fillText(`${this.reportdata.doTime}'`, caculateX * 90, caculateX * 90, caculateX * 180);
|
|
|
- context2.setFillStyle('#999999');
|
|
|
- context2.setFontSize(caculateX * 20);
|
|
|
- context2.fillText(`限时${this.reportdata.examTime}'`, caculateX * 90, caculateX * 130, caculateX * 180);
|
|
|
- context2.arc(caculateX * 90, caculateX * 90, caculateX * 80, 0, (this.reportdata.doTime / this.reportdata.examTime) * 2 * Math.PI, false);
|
|
|
- context2.stroke();
|
|
|
- context2.draw(true);
|
|
|
});
|
|
|
}
|
|
|
});
|
|
@@ -164,6 +171,14 @@ export default {
|
|
|
url: '/pages2/bank/my_question'
|
|
|
});
|
|
|
},
|
|
|
+ bankExam(){
|
|
|
+ return new Promise(resolve =>{
|
|
|
+ this.$api.bankExam(this.examId).then(res => {
|
|
|
+ this.examData = res.data.data;
|
|
|
+ })
|
|
|
+ resolve()
|
|
|
+ })
|
|
|
+ },
|
|
|
/**
|
|
|
* 去做题
|
|
|
*/
|