419 lines
12 KiB
Plaintext
419 lines
12 KiB
Plaintext
|
|
<%@ page contentType="text/html;charset=UTF-8" %>
|
||
|
|
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||
|
|
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||
|
|
<%@ taglib prefix="fns" uri="/WEB-INF/tlds/fns.tld" %>
|
||
|
|
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
|
||
|
|
<!DOCTYPE html>
|
||
|
|
<html>
|
||
|
|
<head>
|
||
|
|
<%@include file="../baseset.jsp" %>
|
||
|
|
<%@include file="../systemset.jsp" %>
|
||
|
|
<title></title>
|
||
|
|
<style type="text/css">
|
||
|
|
|
||
|
|
</style>
|
||
|
|
|
||
|
|
</head>
|
||
|
|
<body>
|
||
|
|
<div class="">
|
||
|
|
<input id="add" value="" type="hidden"/>
|
||
|
|
<input id="sub" value="" type="hidden"/>
|
||
|
|
<input id="count" value="" type="hidden"/>
|
||
|
|
<input id="didQuestion" value="" type="hidden"/>
|
||
|
|
<div style="font-size: 20px;width: 80%; display: inline-block;">
|
||
|
|
<c:choose>
|
||
|
|
<c:when test="${not empty multiple}">
|
||
|
|
<c:forEach items="${multiple}" var="sin" varStatus="index">
|
||
|
|
<div id="questiontitleId${index.count}" value="${index.count}" name="questiontitleId">
|
||
|
|
<div id="titleId">
|
||
|
|
<input id="selectAnswerId" type="hidden" value="${sin.selectAnswer}"/>
|
||
|
|
<input id="answerId" type="hidden" value="${sin.answer}"/><input id="questionId" type="hidden" value="${sin.questionId}"/><span>${index.count}</span>、 <span>${sin.content }</span>
|
||
|
|
</div>
|
||
|
|
<input type="hidden" value="${sin.operationContent[0].nums}" id="operNums">
|
||
|
|
<c:choose>
|
||
|
|
<c:when test="${not empty sin.operationContent}">
|
||
|
|
|
||
|
|
<c:forEach items="${sin.operationContent}" var="operation" varStatus="item">
|
||
|
|
<div class="selectContent" onclick="dblSelectContent(${index.count},${item.count})" id="selectContent${index.count}-${item.count }">
|
||
|
|
<input type="checkbox" value="${operation.id}" "/>
|
||
|
|
<c:if test="${item.count ==1}">
|
||
|
|
A:
|
||
|
|
</c:if>
|
||
|
|
<c:if test="${item.count ==2}">
|
||
|
|
B:
|
||
|
|
</c:if>
|
||
|
|
<c:if test="${item.count ==3}">
|
||
|
|
C:
|
||
|
|
</c:if>
|
||
|
|
<c:if test="${item.count ==4}">
|
||
|
|
D:
|
||
|
|
</c:if>
|
||
|
|
<c:if test="${item.count ==5}">
|
||
|
|
E:
|
||
|
|
</c:if>
|
||
|
|
<c:if test="${item.count ==6}">
|
||
|
|
F:
|
||
|
|
</c:if>
|
||
|
|
<c:if test="${item.count ==7}">
|
||
|
|
G:
|
||
|
|
</c:if>
|
||
|
|
<c:if test="${item.count ==8}">
|
||
|
|
H:
|
||
|
|
</c:if>
|
||
|
|
<span> ${operation.content}</span>
|
||
|
|
</div>
|
||
|
|
</c:forEach>
|
||
|
|
</c:when>
|
||
|
|
<c:otherwise>
|
||
|
|
没有相关选项
|
||
|
|
</c:otherwise>
|
||
|
|
</c:choose>
|
||
|
|
<div style="position: fixed; bottom: 4%; margin-left: 60%;display: inline-flex;">
|
||
|
|
<button class="btns" onclick="prevQuestion(${index.count})">上一题</button>
|
||
|
|
<button class="btns" onclick="nextQuestion(${index.count})">下一题</button>
|
||
|
|
<button class="btns" onclick="submit(${multipleNum})">提交</button>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
</c:forEach>
|
||
|
|
</c:when>
|
||
|
|
<c:otherwise>
|
||
|
|
本专业没有相关题型,系统将于一秒后自动调往下一题型;
|
||
|
|
</c:otherwise>
|
||
|
|
</c:choose>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
<div style="width: 16%;display: inline-block;position: absolute;padding-left: 1%;font-size: 20px;">
|
||
|
|
<div id="questionSelectId">
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
|
||
|
|
<script type="text/javascript">
|
||
|
|
var getmultselect="";
|
||
|
|
var getmultrue="";
|
||
|
|
$(function() {
|
||
|
|
showSelectContent();
|
||
|
|
$("#questiontitleId1").css("display","");
|
||
|
|
$("#questiontitleId1").nextAll().css("display","none");
|
||
|
|
showQuestionSelectId();
|
||
|
|
qsiNum(1);
|
||
|
|
var multipleNum = '${multipleNum}';
|
||
|
|
console.log(multipleNum)
|
||
|
|
if(multipleNum == 0){
|
||
|
|
jumpExam();
|
||
|
|
}
|
||
|
|
})
|
||
|
|
|
||
|
|
function showSelectContent() {
|
||
|
|
for(var i=1;i<=multipleNum;i++) {
|
||
|
|
var nowId = "";
|
||
|
|
var every = "";
|
||
|
|
nowId = "#questiontitleId" + i;
|
||
|
|
var selectAnswers = $(nowId).find("#titleId").find("#selectAnswerId").val();
|
||
|
|
var selectAnswera = selectAnswers.split(",");
|
||
|
|
for(var selectAnswer of selectAnswera){
|
||
|
|
if(selectAnswer!=null) {
|
||
|
|
for (var j = 1; j <= operNums; j++) {
|
||
|
|
var selectNowId = "#selectContent" + i + "-" + j;
|
||
|
|
every = $(nowId).find(selectNowId).find('input[type="checkbox"]').val();
|
||
|
|
if(selectAnswer == every){
|
||
|
|
$(nowId).find(selectNowId).find('input[type="checkbox"]').prop("checked","checked");
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
//setTimeout(jumpExam,1000);
|
||
|
|
function jumpExam(){
|
||
|
|
if(multipleNum == 0){
|
||
|
|
var add=0;
|
||
|
|
var examId = localStorage.getItem("examId");
|
||
|
|
var typeId = localStorage.getItem("typeId");
|
||
|
|
var data = {
|
||
|
|
multiAnswer:"无",
|
||
|
|
multiTrue:"无",
|
||
|
|
multiGrade:add,
|
||
|
|
examId:examId,
|
||
|
|
typeId:typeId
|
||
|
|
};
|
||
|
|
//alert("自己所选的"+singleselect+"正确"+singletrue+"分数"+add+"试卷id"+examId)
|
||
|
|
$.ajax({
|
||
|
|
type:"POST",
|
||
|
|
url:bonuspath +'/backstage/score/temporarySelfUpdate',
|
||
|
|
data: JSON.stringify(data),
|
||
|
|
dataType:"json",
|
||
|
|
contentType:"application/json",
|
||
|
|
success:function(data){
|
||
|
|
menuClick(3);
|
||
|
|
},
|
||
|
|
error:function(data){
|
||
|
|
alert("ajax请求错误!");
|
||
|
|
}
|
||
|
|
})
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
var clickForm = [[0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0],
|
||
|
|
[0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]];
|
||
|
|
//var dianjiNum = 0;
|
||
|
|
function dblSelectContent(index,itemNum) {
|
||
|
|
var parentId = "#selectContent"+index+"-"+itemNum;
|
||
|
|
console.log("clickForm[][]=", clickForm[index-1][itemNum-1]);
|
||
|
|
if(clickForm[index-1][itemNum-1] == 0) {
|
||
|
|
$(parentId).find('input[type="checkbox"]').prop("checked","checked");
|
||
|
|
clickForm[index-1][itemNum-1] = 1;
|
||
|
|
} else {
|
||
|
|
$(parentId).find('input[type="checkbox"]').attr("checked",false);
|
||
|
|
clickForm[index-1][itemNum-1] = 0;
|
||
|
|
}
|
||
|
|
/* dianjiNum++;
|
||
|
|
var parentId = "#selectContent"+index+"-"+itemNum;
|
||
|
|
if(dianjiNum%2==1){
|
||
|
|
$(parentId).find('input[type="checkbox"]').prop("checked","checked");
|
||
|
|
}else{
|
||
|
|
$(parentId).find('input[type="checkbox"]').prop("checked",false);
|
||
|
|
} */
|
||
|
|
}
|
||
|
|
|
||
|
|
var multipleNum = '${multipleNum}';
|
||
|
|
|
||
|
|
//上一题
|
||
|
|
function prevQuestion(index) {
|
||
|
|
if(index==1){
|
||
|
|
var indexMsg = layer.confirm("<h4 style='color:red'>已是第一题,无法再选择上一题!</h4>", {btn: ['确认','取消']},function(){
|
||
|
|
layer.close(indexMsg);
|
||
|
|
});
|
||
|
|
qsiNum(index);
|
||
|
|
}else{
|
||
|
|
var nowindex = index-1;
|
||
|
|
goIndexQuestion(nowindex);
|
||
|
|
qsiNum(nowindex);
|
||
|
|
judgeDid(nowindex);
|
||
|
|
judgeTrue();
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
function submit(index){
|
||
|
|
nextQuestion(index);
|
||
|
|
}
|
||
|
|
//下一题
|
||
|
|
function nextQuestion(index) {
|
||
|
|
judgeDid(index);
|
||
|
|
var didQuestion = $("#didQuestion").val();
|
||
|
|
console.log("didQuestion",didQuestion);
|
||
|
|
var nodoQuestion = multipleNum-didQuestion;
|
||
|
|
if(index==multipleNum){
|
||
|
|
var indexMsg = layer.confirm("<h4 style='color:red'>已做"+didQuestion+"题,还有"+nodoQuestion+"题未做</h4>", {btn: ['提交','取消']},function(){
|
||
|
|
var count=$("#count").val();
|
||
|
|
var examId = localStorage.getItem("examId");
|
||
|
|
var typeId = localStorage.getItem("typeId");
|
||
|
|
var typeNum = 2;
|
||
|
|
//alert("自己所选的"+getmultselect+"正确"+getmultrue+"分数"+add+"试卷id"+examId)
|
||
|
|
var data = {
|
||
|
|
multiAnswer:getmultselect,
|
||
|
|
multiTrue:getmultrue,
|
||
|
|
multiGrade:count,
|
||
|
|
examId:examId,
|
||
|
|
typeId:typeId,
|
||
|
|
typeNum:typeNum
|
||
|
|
};
|
||
|
|
$.ajax({
|
||
|
|
type:"POST",
|
||
|
|
url:bonuspath +'/backstage/score/temporarySelfUpdate',
|
||
|
|
data: JSON.stringify(data),
|
||
|
|
dataType:"json",
|
||
|
|
contentType:"application/json",
|
||
|
|
success:function(data){
|
||
|
|
layer.close(indexMsg);
|
||
|
|
menuClick(3);
|
||
|
|
},
|
||
|
|
error:function(data){
|
||
|
|
alert("ajax请求错误!");
|
||
|
|
}
|
||
|
|
})
|
||
|
|
});
|
||
|
|
qsiNum(index);
|
||
|
|
}else{
|
||
|
|
var nowindex = index+1;
|
||
|
|
goIndexQuestion(nowindex);
|
||
|
|
qsiNum(nowindex);
|
||
|
|
judgeDid(nowindex);
|
||
|
|
judgeTrue();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
//展示index题数的题目
|
||
|
|
function goIndexQuestion(index) {
|
||
|
|
var nowId = "#questiontitleId"+index;
|
||
|
|
$(nowId).css("display","");
|
||
|
|
$(nowId).nextAll().css("display","none");
|
||
|
|
$(nowId).prevAll().css("display","none");
|
||
|
|
}
|
||
|
|
//展示所有题数
|
||
|
|
function showQuestionSelectId() {
|
||
|
|
|
||
|
|
var selectHtml = "";
|
||
|
|
for(var i=1;i<=multipleNum;i++){
|
||
|
|
var showQuestionSelect = document.getElementById("questionSelectId");
|
||
|
|
if( i%5 == 0 ){
|
||
|
|
selectHtml += "<div id='qsiNumId"+i+"' onclick='qsiNum("+i+")' style='border: 1px solid #000;display:inline-block;width:15%;text-align:center;'>"+i+"</div><br>"
|
||
|
|
}else{
|
||
|
|
selectHtml += "<div id='qsiNumId"+i+"' onclick='qsiNum("+i+")' style='border: 1px solid #000;display:inline-block;width:15%;text-align:center;margin-right:4%;margin-bottom: 4%;'>"+i+"</div>"
|
||
|
|
}
|
||
|
|
|
||
|
|
showQuestionSelect.innerHTML = selectHtml;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
function qsiNum(index) {
|
||
|
|
var indexI = "#qsiNumId"+index;
|
||
|
|
$(indexI).css("background-color",'#c66778');
|
||
|
|
judgeDid(index);
|
||
|
|
judgeTrue();
|
||
|
|
goIndexQuestion(index);
|
||
|
|
}
|
||
|
|
var operNums = $("#operNums").val();
|
||
|
|
//判断题目是否做了
|
||
|
|
function judgeDid(index) {
|
||
|
|
var didQuestion = 0;
|
||
|
|
for(var i=1;i<=multipleNum;i++){
|
||
|
|
var nowId = "";
|
||
|
|
var flage = false;
|
||
|
|
var num = 0;
|
||
|
|
nowId = "#questiontitleId"+i;
|
||
|
|
for(var j=1;j<=operNums;j++){
|
||
|
|
var selectNowId = "#selectContent"+i+"-"+j;
|
||
|
|
flage = $(nowId).find(selectNowId).find('input[type="checkbox"]').prop("checked");
|
||
|
|
if(flage){
|
||
|
|
num++;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
for(var j=1;j<=operNums;j++){
|
||
|
|
var selectNowId = "#selectContent"+i+"-"+j;
|
||
|
|
flage = $(nowId).find(selectNowId).find('input[type="checkbox"]').prop("checked");
|
||
|
|
if(flage){
|
||
|
|
didQuestion++;
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
var indexI = "#qsiNumId"+i;
|
||
|
|
if(num!=0){
|
||
|
|
$(indexI).css("background-color",'#c6febf');
|
||
|
|
}else if(index==i){
|
||
|
|
$(indexI).css("background-color",'#c9e1fe');
|
||
|
|
}else{
|
||
|
|
$(indexI).css("background-color",'#eee');
|
||
|
|
}
|
||
|
|
}
|
||
|
|
$("#didQuestion").attr("value",didQuestion);
|
||
|
|
}
|
||
|
|
//判断题目是否正确,统计分数
|
||
|
|
function judgeTrue() {
|
||
|
|
// 正确数
|
||
|
|
var add = 0;
|
||
|
|
// 错误数
|
||
|
|
var sub = 0;
|
||
|
|
var countAll = 0;
|
||
|
|
var multtrue="";
|
||
|
|
var newmultselect="";
|
||
|
|
for(var i=1;i<=multipleNum;i++){
|
||
|
|
var multselect="";
|
||
|
|
var nowId = "";
|
||
|
|
var flage = false;
|
||
|
|
var num = 0;
|
||
|
|
var trueGrade = 0;
|
||
|
|
var selectAnswer = 0;
|
||
|
|
var selectAllContent = "";
|
||
|
|
var count = 0;
|
||
|
|
var addNum = 0;
|
||
|
|
var subNum = 0;
|
||
|
|
nowId = "#questiontitleId"+i;
|
||
|
|
// 第i题的正确答案
|
||
|
|
var trueAnswer = $(nowId).find("#titleId").find("#answerId").val();
|
||
|
|
var operNums = $(nowId).find("#operNums").val();
|
||
|
|
multtrue+=trueAnswer+";";
|
||
|
|
getmultrue= multtrue;
|
||
|
|
var trueAnswerList = trueAnswer.split(",");
|
||
|
|
var trueAnswerNum = "";
|
||
|
|
var selectAnswerNum = 0;
|
||
|
|
var selectAnswerFalseNum = 0;
|
||
|
|
for(var j=1;j<=operNums;j++){
|
||
|
|
var selectNowId = "#selectContent"+i+"-"+j;
|
||
|
|
flage = $(nowId).find(selectNowId).find('input[type="checkbox"]').prop("checked");
|
||
|
|
if(flage){
|
||
|
|
selectAnswerNum++;
|
||
|
|
// 第i题的选择答案
|
||
|
|
selectAnswer = $(nowId).find(selectNowId).find('input[type="checkbox"]').val();
|
||
|
|
var questionId = $(nowId).find('#titleId').find('#questionId').val();
|
||
|
|
//console.log("selectAnswer=",selectAnswer);
|
||
|
|
multselect+=selectAnswer+",";
|
||
|
|
var answerNum = trueAnswerList.length;
|
||
|
|
var trueAnswerLists = [];
|
||
|
|
for(var truebean of trueAnswerList){
|
||
|
|
if(truebean=="A"){
|
||
|
|
trueAnswerNum = "1";
|
||
|
|
}else if(truebean=="B"){
|
||
|
|
trueAnswerNum = "2";
|
||
|
|
}else if(truebean=="C"){
|
||
|
|
trueAnswerNum = "3";
|
||
|
|
}else if(truebean=="D"){
|
||
|
|
trueAnswerNum = "4";
|
||
|
|
}else if(truebean=="E"){
|
||
|
|
trueAnswerNum = "5";
|
||
|
|
}else if(truebean=="F"){
|
||
|
|
trueAnswerNum = "6";
|
||
|
|
}else if(truebean=="G"){
|
||
|
|
trueAnswerNum = "7";
|
||
|
|
}else{
|
||
|
|
trueAnswerNum = "8";
|
||
|
|
}
|
||
|
|
trueAnswerLists.push(trueAnswerNum);
|
||
|
|
}
|
||
|
|
|
||
|
|
if(trueAnswerLists.indexOf(selectAnswer)>-1){
|
||
|
|
addNum++;
|
||
|
|
}else{
|
||
|
|
subNum++;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
if(subNum == 0){
|
||
|
|
if(addNum == answerNum){
|
||
|
|
add++;
|
||
|
|
count = 2;
|
||
|
|
countAll += count;
|
||
|
|
}else{
|
||
|
|
sub++;
|
||
|
|
count = addNum*0.5;
|
||
|
|
countAll += count;
|
||
|
|
}
|
||
|
|
}else{
|
||
|
|
sub++;
|
||
|
|
count = 0;
|
||
|
|
countAll += count;
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
if(multselect == "") {
|
||
|
|
newmultselect += "null;";
|
||
|
|
} else {
|
||
|
|
selectAllContent = questionId + "=" + multselect+"="+count;
|
||
|
|
newmultselect += selectAllContent+";";
|
||
|
|
}
|
||
|
|
getmultselect=newmultselect;
|
||
|
|
subNum = selectAnswerNum-addNum;
|
||
|
|
}
|
||
|
|
//console.log("正确多少题:",add);
|
||
|
|
$("#add").attr("value",add);
|
||
|
|
$("#sub").attr("value",sub);
|
||
|
|
$("#count").attr("value",countAll);
|
||
|
|
console.log(newmultselect);
|
||
|
|
}
|
||
|
|
|
||
|
|
</script>
|
||
|
|
</body>
|
||
|
|
</html>
|