// 保存答案 function saveAnswer(type, d) { let value = ''; if (type === 1) { // 单选题 $('input[name="option"]').each(function () { let checkValue = $(this).attr('checked'); let option = $(this).next().attr('value'); if (checkValue === 'checked') { value = option; return false; } }) } else { // 多选题 $('input[name="option"]').each(function () { let checkValue = $(this).attr('checked'); let option = $(this).next().attr('value'); if (checkValue === 'checked') { value += option; } }) if(!value){ return layer.msg('请选择答案',{icon:7}); } } let obj = type === 1 ? JSON.parse(d) : d; obj.chooseAnswer = value; // 保存答案到数据库 let flag = saveAnswerAjax(obj); if (flag) { $.each(dataList, function (index, item) { if (obj.id === item.id) { item.chooseAnswer = value; } }) const index = dataList.findIndex(item => item.id === obj.id); $('#questionNumber .circle2').each(function (idx, item) { if (index === idx) { $(this).removeClass('selected2'); $(this).addClass('selected'); } }); renderQuestion(index); renderAnswerSheet(index); } else { layer.msg('答案核对失败', { icon: 2 }); } } // 获取分配的考试题目 function getTopicsAjax() { let url = dataUrl + "proteam/sys/exam/getTopics"; let params = { userId: user.userId } let loadingMsg = layer.msg('题目加载中,请稍候...', { icon: 16, scrollbar: false, time: 0 }); ajaxRequest2(url, "POST", params, true, function (result) { layer.close(loadingMsg); // 关闭提示层 if (result.code === 200) { initDayExamData(result.data); } else { layer.msg(result.msg, { icon: 2 }) } }, function (xhr) { layer.close(loadingMsg); // 关闭提示层 error(xhr) }, null, token); } // 保存答案-ajax function saveAnswerAjax(d) { let flag = false; let url = dataUrl + "proteam/sys/exam/addExamAns"; let params = { examUserId: d.examUserId, examId: d.id, chooseAnswer: d.chooseAnswer, score: sortAnswer(decrypt(d.topicAnswer)) === sortAnswer(d.chooseAnswer) ? d.topicScore : 0, } let loadingMsg = layer.msg('答案核对中,请稍候...', { icon: 16, scrollbar: false, time: 0 }); ajaxRequest2(url, "POST", params, false, function (result) { layer.close(loadingMsg); // 关闭提示层 if (result.code === 200) { flag = true; } }, function (xhr) { layer.close(loadingMsg); // 关闭提示层 error(xhr) }, null, token); return flag; } // 交卷 function handPaper() { let noAnswerNum = 0; $.each(dataList, function (index, item) { if (!item.chooseAnswer) { noAnswerNum++; } }) let title = noAnswerNum > 0 ? '您还有' + noAnswerNum + '题未答,确认交卷吗?' : '确认交卷吗?' layer.confirm(title, { title: '操作提示' }, function () { let examUserId = dataList[0].examUserId; let url = dataUrl + "proteam/sys/exam/submitPaper"; let params = { examUserId: examUserId } let loadingMsg = layer.msg('交卷中,请稍候...', { icon: 16, scrollbar: false, time: 0 }); ajaxRequest2(url, "POST", params, true, function (result) { layer.close(loadingMsg); // 关闭提示层 if (result.code === 200) { // $('#operBtn').empty().append(''); parent.reloadDayExamStatus(); getTopicsAjax(); } else { layer.msg(result.msg, { icon: 2 }) } }, function (xhr) { layer.close(loadingMsg); // 关闭提示层 error(xhr) }, null, token); }) } // 答案排序 function sortAnswer(str){ const sortedStr = str.split('').sort().join('') || ''; return sortedStr; }