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

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

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