yujialong 1 month ago
parent df33b0b5eb
commit 4779595867
  1. 88
      src/views/match/manage/theoryReport.vue
  2. 1249
      src/views/parner/staff.vue

@ -129,16 +129,18 @@
<el-tag class="m-r-5" :type="ques.difficultTheme">{{ ques.difficult }}</el-tag>
<div class="stem html-parse" :id="'stem' + ques.id" v-html="ques.stem"></div>
<p>{{ ques.questionScore }}</p>
<p v-if="!ques.notScored">{{ ques.questionScore }}</p>
</div>
<div
v-if="item.questionType !== 'fill_blank' && item.questionType !== 'essay' && ques.questionAnswerVersionsList"
class="m-b-10">
<div v-for="(opt, j) in ques.questionAnswerVersionsList" :key="j" class="opt">
<img v-if="opt.optCorrect === 1" src="@/assets/img/right.svg" alt="" class="icon">
<img v-else-if="!opt.optCorrect" src="@/assets/img/wrong.svg" alt="" class="icon">
<span v-else class="icon not-ans"></span>
<template v-if="!ques.notScored">
<img v-if="opt.optCorrect === 1" src="@/assets/img/right.svg" alt="" class="icon">
<img v-else-if="!opt.optCorrect" src="@/assets/img/wrong.svg" alt="" class="icon">
<span v-else class="icon not-ans"></span>
</template>
<span>{{ numToLetter(j) }}.&nbsp;</span>
<div class="text html-parse" v-html="opt.optionText"></div>
@ -170,25 +172,34 @@
<div v-else>暂无解析</div>
</div>
<div :class="['ques-info', { essay: item.questionType === 'essay' && ques.scoringStatus === '未判分' }]">
<div
:class="['ques-info', { essay: item.questionType === 'essay' && ques.scoringStatus === '未判分' && !ques.notScored }]">
<!-- 主观题 -->
<template v-if="item.questionType === 'essay'">
<div class="line">
<span class="line-label">参考答案</span>
<div v-html="ques.questionAnswerVersionsList[0].referenceAnswer" class="html-parse"></div>
<div v-if="ques.questionAnswerVersionsList[0].referenceAnswer"
v-html="ques.questionAnswerVersionsList[0].referenceAnswer" class="html-parse"></div>
<span v-else>暂无参考答案</span>
</div>
<div class="line">
<span class="line-label">考生答案</span>
<div v-if="ques.answerContent" v-html="ques.answerContent" class="html-parse"></div>
<div v-else>未作答</div>
<p v-if="!ques.richTextStatus">无需作答</p>
<div v-else-if="ques.answerContent" v-html="ques.answerContent" class="html-parse"></div>
<p v-else>未作答</p>
</div>
<div v-if="ques.attachmentUrl" class="line">
<div v-if="ques.allowAttachment" class="line">
<span class="line-label">考生上传附件</span>
<el-link class="m-r-10" type="primary" @click="preview(ques.attachmentUrl)">{{
ques.attachmentName }}</el-link>
<el-button type="primary" size="mini" round
@click="download(ques.attachmentName, ques.attachmentUrl)">下载</el-button>
<template v-if="ques.attachmentUrl">
<el-link class="m-r-10" type="primary" @click="preview(ques.attachmentUrl)">{{
ques.attachmentName }}</el-link>
<el-button type="primary" size="mini" round
@click="download(ques.attachmentName, ques.attachmentUrl)">下载</el-button>
</template>
<span v-else>未上传</span>
</div>
</template>
<!-- 客观题 -->
<template v-else>
<div class="line">正确答案{{ ques.quesAnswer }}</div>
<div class="line">
@ -197,16 +208,21 @@
<div v-else-if="ques.userAnswerFill" class="fill-answers">
<p v-for="(ans, j) in ques.userAnswerFill" :key="j" class="fill-answer">
填空{{ j + 1 }}{{ ans.studentAnswer || '未作答' }}
<img v-if="ans.correct" src="@/assets/img/right.svg" alt="" class="icon">
<img v-else src="@/assets/img/wrong.svg" alt="" class="icon">
<template v-if="!ques.notScored">
<img v-if="ans.correct" src="@/assets/img/right.svg" alt="" class="icon">
<img v-else src="@/assets/img/wrong.svg" alt="" class="icon">
</template>
</p>
</div>
<span v-else>未作答</span>
</div>
</template>
<div class="line">题目分值{{ ques.questionScore }}</div>
<div class="line">考生得分<el-input class="score-input" size="small" :value="ques.userScore"
disabled />
<div class="line">题目分值{{ ques.notScored ? '不计分' : ques.questionScore + '分' }}</div>
<div class="line">考生得分<template v-if="ques.notScored">不计分</template>
<template v-else>
<el-input class="score-input" size="small" :value="ques.userScore" disabled />
</template>
</div>
<div v-for="(coment, k) in ques.comment" :key="k" class="line">
@ -287,6 +303,10 @@ export default {
id: 4,
name: '待判分'
},
{
id: 5,
name: '不计分'
},
],
outlines: [],
paper: [],
@ -331,6 +351,8 @@ export default {
}
}
n.notScored = n.questionScore === 0 // =0
if (n.notScored) n.userScore = '-'
const opts = n.questionAnswerVersionsList
if (type !== 'fill_blank' && type !== 'essay') { //
if (!n.userScore) n.userScore = 0
@ -379,7 +401,7 @@ export default {
//
let rightLen = 0
if (n.userAnswerFill) rightLen = n.userAnswerFill.filter(m => m.correct).length //
n.isCorrect = n.userScore && n.questionScore === n.userScore ? 1 : (rightLen ? 3 : 2)
n.isCorrect = n.notScored ? 5 : (n.userScore && n.questionScore === n.userScore ? 1 : (rightLen ? 3 : 2))
} else if (type === 'essay') { //
this.handleIsCorrect(n)
}
@ -417,7 +439,7 @@ export default {
},
//
handleIsCorrect (n) {
n.isCorrect = n.userScore === undefined ? 4 : (n.userScore === n.questionScore ? 1 : n.userScore ? 3 : 2) // reviewScore 0
n.isCorrect = n.notScored ? 5 : (n.userScore === undefined ? 4 : (n.userScore === n.questionScore ? 1 : n.userScore ? 3 : 2)) // reviewScore 0
},
scrollToSmooth (position, duration) {
let startTime = Date.now()
@ -633,7 +655,7 @@ samp {
}
.left {
width: 290px;
width: 320px;
margin-right: 15px;
background-color: #fff;
@ -713,6 +735,12 @@ samp {
border-color: #fe9f0a;
}
.status5 .serial {
color: #fff;
background-color: #d1d1d1;
border-color: #d1d1d1;
}
.score {
height: 22px;
padding: 0 2px;
@ -725,7 +753,7 @@ samp {
.status-filter {
display: flex;
justify-content: space-between;
padding: 10px;
padding: 10px 0;
border-top: 1px solid #e5e5e5;
li {
@ -735,6 +763,7 @@ samp {
font-size: 12px;
color: #333;
cursor: pointer;
white-space: nowrap;
border: 1px solid transparent;
&:before {
@ -778,7 +807,7 @@ samp {
}
}
&:last-child {
&:nth-child(4) {
&.active {
color: #fe9f0a;
border-color: #fe9f0a;
@ -789,6 +818,17 @@ samp {
}
}
&:last-child {
&.active {
color: #d1d1d1;
border-color: #d1d1d1;
}
&:before {
background-color: #d1d1d1;
}
}
&.active {
font-weight: 600;
}
@ -797,7 +837,7 @@ samp {
}
.right {
width: calc(100% - 325px);
width: calc(100% - 355px);
height: calc(100vh - 287px);
padding: 10px;
background-color: #fff;

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save