调整理论竞赛流程

This commit is contained in:
zyy 2020-05-27 18:09:21 +08:00
parent cacaa155b0
commit 707fa4ba43
5 changed files with 68 additions and 51 deletions

View File

@ -49,7 +49,7 @@ export function getQuestionListByMapId(params) {
// 加载试卷
export function loadingPaper(competitionId, data) {
return request({
url: `api/v1/competition/${competitionId}/testPaper`,
url: `/api/v1/competition/${competitionId}/testPaper`,
method: 'post',
data
});
@ -91,9 +91,9 @@ export function getRaceUserList(params) {
// }
/** 提交试卷 */
export function postCompetitionTheory(theoryId, data) {
export function postCompetitionTheory(data) {
return request({
url: `/api/v1/competitionTheory/${theoryId}/submit`,
url: `/api/v1/competitionTheory/submit`,
method: 'post',
data
});
@ -131,6 +131,14 @@ export function getTheoryQuestion(competitionId) {
});
}
/** 查询理论题作答详情 */
export function getCompetitionDetail(competitionId) {
return request({
url: `/api/v1/competitionTheory/detail/competition/${competitionId}`,
method: 'get'
});
}
/** 根据id查询竞赛信息 */
export function getRaceById(id) {
return request({

View File

@ -24,11 +24,6 @@
</template>
</el-table-column>
<el-table-column prop="topic" label="题目">
<el-table-column
prop="topic"
label="题目"
show-overflow-tooltip
>
<template slot-scope="scope">
<span v-html="scope.row.topic" />
</template>

View File

@ -40,6 +40,7 @@
<script>
// import { submitExam } from '@/api/management/userexam';
// import { UrlConfig } from '@/scripts/ConstDic';
import { getCompetitionDetail } from '@/api/competition';
export default {
name: 'ExamResult',
@ -76,10 +77,18 @@ export default {
return this.$store.state.app.height - 50;
}
},
created() {
this.getResult();
},
mounted() {
this.submitExamData();
},
methods: {
async getResult() {
getCompetitionDetail(this.$route.query.raceId).then(res => {
console.log(res);
});
},
getSummaries(param) {
const { columns, data } = param;
const sums = [];

View File

@ -26,7 +26,7 @@
// import { commitExam, getExamInfo, getUserExam, saveExamAnswer } from '@/api/exam.js';
// import WindowResizeHandler from '@/mixin/WindowResizeHandler';
import Question from './question';
import {postCompetitionTheory} from '@/api/competition';
import { postCompetitionTheory, getTheoryQuestion } from '@/api/competition';
export default {
components: {
@ -48,26 +48,8 @@ export default {
totalScore: 0,
passScore: 10
},
examQuestions: [
{
topic: 'PH玻璃电极只能在5~60℃范围内使用而且还应通过温度校正装置来消除影响。',
type: 'judge',
optionList: [
{id: '160', content: '√', correct: true},
{id: '161', content: '×', correct: false}
]
},
{
topic: '调度工作是( ___ )工作中的一个重要组成部分。',
type: 'select',
optionList: [
{id: '40', content: '<span style="color: windowtext;">煤矿管理</span>', correct: false},
{id: '41', content: '<span style="color: windowtext;">企业管理</span>', correct: true},
{id: '42', content: '<span style="color: windowtext;">安全生产</span>', correct: false},
{id: '43', content: '<span style="color: windowtext;">生产组织</span>', correct: false}
]
}
]
examQuestions: [],
theoryAnswers: []
};
},
computed: {
@ -106,18 +88,15 @@ export default {
},
methods: {
loadInitData() {
console.log('获取试题详情');
// getExamInfo(this.examId).then(resp => {
// this.formModel = resp.data;
// getUserExam(this.userExamId).then(rest => {
// this.examQuestions = rest.data.map((el, i) => {
// el.index = i;
// return el;
// });
// });
// }).catch(error => {
// this.$message.error(`${error.message}`);
// });
this.theoryAnswers = [];
getTheoryQuestion(this.$route.query.raceId).then((resp)=>{
if (resp.data) {
this.examQuestions = resp.data.questions.map((el, i) => {
el.index = i;
return el;
});
}
}).catch(error => { this.$message.error(`加载考试详情失败:${error.message}`); });
},
resizeHandler() {
this.height = this._clientHeight;
@ -154,15 +133,20 @@ export default {
}
},
doEnd() {
// console.log('');
// this.$router.push({ path: `/jsxt/home`});
const params = {competitionId:this.$route.query.raceId};
postCompetitionTheory(1, params).then(()=>{
const params = {
competitionId: this.$route.query.raceId,
theoryAnswers: this.theoryAnswers
};
postCompetitionTheory(params).then(()=>{
this.$router.push({ path: `/jsxt/result`, query: { type: 'theory', raceId:this.$route.query.raceId } });
});
},
onSave(data) {
console.log(data, '问答题');
// console.log(data, '');
this.theoryAnswers.push({
answerOptionId: data.answer,
questionId: data.userExamQuestionId
});
}
}
};

View File

@ -113,7 +113,7 @@ export default {
}
],
actions: [
{ text: '导入试题', handler: this.handleAdd }
{ text: '导入试题', handler: this.handleAdd, fileType: 'file' }
]
},
isLeaving:false,
@ -149,10 +149,31 @@ export default {
});
},
handleAdd() {
loadingPaper(this.$route.query.raceId, {}).then((response)=>{
this.$message('试题加载成功');
}).catch(()=>{
this.$message('试题加载失败');
const loading = this.$loading({
lock: true,
text: '正在导入中...',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
setTimeout(() => {
const obj = document.getElementById('queryFormFilesInput');
if (!obj.files) return;
const f = obj.files[0];
const reader = new FileReader();
const that = this;
reader.readAsText(f, 'utf-8');
reader.onload = function(e) {
const data = e.target.result;
console.log(JSON.parse(data));
loadingPaper(that.$route.query.raceId, JSON.parse(data)).then(res => {
that.$message.success('试题加载成功');
loading.close();
}).catch(error => {
loading.close();
that.$message.error('试题加载失败' + error.message);
});
obj.value = '';
};
});
},
//