/*测验编辑部分*/
//editor初始化
var ue = null;
var $initUE = function(flag,width){
Ext.destroy(editor);
var editor=null,editor_container = $('editor-container_'+flag), editor_data = $('editor-data_'+flag);
if(editor_container){
var origin_data = editor_data.html();
if(editor_container.attr('info') == 'init'){
editor = Ext.create("ananas.Editor", {
renderTo : 'editor-container_'+flag,
width :width,
ueditorConfig : {
UEDITOR_HOME_URL : "/ananas/ueditor/",
imageUrl:"/Application/uploadByUEditor",
imagePath:"",
initialContent:origin_data,
zIndex : 98,
langPath:"/ananas/ueditor/lang/",
autoClearinitialContent:true,
topOffset:205,
toolbarTopOffset:200,
autoHeightEnabled:false,
scrollEl : 'courseContent'
}
});
}else{
editor = Ext.create("ananas.Editor", {
renderTo : 'editor-container_'+flag,
width :width,
ueditorConfig : {
UEDITOR_HOME_URL : "/ananas/ueditor/",
imageUrl:"/Application/uploadByUEditor",
imagePath:"",
initialContent:origin_data,
zIndex : 98,
langPath:"/ananas/ueditor/lang/",
topOffset:205,
toolbarTopOffset:200,
autoHeightEnabled:false,
scrollEl : 'courseContent'
}
});
}
ue = editor.getUEditor();
}
};
//设置测验
var $showSetQuiz = function(ele){
if ($isEle(ele)){
ele.addEvent("click",function(){
new AjaxPost(this, {
url: '/QuestionController/getSetQuiz',
data:{
quizId: $("quizEdit").attr("quizId")
},
callback: function(json){
if (json.succ){
$("setQuizDiv").html(json.html);
$("passScoreInput").addEvent("keydown", function(e){
if(e.code != 8 && e.code != 46 && (e.code < 37 || e.code > 40) && (e.code < 48 || e.code > 57) && (e.code < 96 || e.code > 105)){
e.preventDefault()
};
});
$("setQuiz").addEvent("click",function(){
new AjaxPost(this, {
url: '/QuestionController/setQuiz',
data:{
quizId: $("quizEdit").attr("quizId"),
isPublish:$("isPublish").checked,
passScore:$("passScoreInput").val(),
upPassStatus:$getRadioValue($$(".upPassStatus"))
},
callback: function(json){
if (json.succ){
$("setQuizDiv").html("");
}
}
}).send()
});
}
}
}).send()
});
}
}
$showSetQuiz($("showSetQuiz"));
//添加试题
var $getAddQuestion= function(ele){
if ($isEle(ele)){
ele.addEvent("click",function(){
new AjaxPost(ele, {
url: '/QuestionController/getAddQuestion',
data:{
quizId: $("quizEdit").attr("quizId")
},
callback: function(json){
if (json.succ){
ele.addClass("abs_out");
$("questionDiv").html(json.html);
$initUE($("addQuestionDiv").attr("flag"),Number($("addQuestionDiv").attr("editorWidth")));
$initAddQuestionJS();
}
}
}).send()
});
}
}
$getAddQuestion($("getAddQuestion"));
//试题类型切换
var $switchType = function(){
if($isArr($$(".switchType"))&&$$(".switchType").length>0){
$$(".switchType").addEvent("click",function(){
var ele=this;
var questionType=ele.html();
$$(".switchType").each(function(item,n){
item.swapClass("g9","g5");
});
ele.swapClass("g5","g9");
var htmlStr="";
if(questionType==="选择题"){
for(var i=0;i<4;i++){
htmlStr+='
'+
''+
''+
'';
}
$("quesAnswerList").html(htmlStr);
$("questionAnswer").html("");
}else if(questionType==="判断题"){
for(var i=0;i<2;i++){
htmlStr+=''+
''+
''+
'';
}
$("quesAnswerList").html(htmlStr);
$("questionAnswer").html("");
}else if(questionType==="简答题"){
htmlStr+='答案:'+
''+
''+
'
';
$("questionAnswer").html(htmlStr);
$("quesAnswerList").html("");
}
});
}
}
//试题分数设置
var $questionScore=function(){
if($isEle($("addQuestion"))){
$("adviceScore").addEvent("keydown", function(e){
if(e.code != 8 && e.code != 46 && (e.code < 37 || e.code > 40) && (e.code < 48 || e.code > 57) && (e.code < 96 || e.code > 105)){
e.preventDefault()
};
});
}
}
//添加试题
var $addQuestion= function(){
if($isEle($("addQuestion"))){
$("addQuestion").addEvent("click",function(){
var quizId=$("quizEdit").attr("quizId");
var courseId=$("quizEdit").attr("courseId");
var subjectTitle=ue.getContent();
var content=ue.getContent();
var diffcultyLevel=$getRadioValue($$(".diffcultyLevelRadio"));
var adviceScore=$("adviceScore").val();
var subjectType;
var correctOption="";
var options=[],names=["A","B","C","D"];
var i=0,j=0;
if($isEle($("quesAnswerList"))){
$("quesAnswerList").getElements("li").each(function(item,n){
if(item.getElement(".optionCheck").checked){
j++;
correctOption+=(names[n]+",");
}
i++;
options.push(item.getElement(".optionInput").val());
});
}
if(i==0){//填空题
subjectType=3;
correctOption=$("correctOption").val();
subjectTitle="";
}else if(i==2){//判断题
subjectType=2;
content="";
}else if(i==4){//选择题
if(j==1){//单选题
subjectType=1;
}else if(j>1){//多选题
subjectType=4;
}else {
return;
}
content="";
}else{
return;
}
new AjaxPost(this, {
url: "/QuestionController/addQuestion",
data: {
quizId:quizId,
"question.courseId":courseId,
"question.subjectTitle":subjectTitle,
"question.content":content,
"question.diffcultyLevel":diffcultyLevel,
"question.adviceScore":adviceScore,
"question.subjectType":subjectType,
"question.correctOption":correctOption,
options:options
},
callback: function(json){
if(json.succ){
$pageFresh();
}
}
}).send();
});
}
};
//取消添加试题
var $cancelAddQuestion = function(){
$$(".cancelAddQuestion").addEvent("click",function(){
$("getAddQuestion").removeClass("abs_out");
$("questionDiv").html("");
})
}
//编辑试题
var $getEditQuestion = function(){
if($isEle($("getEditQuestion"))){
$("getEditQuestion").addEvent("click", function(){
var questionId = $("showQuestionDiv").attr("questionId");
var indexOrder = $("showQuestionDiv").attr("indexOrder");
new AjaxPost(this, {
url: '/QuestionController/getEditQuestion',
data: {
questionId: questionId,
indexOrder:indexOrder,
courseId: $("quizEdit").attr("courseId")
},
callback: function(json){
if(json.succ){
$("questionDiv").html(json.html);
$initUE($("editQuestionDiv").attr("flag"),Number($("editQuestionDiv").attr("editorWidth")));
$initEditQuestionJS();
}
}
}).send()
});
}
};
//编辑试题
var $editQuestion = function(){
if($isEle($("editQuestion"))){
$("editQuestion").addEvent("click",function(){
var questionId=$("editQuestionDiv").attr("questionId");
var quizId=$("quizEdit").attr("quizId");
var courseId=$("quizEdit").attr("courseId");
var subjectTitle=ue.getContent();
var content=ue.getContent();
var diffcultyLevel=$getRadioValue($$(".diffcultyLevelRadio"));
var adviceScore=$("adviceScore").val();
var subjectType;
var correctOption="";
var options=[],names=["A","B","C","D"];
var i=0,j=0;
if($isEle($("quesAnswerList"))){
$("quesAnswerList").getElements("li").each(function(item,n){
if(item.getElement(".optionCheck").checked){
j++;
correctOption+=(names[n]+",")
}
i++;
options.push(item.getElement(".optionInput").val());
});
}
if(i==0){//填空题
subjectType=3;
correctOption=$("correctOption").val();
subjectTitle="";
}else if(i==2){//判断题
subjectType=2;
content="";
}else if(i==4){//选择题
if(j==1){//单选题
subjectType=1;
}else if(j>1){//多选题
subjectType=4;
}else {
return;
}
content="";
}else{
return;
}
new AjaxPost(this, {
url: "/QuestionController/editQuestion",
data: {
"question.id":questionId,
"question.courseId":courseId,
"question.subjectTitle":subjectTitle,
"question.content":content,
"question.diffcultyLevel":diffcultyLevel,
"question.adviceScore":adviceScore,
"question.subjectType":subjectType,
"question.correctOption":correctOption,
options:options
},
callback: function(json){
if(json.succ){
$("getShowQuestion_"+questionId).click();
}
}
}).send();
});
}
};
//取消编辑试题
var $cancelEditQuestion = function(){
if($isEle($("cancelEditQuestion"))){
$("cancelEditQuestion").addEvent("click", function(){
var questionId = $("editQuestionDiv").attr("questionId");
$("getShowQuestion_"+questionId).click();
});
}
};
//删除试题
var $delQuestion = function(){
if($isEle($("delQuestion"))){
$("delQuestion").addEvent("click", function(){
var ele=this;
var questionId = $("showQuestionDiv").attr("questionId");
Ibox.confirm('您确定要删除这道题目?', function() {
new AjaxPost(ele, {
url: '/QuestionController/delQuestion',
data:{
questionId: questionId,
courseId: $("quizEdit").attr("courseId"),
quizId: $("quizEdit").attr("quizId")
},
callback: function(json){
if(json.succ){
$pageFresh();
}
}
}).send()
},"",{title : "删除本题"});
});
}
};
//使用本题
var $setQuestionPublish = function(){
if($isEle($("setQuestionPublish"))){
$("setQuestionPublish").addEvent("click", function(){
var questionId = $("showQuestionDiv").attr("questionId");
var isPublic=this.checked;
new AjaxPost(this, {
url: '/QuestionController/setQuestionPublish',
data: {
questionId: questionId,
quizId: $("quizEdit").attr("quizId"),
isPublic: isPublic
},
callback: function(json){
if(json.succ){
if(isPublish){
$("getShowQuestion_"+questionId).attr("originClass","ques_c_wh");
}else{
$("getShowQuestion_"+questionId).attr("originClass","ques_c_gray");
}
}
}
}).send()
});
}
};
//查看试题
var $getShowQuestion = function(eles){
if($isArr(eles)&&eles.length>0){
eles.addEvent("click",function(){
var ele=this;
$$(".getShowQuestion").each(function(item,n){
var originClass = item.attr("originClass");
item.attr("class",originClass+" getShowQuestion");
})
ele.attr("class","ques_c_blue getShowQuestion");
var questionId=ele.attr("questionId");
new AjaxPost(ele, {
url: '/QuestionController/getShowQuestion',
data:{
questionId: questionId,
indexOrder:ele.html(),
courseId: $("quizEdit").attr("courseId"),
quizId: $("quizEdit").attr("quizId"),
isMapping:$("quizEdit").attr("isMapping")
},
callback: function(json){
if (json.succ){
$("questionDiv").html(json.html);
$initShowQuestionJS();
}
}
}).send()
});
}
};
$getShowQuestion($$(".getShowQuestion"));
//查看试题时切换上一题
var $getShowPreQuestion = function(){
if($isEle($("getShowPreQuestion"))){
$("getShowPreQuestion").addEvent("click",function(){
var questionId = $("showQuestionDiv").attr("questionId");
var num;
$$(".getShowQuestion").each(function(item,n){
if(item.attr("questionId")==questionId){
num=n;
}
if(num>0){
$$(".getShowQuestion")[num-1].click();
}
})
});
}
};
//查看试题时切换下一题
var $getShowNextQuestion = function(){
if($isEle($("getShowNextQuestion"))){
$("getShowNextQuestion").addEvent("click",function(){
var questionId = $("showQuestionDiv").attr("questionId");
var num;
$$(".getShowQuestion").each(function(item,n){
if(item.attr("questionId")==questionId){
num=n;
}
})
if(num<$$(".getShowQuestion").length-1){
$$(".getShowQuestion")[num+1].click();
}
});
}
};
//获取单选框值
var $getRadioValue = function(eles){
var radioValue=null;
eles.each(function(item,n){
if(item.checked){
radioValue=item.value;
}
});
return radioValue;
}
//获取当前选中试题Id
var $getSelectQuestionId = function(){
var questionId=0;
if($$(".getShowQuestion").length>0){
questionId=$$(".getShowQuestion")[$$(".getShowQuestion").length-1].attr("questionId");
$$(".getShowQuestion").each(function(item,n){
if(item.hasClass("ques_c_blue")){
questionId=item.attr("questionId");
}
})
}
return questionId;
}
//添加试题时初始化
var $initAddQuestionJS=function(){
$switchType();
$questionScore();
$addQuestion();
$cancelAddQuestion();
};
//查看试题时初始化
var $initShowQuestionJS=function(){
uParse(".ans-question");
$getShowPreQuestion();
$getShowNextQuestion();
$getEditQuestion();
$delQuestion();
$setQuestionPublish();
if($isEle($("getAddQuestion"))){
$("getAddQuestion").removeClass("abs_out")
}
};
//编辑试题时初始化
var $initEditQuestionJS=function(){
$questionScore();
$editQuestion();
$cancelEditQuestion();
};
// 测试编辑页面初始化
var $initQuizPage = function(){
$showSetQuiz($("showSetQuiz"));
$getAddQuestion($("getAddQuestion"));
$getShowQuestion($$(".getShowQuestion"));
};
/*测验展示部分*/
/*用户展示部分*/
//获取当前选中试题Id
var $getPersonSelectQuestionId = function(eles){
var questionId=0;
if(eles.length>0){
eles.each(function(item,n){
if(item.hasClass("circle_blue")){
questionId=item.attr("questionId");
}
})
}
return questionId;
}
//展开所有试题
var $getPersonShowQuestionAll = function(ele){
if($isEle(ele)){
ele.addEvent("click",function(){
if(ele.checked){
new AjaxPost(ele, {
url: '/QuestionController/getPersonShowQuestionAll',
data:{
courseId:$("personQuizDiv").attr("courseId"),
clazzId:$("personQuizDiv").attr("clazzId"),
quizId: $("personQuizDiv").attr("quizId"),
personType:$("personQuizDiv").attr("personType"),
studentId:$("personQuizDiv").attr("studentId")
},
callback: function(json){
if (json.succ){
$("personQuestionDiv").html(json.html);
uParse(".ans-question");
$initPersonShowQuestionJS();
}
}
}).send()
}else{
$("personQuestionDiv").html("");
var selectQuestionId=$getPersonSelectQuestionId($$(".getPersonShowQuestion"));
if(selectQuestionId>0){
$("getPersonShowQuestion_"+selectQuestionId).click();
}
}
});
}
};
//试题切换
var $getPersonShowQuestion = function(eles){
if($isArr(eles)&&eles.length>0){
eles.addEvent("click",function(){
var ele=this;
$$(".getPersonShowQuestion").each(function(item,n){
item.attr("class",item.attr("originClass")+" c56 mr18 getPersonShowQuestion");
})
ele.attr("class","circle_blue c56 mr18 getPersonShowQuestion");
if(!getPersonShowQuestionAll.checked){
new AjaxPost(ele, {
url: '/QuestionController/getPersonShowQuestion',
data:{
courseId:$("personQuizDiv").attr("courseId"),
clazzId:$("personQuizDiv").attr("clazzId"),
quizId:$("personQuizDiv").attr("quizId"),
questionId: ele.attr("questionId"),
personType:$("personQuizDiv").attr("personType"),
studentId:$("personQuizDiv").attr("studentId"),
indexOrder:ele.attr("indexOrder")
},
callback: function(json){
if (json.succ){
$("personQuestionDiv").html(json.html);
uParse(".ans-question");
$initPersonShowQuestionJS();
}
}
}).send()
}
});
}
};
//查看试题时有无上下题的显示
var $freshPersonPreAndNextStatus = function(pres,nexts,questions){
if($isArr(pres)&&$isArr(nexts)&&pres.length>0&&nexts.length>0){
var questionId = $("personShowQuestionDiv").attr("questionId");
var num;
questions.each(function(item,n){
if(item.attr("questionId")==questionId){
num=n;
}
})
if(num<=0){
pres.each(function(item,n){
item.addClass("abs_out");
})
}
if(num>=questions.length-1){
nexts.each(function(item,n){
item.addClass("abs_out");
})
}
}
}
//查看试题时切换上一题
var $getPersonShowPreQuestion = function(eles){
if($isArr(eles)&&eles.length>0){
eles.addEvent("click",function(){
var ele=this;
var questionId = $("personShowQuestionDiv").attr("questionId");
var num;
$$(".getPersonShowQuestion").each(function(item,n){
if(item.attr("questionId")==questionId){
num=n;
}
})
if(num>0){
$$(".getPersonShowQuestion")[num-1].click();
}
});
}
};
//查看试题时切换下一题
var $getPersonShowNextQuestion = function(eles){
if($isArr(eles)&&eles.length>0){
eles.addEvent("click",function(){
var ele=this;
var questionId = $("personShowQuestionDiv").attr("questionId");
var indexOrder= $("personShowQuestionDiv").attr("indexOrder");
var num;
$$(".getPersonShowQuestion").each(function(item,n){
if(item.attr("questionId")==questionId){
num=n;
}
})
if(num<$$(".getPersonShowQuestion").length-1){
$$(".getPersonShowQuestion")[num+1].click();
}
});
}
};
/*学生答题部分*/
//学生开始测验
var $studentBeginQuiz = function(ele){
if($isEle(ele)){
ele.addEvent("click",function(){
new AjaxPost(ele, {
url: '/QuestionController/studentBeginQuiz',
data:{
clazzId:$("personQuizDiv").attr("clazzId"),
quizId: $("personQuizDiv").attr("quizId")
},
callback: function(json){
if (json.succ){
$pageFresh();
}else{
Ibox.alert('请先完成其他学习内容再进行测验。');
}
// $("node_"+$("personQuizDiv").attr("nodeId")).click();
// $("courseChapterSelected").getElement(".nodeItem").click();
}
}).send()
});
}
};
//学生保存测验 实际已保存 仅提示用户已保存
var $studentSaveQuiz = function(ele){
if($isEle(ele)){
ele.addEvent("click",function(){
$testRemind(ele,"保存成功",1);
setTimeout('$testRemind.hide()',2000)
});
}
};
//学生提交测验
var $studentSubmitQuiz = function(ele){
if($isEle(ele)){
ele.addEvent("click",function(){
new AjaxPost(ele, {
url: '/QuestionController/studentSubmitQuiz',
data:{
clazzId:$("personQuizDiv").attr("clazzId"),
quizId: $("personQuizDiv").attr("quizId")
},
callback: function(json){
if (json.succ){
if(json.html == 'QUIZ_WAITING'){
Ibox.alert('测验未通过,等待30分钟后再次进行测验', function(){$pageFresh();}, null);
}else{
$pageFresh();
}
// if(json.html == 'QUIZ_START'){
// Ibox.alert('测验未通过');
// }else if(json.html == 'QUIZ_FINISH'){
// Ibox.alert('恭喜你通过测验');
// }else if(json.html == 'QUIZ_WAITING'){
// Ibox.alert('测验未通过,等待30分钟后再次进行测验', function(){$pageFresh();}, null);
// }
// $("node_"+$("personQuizDiv").attr("nodeId")).click();
// $("courseChapterSelected").getElement(".nodeItem").click();
}
}
}).send()
});
}
};
var $studentReAnswerQuiz = function(ele){
if($isEle(ele)){
ele.addEvent("click",function(){
new AjaxPost(ele, {
url: '/QuestionController/studentReAnswerQuiz',
data:{
clazzId:$("personQuizDiv").attr("clazzId"),
quizId: $("personQuizDiv").attr("quizId")
},
callback: function(json){
if (json.succ){
// $("node_"+$("personQuizDiv").attr("nodeId")).click();
// $("courseChapterSelected").getElement(".nodeItem").click();
$pageFresh();
}
}
}).send()
});
}
}
//学生回答试题
var $studentAnswerQuestion = function(ele,eles){
//简答题
if($isEle(ele)){
ele.addEvent("blur",function(){
var ele=this;
var questionId = $("personShowQuestionDiv").attr("questionId");
new AjaxPost(ele, {
url: '/QuestionController/studentAnswerQuestion',
data:{
clazzId:$("personQuizDiv").attr("clazzId"),
courseId:$("personQuizDiv").attr("courseId"),
quizId:$("personQuizDiv").attr("quizId"),
questionId: questionId,
answerContent:ele.val()
},
callback: function(json){
if (json.succ){
$("getPersonShowQuestion_"+questionId).attr("originClass","circle_yellow");
}
}
}).send()
});
}
//非简答题
if($isArr(eles)&&eles.length>0){
eles.addEvent("click",function(){
var ele=this;
var questionId = $("personShowQuestionDiv").attr("questionId");
var answerContent="",names=["A","B","C","D"];
eles.each(function(item,n){
if(item.checked){
answerContent+=(names[n]+",")
}
});
new AjaxPost(ele, {
url: '/QuestionController/studentAnswerQuestion',
data:{
clazzId:$("personQuizDiv").attr("clazzId"),
courseId:$("personQuizDiv").attr("courseId"),
quizId:$("personQuizDiv").attr("quizId"),
questionId: questionId,
answerContent:answerContent
},
callback: function(json){
if (json.succ){
$("getPersonShowQuestion_"+questionId).attr("originClass","circle_yellow");
}
}
}).send()
});
}
}
//查看试题时初始化
var $initPersonShowQuestionJS=function(){
$freshPersonPreAndNextStatus($$(".getPersonShowPreQuestion"),$$(".getPersonShowNextQuestion"),$$(".getPersonShowQuestion"));
$getPersonShowPreQuestion($$(".getPersonShowPreQuestion"));
$getPersonShowNextQuestion($$(".getPersonShowNextQuestion"));
//学生答题部分
$studentAnswerQuestion($("answerContent"),$$(".answerContent"));
};
// 初始化测验相关事件
var initQuizEventFn = function(){
$getPersonShowQuestionAll($("getPersonShowQuestionAll"));
$getPersonShowQuestion($$(".getPersonShowQuestion"));
//默认显示第一题 初始化查看试题函数
$initPersonShowQuestionJS();
//学生开始保存提交测验函数
$studentBeginQuiz($("studentBeginQuiz"));
$studentSaveQuiz($("studentSaveQuiz"));
$studentSubmitQuiz($("studentSubmitQuiz"));
$studentReAnswerQuiz($("studentReAnswerQuiz"));
//rebindTestRemind();
};
initQuizEventFn();
/*测验统计部分*/
//查看试题统计
var $getPersonShowQuestionOptions = function(eles){
if($isArr(eles)&&eles.length>0){
eles.addEvent("click",function(){
var ele=this;
var questionId=ele.attr("questionId");
new AjaxPost(ele, {
url: '/QuestionController/getPersonShowQuestionOptions',
data:{
courseId:$("personQuizStatisticsDiv").attr("courseId"),
clazzId:$("personQuizStatisticsDiv").attr("clazzId"),
quizId:$("personQuizStatisticsDiv").attr("quizId"),
studentId:$("personQuizStatisticsDiv").attr("studentId"),
questionId: questionId,
indexOrder: ele.attr("indexOrder")
},
callback: function(json){
if (json.succ){
$("questionTR_"+questionId).html(json.html);
$("closeQuestionDetail_"+questionId).addEvent("click",function(){
$(this.attr("rel")).html("");
});
}
}
}).send()
});
}
}
$getPersonShowQuestionOptions($$(".getPersonShowQuestionOptions"));