Examination_system/Examination_system-1/.svn/pristine/6f/6fe610fcda0ba6186b382f72315...

451 lines
13 KiB
Plaintext
Raw Normal View History

2023-10-30 13:10:40 +08:00
<%@ 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" %>
<script src="${bonuspath}/static/plugins/layer/2.1/extend/layer.ext.js"></script>
<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>&nbsp;&nbsp;&nbsp;&nbsp;
<button class="btns" onclick="nextQuestion(${index.count})">下一题</button>&nbsp;&nbsp;&nbsp;&nbsp;
<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 operNums = $(nowId).find("#operNums").val();
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 data = {
multiAnswer:"无",
multiTrue:"无",
multiGrade:add,
examId:examId
};
//alert("自己所选的"+singleselect+"正确"+singletrue+"分数"+add+"试卷id"+examId)
$.ajax({
type:"POST",
url:bonuspath +'/backstage/score/temporaryUpdate',
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}';
// setInterval("saveQuestion()",1000);
function saveQuestion() {
var count=$("#count").val();
var examId = localStorage.getItem("examId");
var typeNum = 2;
//alert("自己所选的"+getmultselect+"正确"+getmultrue+"分数"+add+"试卷id"+examId)
var data = {
multiAnswer:getmultselect,
multiTrue:getmultrue,
multiGrade:count,
examId:examId,
typeNum:typeNum
};
$.ajax({
type:"POST",
url:bonuspath +'/backstage/score/temporaryUpdate',
data: JSON.stringify(data),
dataType:"json",
contentType:"application/json",
success:function(data){
},
error:function(data){
alert("ajax请求错误!");
}
})
//judgeDid(index);
judgeTrue();
}
//上一题
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 typeNum = 2;
//alert("自己所选的"+getmultselect+"正确"+getmultrue+"分数"+add+"试卷id"+examId)
var data = {
multiAnswer:getmultselect,
multiTrue:getmultrue,
multiGrade:count,
examId:examId,
typeNum:typeNum
};
$.ajax({
type:"POST",
url:bonuspath +'/backstage/score/temporaryUpdate',
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) {
debugger;
var didQuestion = 0;
for(var i=1;i<=multipleNum;i++){
var nowId = "";
var flage = false;
var num = 0;
nowId = "#questiontitleId"+i;
var operNums = $(nowId).find("#operNums").val();
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>