您当前的位置: 首页 >  ui

wespten

暂无认证

  • 0浏览

    0关注

    899博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

layui考试试卷的组装

wespten 发布时间:2020-10-23 12:01:23 ,浏览量:0

后台

	@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             
关注
打赏
1665965058
查看更多评论
0.0408s