后台
@RequestMapping("/examinPaper/showExamInfo")
public String startExam(ModelMap model,String examinPaperId)
{
List examinQuestionList = examinPaperService.makeExaminQuestion(examinPaperId);
ExaminPaper examinPaper = examinPaperService.getExaminPaperById(examinPaperId);
model.addAttribute("examinPaper", examinPaper);
model.addAttribute("examinQuestionList", examinQuestionList);
return "studyContest/showExamInfo";
}
/**
* Map
* @param questionItemList
*/
private Map getQuestionItemMap(List questionItemList)
{
Map questionMap = new HashMap(1);
//选项list
List itemList = null;
for (QuestionDto dto : questionItemList)
{
QuestionItem item = new QuestionItem();
item.setQuestionItemId(dto.getQuestionItemId());
item.setItemSerial(dto.getItemSerial());
item.setItemContent(dto.getItemContent());
item.setItemOrder(dto.getItemOrder());
if(questionMap.containsKey(dto.getQuestionMgtId()))
{
itemList = questionMap.get(dto.getQuestionMgtId());
itemList.add(item);
}
else
{
itemList = new ArrayList(1);
itemList.add(item);
questionMap.put(dto.getQuestionMgtId(), itemList);
}
}
return questionMap;
}
/**
* 组装试卷
* @param examinPaperId
*/
public List makeExaminQuestion(String examinPaperId)
{
Map param = new HashMap(1);
param.put("flag", 0);//不带is_right条件
param.put("examinPaperId", examinPaperId);
//包含题目与选项
List questionItemList = examinPaperMapper.getExaminQuestionItemList(param);
if(CollectionUtils.isEmpty(questionItemList))
{
return null;
}
Map questionItemMap = getQuestionItemMap(questionItemList);
List examinQuestionList = new ArrayList(1);
ExaminQuestionDto examinQuestion = null;
for(Map.Entry entry:questionItemMap.entrySet())
{
for (QuestionDto dto : questionItemList)
{
if(entry.getKey().equals(dto.getQuestionMgtId()))
{
examinQuestion = new ExaminQuestionDto();
examinQuestion.setQuestionMgtId(dto.getQuestionMgtId());
examinQuestion.setQuestionName(dto.getQuestionName());
examinQuestion.setQuestionType(dto.getQuestionType());
examinQuestion.setQuestionTypeName(dto.getQuestionTypeName());
examinQuestion.setQuestionAnwser(dto.getQuestionAnwser());
List itemList = entry.getValue();
examinQuestion.setItemList(itemList);
examinQuestionList.add(examinQuestion);
break;
}
}
}
return examinQuestionList;
}
/**
* 根据id查询试卷详情
* @param examinPaperId
*/
public ExaminPaper getExaminPaperById(String examinPaperId)
{
/*ExaminPaper examinPaper = ;
if(examinPaper != null && StringUtil.isNotEmpty(examinPaper.getJoinPersonsIds())) {
StringBuffer joinMember = new StringBuffer();
for (String partyMemberId : examinPaper.getJoinPersonsIds().split(",")) {
PartyMember partyMember = partyMemberMapper.getPartyMember(partyMemberId);
if(partyMember != null ) {
joinMember.append(","+partyMember.getName());
}
}
String joinMembers = joinMember.toString().replaceFirst(",", "");
examinPaper.setJoinPersonsNames(joinMembers);
}
*/
ExaminPaper examinPaper = examinPaperMapper.getExaminPaperById(examinPaperId);
if (StringUtils.isNotEmpty(examinPaper.getJoinPersonsIds())) {
String[] ids = examinPaper.getJoinPersonsIds().split(",");
List joinPersonsNames=examinPaperMapper.findJoinPersonsNames(ids);
for(int i=0;i
${question_index+1}、(${question.questionTypeName!''}) ${question.questionName!''}
正确答案:${question.questionAnwser!''}
0)>
交卷
js
var useTime = 0;
var questionNum = parseInt($("#questionNum").val());
layui.use(['element','form','layer'], function(){
var element = layui.element;
var form = layui.form
,layer = layui.layer;
var submitNum = 0;
//单选监听及过滤事件
form.on('radio', function(data){
submitNum += 1;
});
form.on('submit(submitExam)',function(data){
var a = JSON.stringify(data.field);
layer.confirm('您确定要提交试卷吗?', {
btn: ['确定','取消'] //按钮
}, function(){
var questionNum = parseInt($("#questionNum").val());
if(questionNum!=submitNum){
layer.msg('您还有题目没有作答,请再检查一下', {icon: 2});
return false;
}
var questionItem = data.field;//题目选项:题目答案
var examinPaperId = $("#examinPaperId").val();
var params = {
"examinPaperId":examinPaperId,
"questionScore":JSON.stringify(questionItem),
"finishExaminDuration":useTime
}
var url = CONTEXT_PATH + '/examinPaper/saveExaminScore';
var retData = $.getData(url, params);
if(retData.status ==1000 || retData.status == WebConst.SUCCESS){
layer.msg('提交成功', {icon: 1});
$("#submitExam").hide();
$("#startExam").text("考试结束");
$("strong.layui-bg-red").attr("style","display:''")
$(".score").attr("style","display:''");
$("#scoreValue").text(retData.data);
return false;
}
}, function(){
layer.msg('再检查一下', {icon: 2});
return false;
});
return false;
});
// 弹层
var layer = layui.layer;
});
var sumTime = $("#examinDuration").val();
var intDiff =sumTime * 60 ;//倒计时总秒数量
var timeFlag = true;
var beginExaminTime = "";
//倒计时
function timer(intDiff){
window.setInterval(function(){
var day=0,
hour=0,
minute=0,
second=0;//时间默认值
if(intDiff > 0){
day = Math.floor(intDiff / (60 * 60 * 24));
hour = Math.floor(intDiff / (60 * 60)) - (day * 24);
minute = Math.floor(intDiff / 60) - (day * 24 * 60) - (hour * 60);
second = Math.floor(intDiff) - (day * 24 * 60 * 60) - (hour * 60 * 60) - (minute * 60);
}
if (minute