提交 31001612 authored 作者: lihuihui's avatar lihuihui

fix: 提交提示修改

上级 fe34fc16
...@@ -43,7 +43,23 @@ export default { ...@@ -43,7 +43,23 @@ export default {
}, },
// 提交答案 // 提交答案
handleSubmit(data) { handleSubmit(data) {
const params = this.genSubmitData(data) const params = this.genSubmitData(data).params
const answerNum = this.genSubmitData(data).answerNum
if (answerNum !== 0) {
this.$confirm(`您还有${answerNum}道题没有作答`, '请确认', {
confirmButtonText: '继续作答',
cancelButtonText: '确认提交',
type: 'warning'
})
.then(() => {})
.catch(() => {
this.submitApi(params)
})
} else {
this.submitApi(params)
}
},
submitApi(params) {
api.setCourseCache(Object.assign(params, { status: 1 })).then(res => { api.setCourseCache(Object.assign(params, { status: 1 })).then(res => {
this.$router.replace({ this.$router.replace({
path: '/course/chapter/result', path: '/course/chapter/result',
...@@ -54,18 +70,24 @@ export default { ...@@ -54,18 +70,24 @@ export default {
// 组装提交数据 // 组装提交数据
genSubmitData(questionGroups) { genSubmitData(questionGroups) {
const answers = {} const answers = {}
let answerNum = 0
questionGroups.forEach(group => { questionGroups.forEach(group => {
if (!answers[group.question_item_id]) { if (!answers[group.question_item_id]) answers[group.question_item_id] = {}
answers[group.question_item_id] = {}
}
group.question_list.forEach(item => { group.question_list.forEach(item => {
answers[item.question_item_id][item.id] = { if (!item.user_answer.length) {
answerNum++
}
answers[group.question_item_id][item.id] = {
sign: item.sign ? item.sign : false, sign: item.sign ? item.sign : false,
answers: item.user_answer answers: item.user_answer
} }
}) })
}) })
return { type: 1, sheet_id: this.data.id, status: 0, answers: JSON.stringify(answers), duration: 0 } const data = {
params: { type: 1, sheet_id: this.data.id, status: 0, answers: JSON.stringify(answers), duration: 0 },
answerNum: answerNum
}
return data
} }
} }
} }
......
...@@ -53,6 +53,7 @@ export default { ...@@ -53,6 +53,7 @@ export default {
const isSubmited = ['1', '2'].includes(this.data.status) const isSubmited = ['1', '2'].includes(this.data.status)
// 缓存答题 // 缓存答题
if (!isSubmited) { if (!isSubmited) {
clearInterval(this.cacheAnswerTime)
this.cacheAnswerTime = setInterval(() => { this.cacheAnswerTime = setInterval(() => {
this.submitExam(0) this.submitExam(0)
}, 3000) }, 3000)
...@@ -68,20 +69,43 @@ export default { ...@@ -68,20 +69,43 @@ export default {
const refData = this.$refs.exam const refData = this.$refs.exam
const id = this.data.id const id = this.data.id
const answer = {} const answer = {}
let answerNum = 0
refData.questionGroups.forEach(item => { refData.questionGroups.forEach(item => {
if (!answer[item.question_item_id]) answer[item.question_item_id] = {} if (!answer[item.question_item_id]) answer[item.question_item_id] = {}
item.question_list.forEach(cItem => { item.question_list.forEach(cItem => {
if (!cItem.user_answer.length) {
answerNum++
}
answer[item.question_item_id][cItem.id] = { answer[item.question_item_id][cItem.id] = {
sign: cItem.sign ? cItem.sign : false, sign: cItem.sign ? cItem.sign : false,
answer: cItem.user_answer answer: cItem.user_answer
} }
}) })
}) })
if (isCache) {
if (answerNum !== 0) {
this.$confirm(`您还有${answerNum}道题没有作答`, '请确认', {
confirmButtonText: '继续作答',
cancelButtonText: '确认提交',
type: 'warning'
}).then(() => {
}).catch(() => {
this.submitApi(id, isCache, answer, refData.duration)
})
} else {
this.submitApi(id, isCache, answer, refData.duration)
}
} else {
this.submitApi(id, isCache, answer, refData.duration)
}
console.log(answerNum, 'num')
},
submitApi(id, isCache, answer, duration) {
const param = { const param = {
sheet_id: id, sheet_id: id,
status: isCache !== 0 ? 1 : 0, // 0缓存,1提交 status: isCache !== 0 ? 1 : 0, // 0缓存,1提交
answers: JSON.stringify(answer), answers: JSON.stringify(answer),
duration: refData.duration duration: duration
} }
api.setCache(param).then(response => { api.setCache(param).then(response => {
if (isCache) { if (isCache) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论