yujialong 2 months ago
parent 732b804ede
commit da0a310c1b
  1. 2
      src/pages/allocationReview/list/index.vue
  2. 2
      src/pages/allocationReview/records/allocation.vue
  3. 6
      src/pages/allocationReview/records/index.vue
  4. 26
      src/pages/myReview/list/index.vue
  5. 2
      src/pages/myReview/records/index.vue
  6. 62
      src/pages/myReview/theoryReview/index.vue
  7. 1
      src/router/permission.js

@ -40,7 +40,7 @@
</ul>
</div>
<el-table :data="list" :loading="loading" class="table" ref="table" stripe header-align="center" row-key="stageId">
<el-table :data="list" v-loading="loading" class="table" ref="table" stripe header-align="center" row-key="stageId">
<el-table-column type="index" width="50" label="序号" align="center"></el-table-column>
<el-table-column prop="competitionName" label="大赛名称" align="center" min-width="120"
show-overflow-tooltip></el-table-column>

@ -191,7 +191,7 @@ export default {
const id = this.row.evaluationId
if (id) {
const { data } = await this.$post(`${this.api.evaluationFind}?id=${id}`)
this.setup = data
this.setup = data || {}
}
} catch (e) { }
},

@ -53,7 +53,7 @@
</div>
</div>
<el-table :data="list" :loading="loading" class="table" ref="table" stripe header-align="center" row-key="id"
<el-table :data="list" v-loading="loading" class="table" ref="table" stripe header-align="center" row-key="id"
@selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" :reserve-selection="true"></el-table-column>
<el-table-column type="index" width="50" label="序号" align="center"></el-table-column>
@ -83,7 +83,9 @@
}}</el-tag>
</template>
</el-table-column>
<el-table-column prop="score" label="成绩" align="center" width="60"></el-table-column>
<el-table-column prop="score" label="成绩" align="center" width="60">
<template slot-scope="scope">{{ scope.row.evaluationStatus === '待评阅' ? '—' : scope.row.score }}</template>
</el-table-column>
<el-table-column prop="latestDistributionTime" label="最新分配时间" align="center" width="150"></el-table-column>
<el-table-column prop="latestDistributionUser" label="最新分配人" align="center" width="90"></el-table-column>
<el-table-column label="操作" align="center" width="100" fixed="right">

@ -33,7 +33,7 @@
</ul>
</div>
<el-table :data="list" :loading="loading" class="table" ref="table" stripe header-align="center" row-key="id">
<el-table :data="list" v-loading="loading" class="table" ref="table" stripe header-align="center" row-key="id">
<el-table-column type="index" width="50" label="序号" align="center"></el-table-column>
<el-table-column prop="competitionName" label="大赛名称" align="center" min-width="120"
show-overflow-tooltip></el-table-column>
@ -157,26 +157,16 @@ export default {
const { query } = this.$route
if (query.page) {
const { questionTypes, correctRateEnd, correctRateStart, difficultys, specialtyIds, status, keyword, questionTypeSort, givenYearSort, difficultySort, correctRateSort, updateTimeSort, referenceCountSort, givenYears, knowledgePointIds, questionBankId, questionBankName, questionBankCategory } = query
const { month, startTime, endTime, evaluationResult, evaluationStatus, keyWord } = query
this.filter = {
questionTypes: questionTypes ? questionTypes.split(',') : [],
correctRateEnd: correctRateEnd || '',
correctRateStart: correctRateStart || '',
difficultys: difficultys ? difficultys.split(',') : [],
specialtyIds: specialtyIds ? specialtyIds.split(',').map(e => +e) : [],
status: status ? +status : '',
keyword: keyword || '',
questionTypeSort: questionTypeSort || '',
givenYearSort: givenYearSort || '',
difficultySort: difficultySort || '',
correctRateSort: correctRateSort || '',
updateTimeSort: updateTimeSort || '',
referenceCountSort: referenceCountSort || '',
evaluationResult: evaluationResult ? +evaluationResult : '',
evaluationStatus: evaluationStatus ? +evaluationStatus : '',
keyWord: keyWord || '',
}
this.givenYears = givenYears || ''
this.knowledgePointIds = knowledgePointIds ? JSON.parse(knowledgePointIds) : []
this.month = !startTime && month ? +month : ''
if (startTime) this.date = [startTime, endTime]
this.$router.push(`/myReview?questionBankId=${questionBankId}&questionBankName=${questionBankName}&questionBankCategory=${questionBankCategory}`).catch(() => { })
this.$router.push(`/myReview`).catch(() => { })
}
this.getList()

@ -46,7 +46,7 @@
</div> -->
</div>
<el-table :data="list" :loading="loading" class="table" ref="table" stripe header-align="center" row-key="id"
<el-table :data="list" v-loading="loading" class="table" ref="table" stripe header-align="center" row-key="id"
@selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" :reserve-selection="true"></el-table-column>
<el-table-column type="index" width="50" label="序号" align="center"></el-table-column>

@ -43,8 +43,8 @@
@click="filterStatus(item.id)">{{ item.name }}</li>
</ul>
</div>
<div class="middle">
<ul v-if="paper" class="ques-wrap" id="quesWrap">
<div :class="['middle', { none: !paper || !paper.length }]">
<ul v-if="paper && paper.length" class="ques-wrap" id="quesWrap">
<li v-for="(item, i) in paper" :key="i">
<div class="outline">
{{ arabicToChinese(i + 1) }}{{ item.outlineName }}本题共{{ item.questionNum }}小题{{
@ -130,8 +130,8 @@
<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/images/right.svg" alt="" class="icon">
<img v-else src="@/assets/images/wrong.svg" alt="" class="icon">
<img :src="require('@/assets/images/' + (ans.correct ? 'right' : 'wrong') + '.svg')" alt=""
class="icon" @click="fillAnswerSwitch(ans, j, ques)">
</p>
</div>
</div>
@ -140,11 +140,14 @@
<div class="line">题目分值{{ ques.questionScore }}</div>
<div class="line">
考生得分<el-input class="score-input hide-spin" type="number" placeholder="请输入分数" size="small"
v-model.number="ques.reviewScore" />&emsp;
<el-button v-if="ques.originUserScore !== ques.reviewScore" type="primary" size="mini"
@click="saveScore(ques)">保存分数</el-button>
<el-popover class="m-l-10" placement="bottom" width="400" trigger="click">
<el-input type="textarea" :rows="3" autosize resize="none" placeholder="请输入"
:disabled="item.questionType === 'fill_blank'" v-model.number="ques.reviewScore" />
<span class="m-r-10"></span>
<span v-if="item.questionType === 'fill_blank'">(如需修改填空题的得分请直接修改考生答案的对错)</span>
<el-button v-if="ques.originUserScore !== ques.reviewScore" class="m-l-10" type="primary"
size="mini" @click="saveScore(ques)">保存分数</el-button>
<el-popover class="m-l-20" placement="bottom" width="400" trigger="click">
<el-input type="textarea" :rows="3" :autosize="{ minRows: 3 }" resize="none" placeholder="请输入"
v-model="ques.newComments" />
<div class="m-t-10 text-right">
<el-button type="primary" size="mini" @click="saveComment(ques)">保存</el-button>
@ -155,7 +158,7 @@
</el-popover>
</div>
<div v-if="ques.comments" class="line">
评语
<span class="line-label">评语</span>
<div>
<span>{{ ques.commentSetTime }}</span>
<i class="el-icon-delete-solid del-comment" @click="delComment(ques)"></i>
@ -168,6 +171,10 @@
</div>
</li>
</ul>
<div v-else class="empty">
<img class="icon" src="@/assets/images/empty.svg" alt="">
<p>暂无数据</p>
</div>
</div>
<div class="right">
<h6>基本信息</h6>
@ -197,10 +204,9 @@
<script>
import PdfDia from '@/components/pdf'
import QuesConst from '@/const/ques'
import TestPaperConst from '@/const/testPaper'
import Util from '@/libs/util'
import _ from 'lodash'
import axios from 'axios'
import Decimal from 'decimal.js'
export default {
components: {
PdfDia
@ -423,6 +429,21 @@ export default {
ques.originUserScore = ques.reviewScore
Util.successMsg('保存成功')
},
//
async fillAnswerSwitch (ans, j, ques) {
ans.correct = !ans.correct
ans.status = ans.correct ? '正确' : '错误'
ques.userAnswerFill[j] = ans
ques.jsonText = JSON.stringify(ques.userAnswerFill)
ques.reviewScore = Decimal(ques.reviewScore)[ans.correct ? 'add' : 'sub'](Decimal(ans.score)).toNumber()
await this.$post(this.api.reviewPaper, [{
assignmentDetailId: ques.assignmentDetailId,
reviewScore: ques.reviewScore,
jsonText: ques.jsonText
}])
ques.originUserScore = ques.reviewScore
Util.successMsg('保存成功')
},
//
async saveComment (ques) {
const res = await this.$post(this.api.setComments, {
@ -728,6 +749,12 @@ export default {
overflow: auto;
outline: none;
&.none {
display: flex;
justify-content: center;
align-items: center;
}
&>li {
margin-bottom: 15px;
}
@ -854,6 +881,7 @@ export default {
}
.comment {
margin-top: 5px;
font-size: 16px;
}
@ -873,17 +901,17 @@ export default {
.icon {
margin-left: 7px;
cursor: pointer;
&:hover {
opacity: .8;
}
}
}
.score-input {
width: 100px;
margin-right: 5px;
.el-input__inner {
color: #333;
background-color: #fff;
}
}
.fill-input {

@ -4,4 +4,5 @@ import Setting from '@/setting'
router.beforeEach((to, from, next) => {
document.title = Setting.titleSuffix
next()
localStorage.setItem('reviewPath', to.fullPath)
})

Loading…
Cancel
Save