赛事注册及理论实验报告

dev_202412
yujialong 6 months ago
parent 82b2f701ad
commit 8193864fe5
  1. 1
      src/api/index.js
  2. 12
      src/pages/account/login/accountApply.vue
  3. 20
      src/pages/account/login/accountApplyMatch.vue
  4. 40
      src/pages/record/theoryReport/index.vue

@ -24,6 +24,7 @@ export default {
getCurrentTime: `competition/competition/management/getCurrentTime`, getCurrentTime: `competition/competition/management/getCurrentTime`,
heartbeatDetection: `nakadai/message/heartbeatDetection`, heartbeatDetection: `nakadai/message/heartbeatDetection`,
forgotPreVerification: `users/users/user/forgotPreVerification`, forgotPreVerification: `users/users/user/forgotPreVerification`,
registrationJudgment: `users/users/register/registrationJudgment`,
forgotPassword: `users/users/user/forgotPassword`, forgotPassword: `users/users/user/forgotPassword`,
logout: `users/users/user/logout`, logout: `users/users/user/logout`,
quickRegistration: `users/users/user/quickRegistration`, quickRegistration: `users/users/user/quickRegistration`,

@ -224,4 +224,14 @@ export default {
}; };
</script> </script>
<style lang="scss" scoped></style> <style lang="scss" scoped>
.ver-code {
position: relative;
.el-button {
position: absolute;
top: 10px;
right: 10px;
}
}
</style>

@ -93,6 +93,7 @@ export default {
watch: { watch: {
visible () { visible () {
this.accountVisible = this.visible this.accountVisible = this.visible
if (this.visible) this.exist = true
} }
}, },
mounted () { mounted () {
@ -109,11 +110,20 @@ export default {
} }
try { try {
const { message } = await this.$get(`${this.api.forgotPreVerification}?phoneOrEmail=${val}&platform=${Setting.platformId}`) // const { message } = await this.$get(`${this.api.forgotPreVerification}?phoneOrEmail=${val}&platform=${Setting.platformId}`)
const exist = message === 'success' // try {
this.exist = exist // await this.$post(this.api.registrationJudgment, {
this.phoneMsg = exist ? '该手机号已注册!' : '' schoolId: 2886,
this.form.workNumber = this.exist ? '' : val phone: val,
})
this.exist = false
this.phoneMsg = ''
this.form.workNumber = val
} catch (e) {
this.exist = true //
this.phoneMsg = '该手机号已注册'
this.form.workNumber = ''
}
} catch (e) { } } catch (e) { }
}, },
// //

@ -63,7 +63,7 @@
<div v-else class="score-wrap"> <div v-else class="score-wrap">
<em>{{ info.score }}</em> <em>{{ info.score }}</em>
<img src="@/assets/img/point.png" alt=""> <img src="@/assets/img/point.png" alt="">
<p v-if="essayExist" class="exist">部分试题待判分成绩待定</p> <p v-if="notReview" class="exist">部分试题待判分成绩待定</p>
</div> </div>
</li> </li>
<li> <li>
@ -95,14 +95,16 @@
</el-table-column> </el-table-column>
<el-table-column prop="userTotalScore" label="得分" align="center"> <el-table-column prop="userTotalScore" label="得分" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<p v-if="scope.row.questionType === 'essay'" class="text-red">待评分</p> <p v-if="scope.row.questionType === 'essay' && scope.row.scoringStatus === '未判分'" class="text-red">待评分
<p v-else-if="essayExist && !scope.row.paperId" class="text-red">{{ scope.row.userTotalScore </p>
<p v-else-if="notReview && !scope.row.paperId" class="text-red">{{ scope.row.userTotalScore
}}部分试题待判分成绩待定</p> }}部分试题待判分成绩待定</p>
<p v-else>{{ scope.row.userTotalScore }}</p> <p v-else>{{ scope.row.userTotalScore }}</p>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="scoreRatePercentage" label="得分率" align="center"> <el-table-column prop="scoreRatePercentage" label="得分率" align="center">
<template slot-scope="scope">{{ scope.row.questionType === 'essay' ? '-' : scope.row.scoreRatePercentage <template slot-scope="scope">{{ scope.row.questionType === 'essay' && scope.row.scoringStatus === '未判分'
? '-' : scope.row.scoreRatePercentage
}}</template> }}</template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -155,19 +157,19 @@
</template> </template>
<div v-if="ques.knowledgePointList && ques.knowledgePointList.length" class="m-b-10"> <div v-if="ques.knowledgePointList && ques.knowledgePointList.length" class="m-b-10">
<span>知识点</span> <span class="line-label">知识点</span>
<el-tag v-for="(kp, k) in ques.knowledgePointList" :key="k" class="m-r-5" type="info">{{ kp.name <el-tag v-for="(kp, k) in ques.knowledgePointList" :key="k" class="m-r-5" type="info">{{ kp.name
}}</el-tag> }}</el-tag>
</div> </div>
<div class="flex m-b-10"> <div class="flex m-b-10">
<span>解析</span> <span class="line-label">解析</span>
<div <div
v-if="ques.questionAnswerVersionsList.length && ques.questionAnswerVersionsList[0].answerAnalysis" v-if="ques.questionAnswerVersionsList.length && ques.questionAnswerVersionsList[0].answerAnalysis"
v-html="ques.questionAnswerVersionsList[0].answerAnalysis" class="html-parse"></div> v-html="ques.questionAnswerVersionsList[0].answerAnalysis" class="html-parse"></div>
<div v-else>暂无解析</div> <div v-else>暂无解析</div>
</div> </div>
<div :class="['ques-info', { essay: item.questionType === 'essay' }]"> <div :class="['ques-info', { essay: item.questionType === 'essay' && ques.scoringStatus === '未判分' }]">
<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>
@ -205,6 +207,11 @@
<div class="line">考生得分<el-input class="score-input" size="small" :value="ques.userScore" <div class="line">考生得分<el-input class="score-input" size="small" :value="ques.userScore"
disabled /> disabled />
</div> </div>
<div v-for="(coment, k) in ques.comment" :key="k" class="line">
<span class="line-label">评语{{ k + 1 }}</span>
<div v-html="coment" class="html-parse"></div>
</div>
</div> </div>
</div> </div>
</div> </div>
@ -287,6 +294,7 @@ export default {
outlines: [], outlines: [],
paper: [], paper: [],
essayExist: 0, essayExist: 0,
notReview: 0,
previewImgVisible: false, previewImgVisible: false,
previewImg: '', previewImg: '',
pdfVisible: false, pdfVisible: false,
@ -308,8 +316,12 @@ export default {
const { questionTypes: types, difficults } = QuesConst const { questionTypes: types, difficults } = QuesConst
const { numToLetter } = Util const { numToLetter } = Util
let essayExist = 0 let essayExist = 0
let notReview = 0
outline.map(e => { outline.map(e => {
if (e.questionType === 'essay') essayExist = 1 if (e.questionType === 'essay') {
essayExist = 1
if (e.scoringStatus === '未判分') notReview = 1
}
e.shrink = false e.shrink = false
const type = e.questionType const type = e.questionType
e.questionTypeName = types.find(n => n.id === type).name e.questionTypeName = types.find(n => n.id === type).name
@ -325,7 +337,7 @@ export default {
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
n.isCorrect = n.userScore && n.userScore === n.questionScore ? 1 : 2 this.handleIsCorrect(n)
// //
let { userAnswer } = n let { userAnswer } = n
@ -372,12 +384,13 @@ export default {
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.userScore && n.questionScore === n.userScore ? 1 : (rightLen ? 3 : 2)
} else if (type === 'essay') { // } else if (type === 'essay') { //
n.isCorrect = 4 // this.handleIsCorrect(n)
} }
}) })
}) })
this.essayExist = essayExist // this.essayExist = essayExist //
this.notReview = notReview //
this.paper = outline this.paper = outline
this.outlines = [ this.outlines = [
...outline, ...outline,
@ -430,6 +443,10 @@ export default {
this.loading = false this.loading = false
} }
}, },
//
handleIsCorrect (n) {
n.isCorrect = 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()
@ -705,7 +722,7 @@ samp {
li { li {
position: relative; position: relative;
width: 30px; min-width: 30px;
margin: 7px 9px; margin: 7px 9px;
font-size: 13px; font-size: 13px;
text-align: center; text-align: center;
@ -748,6 +765,7 @@ samp {
.score { .score {
height: 22px; height: 22px;
padding: 0 2px;
border: 1px solid #d3d3d3; border: 1px solid #d3d3d3;
border-top: 0; border-top: 0;
line-height: 22px; line-height: 22px;

Loading…
Cancel
Save