socialforge/app/views/exercise/_exercise_student_result.ht...

257 lines
15 KiB
Plaintext
Raw Normal View History

<script type="text/javascript">
$(function(){
$("#RSide").removeAttr("id");
2016-07-22 15:32:37 +08:00
$("#homework_page_right").css("min-height",$("#courseLSide").height()-33);
$("#Container").css("width","1000px");
});
</script>
<div class="homepageRight mt0 ml10">
<div class="resources">
<div class="testStatus"><!--头部显示 start-->
2017-03-03 14:43:51 +08:00
<h1 class="ur_page_title text_c" id="polls_name_h"><%= exercise.exercise_name%></h1>
<div class="fontGrey2">
<span class="mr100">开始时间:<%=Time.parse(h(exercise_user.start_at)).strftime("%Y-%m-%d %H:%M:%S") %></span>
<span class="mr100">截止时间:<%=Time.parse(h(exercise.end_time)).strftime("%Y-%m-%d %H:%M:%S")%></span>
<% unless exercise.time == -1 %>
<span class="fr">测验时长:<%=exercise.time %>分钟</span>
<% end %>
<%# time = exercise_user.end_at - exercise_user.start_at %>
</div>
2017-03-03 14:43:51 +08:00
<pre class="fontGrey2 font_cus" style="white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:pre-wrap;white-space:-o-pre-wrap;word-break:normal;word-wrap: break-word;"><%= exercise.exercise_description.nil? ? "" :exercise.exercise_description.html_safe%></pre>
<div class="cl"></div>
</div>
<div>
2017-03-03 14:43:51 +08:00
<div class="fl mb5">得分:<span class="c_red" id="exercise_user_score"><%=exercise_user.score %></span>分</div>
2016-06-16 16:58:59 +08:00
<% if User.current.admin? || User.current.allowed_to?(:as_teacher,exercise.course) || (exercise.exercise_status == 3 && exercise.show_result == 1) %>
2017-03-03 14:43:51 +08:00
<%= link_to '返回统计结果>>',student_exercise_list_exercise_path(exercise.id,:course_id => exercise.course.id) , :class => "fr linkBlue" %>
2016-06-16 16:58:59 +08:00
<% end %>
</div>
<div class="cl"></div>
2018-03-23 15:54:50 +08:00
<% exercise_questions = exercise.exercise_questions.includes(:exercise_answers, exercise_choices: :exercise_answers) %>
<% mc_question_list = exercise_questions.select{|eq| eq.question_type == 1} %>
<% mcq_question_list = exercise_questions.select{|eq| eq.question_type == 2} %>
<% single_question_list = exercise_questions.select{|eq| eq.question_type == 3} %>
<% multi_question_list = exercise_questions.select{|eq| eq.question_type == 4} %>
2017-03-03 14:43:51 +08:00
2018-03-23 15:54:50 +08:00
<div class="testStatus" id="mc_question_list" style="display: <%=mc_question_list.size > 0 ? "" : "none" %>">
<h3 class="fontGrey3">单选题</h3>
2015-11-20 15:12:07 +08:00
<% mc_question_list.each_with_index do |exercise_question, list_index| %>
<div id="poll_questions_<%= exercise_question.id%>">
2018-03-23 15:54:50 +08:00
<div id="show_poll_questions_<%= exercise_question.id %>" class="<%= (list_index + 1) == mc_question_list.size ? '' : 'border_b' %>">
<div>
2017-03-03 14:43:51 +08:00
<div class="exercise_title">
<div>
<span class="fl lh27">第<%= exercise_question.question_number%>题.&nbsp;&nbsp;<%= exercise_question.question_score %>分&nbsp;&nbsp;
标准答案:<%= convert_to_char(exercise_question.exercise_standard_answers.first.exercise_choice_id.to_s) %></span>
<div class="fr" id="menu_div_<%= exercise_question.id %>">
<% answer = get_user_answer(exercise_question, user)%>
<% standard_answer = get_user_standard_answer(exercise_question, user)%>
<% is_correct = !answer.empty? && !standard_answer.empty? && answer.first.exercise_choice.choice_position == standard_answer.first.exercise_choice_id %>
<div class="fr">
得分:<div class="c_red fr mr10 ml10"><%= is_correct ? exercise_question.question_score : 0 %></div>
</div>
<span class="fr mt-4 f16 mr20"><i class="<%= is_correct ? 'icon-ok c_green' : 'icon-remove c_red' %>"></i></span>
</div>
<div class="cl"></div>
</div>
2017-10-18 16:43:50 +08:00
<div class="break_word justify upload_img table_maxWidth"><%= exercise_question.question_title.html_safe %></div>
</div>
2017-03-03 14:43:51 +08:00
<div class="cl"></div>
2017-03-03 14:43:51 +08:00
<div class="exercise_inputs">
<table class="" style="width:100%;">
<tbody>
<% exercise_question.exercise_choices.reorder("choice_position").each_with_index do |exercise_choice,index| %>
<tr>
<td>
<label>
2015-11-27 15:19:13 +08:00
<%= radio_button "exercise",exercise_question.id.to_s+"exercise_choice_id",exercise_choice.id,:class=>"ur_radio",:checked => answer_be_selected?(exercise_choice,user),:disabled => !@can_edit_excercise %>
<%= convert_to_char((index+1).to_s)%>&nbsp;&nbsp;<%= exercise_choice.choice_text%>
</label>
</td>
</tr>
<% end %>
</tbody>
</table>
</div>
</div>
</div>
</div>
<% end %>
</div>
2017-03-03 14:43:51 +08:00
2018-03-23 15:54:50 +08:00
<div class="testStatus" id="mcq_question_list" style="display: <%=mcq_question_list.size > 0 ? "" : "none" %>">
<h3 class="fontGrey3">多选题</h3>
<% mcq_question_list.each_with_index do |exercise_question, list_index| %>
<div id="poll_questions_<%= exercise_question.id%>">
2018-03-23 15:54:50 +08:00
<div id="show_poll_questions_<%= exercise_question.id %>" class="<%= (list_index + 1) == mcq_question_list.size ? '' : 'border_b' %>">
<div>
2017-03-03 14:43:51 +08:00
<div class="exercise_title">
<div>
<span class="fl lh27">第<%= exercise_question.question_number%>题.&nbsp;&nbsp;<%= exercise_question.question_score %>分&nbsp;&nbsp;
标准答案:<%= convert_to_char(exercise_question.exercise_standard_answers.first.exercise_choice_id.to_s) %></span>
<div class="fr" id="menu_div_<%= exercise_question.id %>">
<% answer = get_user_answer(exercise_question, user)%>
<% standard_answer = get_user_standard_answer(exercise_question, user)%>
<% is_correct = !standard_answer.empty? && get_mulscore(exercise_question, user).to_i == standard_answer.first.exercise_choice_id %>
<div class="fr">
得分:<div class="c_red fr mr10 ml10"><%= is_correct ? exercise_question.question_score : 0 %></div>
</div>
<span class="fr mt-4 f16 mr20"><i class="<%= is_correct ? 'icon-ok c_green' : 'icon-remove c_red' %>"></i></span>
</div>
<div class="cl"></div>
</div>
2017-10-18 16:43:50 +08:00
<div class="break_word justify upload_img table_maxWidth"><%= exercise_question.question_title.html_safe %></div>
</div>
2017-03-03 14:43:51 +08:00
<div class="cl"></div>
2017-03-03 14:43:51 +08:00
<div class="exercise_inputs">
<table class="" style="width:100%;">
<tbody>
<% exercise_question.exercise_choices.reorder("choice_position").each_with_index do |exercise_choice,index| %>
<tr>
<td>
<label>
2015-11-27 15:19:13 +08:00
<input class="ur_radio" type="checkbox" <%= answer_be_selected?(exercise_choice,user) ? "checked":"" %> <%= @can_edit_excercise?"":"disabled=disabled" %> >
<%= convert_to_char((index+1).to_s)%>&nbsp;&nbsp;<%= exercise_choice.choice_text%>
</label>
</td>
</tr>
<% end %>
</tbody>
</table>
</div>
</div><!--多选题显示 end-->
</div>
</div>
<% end %>
</div>
2017-03-03 14:43:51 +08:00
2018-03-23 15:54:50 +08:00
<div class="testStatus" id="single_question_list" style="display: <%=single_question_list.size > 0 ? "" : "none" %>">
<h3 class="fontGrey3">填空题</h3>
2015-11-20 15:12:07 +08:00
<% single_question_list.each_with_index do |exercise_question,list_index| %>
<div id="poll_questions_<%= exercise_question.id%>">
2018-03-23 15:54:50 +08:00
<div id="show_poll_questions_<%= exercise_question.id %>" class="<%= (list_index + 1) == single_question_list.size ? '' : 'border_b' %>">
<div>
2017-03-03 14:43:51 +08:00
<div class="exercise_title">
<div>
<span class="fl lh27">第<%= exercise_question.question_number%>题.&nbsp;&nbsp;<%= exercise_question.question_score %>分</span>
<div class="fr" id="menu_div_<%= exercise_question.id %>">
<% answer = get_user_answer(exercise_question, user)%>
<% standard_answer = get_user_standard_answer(exercise_question, user)%>
<% is_correct = !answer.empty? && !standard_answer.empty? && standard_answer.include?(answer.first.answer_text) %>
<div class="fr">
得分:<div class="c_red fr mr10 ml10"><%= is_correct ? exercise_question.question_score : 0 %></div>
</div>
<span class="fr mt-4 f16 mr20"><i class="<%= is_correct ? 'icon-ok c_green' : 'icon-remove c_red' %>"></i></span>
</div>
<div class="cl"></div>
</div>
2017-10-18 16:43:50 +08:00
<div class="break_word justify upload_img table_maxWidth"><%= exercise_question.question_title.html_safe %></div>
</div>
2017-03-03 14:43:51 +08:00
<div class="cl"></div>
2017-03-03 14:43:51 +08:00
<div class="mb10">
<% exercise_question.exercise_standard_answers.reorder("created_at").each_with_index do |exercise_choice,index| %>
2017-03-03 14:43:51 +08:00
参考答案<%= convert_to_chi_num(index+1) %><%= exercise_choice.answer_text%><br />
<% end %>
</div>
<div>
2018-03-23 15:54:50 +08:00
<input class="fillInput" placeholder="在此填入答案" type="text" value="<%= new_get_anwser_vote_text(exercise_question,user).html_safe %>" <%= @can_edit_excercise?"":"disabled=disabled" %>>
</div>
</div>
</div>
</div>
<% end %>
</div>
2017-03-03 14:43:51 +08:00
2018-03-23 15:54:50 +08:00
<div class="testStatus" id="multi_question_list" style="display: <%=multi_question_list.size > 0 ? "" : "none" %>">
2017-03-03 14:43:51 +08:00
<h3 class="fontGrey3">问答题</h3>
<% multi_question_list.each_with_index do |exercise_question, list_index| %>
<div id="poll_questions_<%= exercise_question.id%>">
2018-03-23 15:54:50 +08:00
<div id="show_poll_questions_<%= exercise_question.id %>" class="<%= (list_index + 1) == multi_question_list.size ? '' : 'border_b' %>">
2017-03-03 14:43:51 +08:00
<div>
<div class="exercise_title">
<div>
<span class="fl lh27">第<%= exercise_question.question_number%>题.&nbsp;&nbsp;<%= exercise_question.question_score %>分</span>
<div class="fr" id="menu_div_<%= exercise_question.id %>">
<% answer = get_user_answer(exercise_question, user)%>
<div class="fr">
<% if User.current.admin? || User.current.allowed_to?(:as_teacher,exercise.course) %>
得分:
<% if answer.empty? %>
<div id="exercise_question_score_<%= exercise_question.id %>" title="未答题系统自动打0分" class="c_red fr mr10 ml10">
0
</div>
<% else %>
<div id="exercise_question_score_<%= exercise_question.id %>" title="双击批阅" ondblclick="edit_question_score('<%= exercise_question.id %>', <%= exercise_question.question_score %>, <%= exercise_user.user_id %>)" class="c_red fr mr10 ml10">
<%= answer.first.score == -1 ? "双击批阅" : answer.first.score %>
</div>
<% end %>
<% else %>
得分:<div class="c_red fr mr10 ml10"><%= answer.empty? ? 0 : (answer.first.score == -1 ? "未批" : answer.first.score) %></div>
<% end %>
</div>
</div>
<div class="cl"></div>
</div>
2017-10-18 16:43:50 +08:00
<div class="break_word justify upload_img table_maxWidth"><%= exercise_question.question_title.html_safe %></div>
2017-03-03 14:43:51 +08:00
</div>
<div class="cl"></div>
2018-03-23 15:54:50 +08:00
<% if exercise_question.exercise_standard_answers.size > 0 %>
2017-03-03 14:43:51 +08:00
<div class="mb10">
参考答案:<pre class="fontGrey2 font_cus" style="white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:pre-wrap;white-space:-o-pre-wrap;word-break:normal;word-wrap: break-word;"><%= exercise_question.exercise_standard_answers.first.answer_text%></pre>
</div>
<% end %>
<div>
2018-03-23 15:54:50 +08:00
<textarea style="width: 693px; height: 90px; line-height: 30px; border: 1px solid #CBCBCB; color: #888888;" name="exercise_choice" placeholder="在此填入答案" <%= @can_edit_excercise?"":"disabled=disabled" %>><%= new_get_anwser_vote_text(exercise_question,exercise_user.user).html_safe %></textarea>
2017-03-03 14:43:51 +08:00
</div>
</div>
</div>
</div>
<% end %>
</div>
<div class="cl"></div>
<!--contentbox end-->
</div>
<!--RSide end-->
2017-03-03 14:43:51 +08:00
</div>
<script>
// 在线测验的主观题打分
function edit_question_score(id, score, user_id){
$("#exercise_question_score_"+id).html("<input type='text' id='edit_score_input' onblur='edit_question_score_submit(this, "+ id +", "+ score +", "+ user_id +")' class='score_input' placeholder='0-"+ score +"'></input>");
}
function edit_question_score_submit(obj, id, score, user_id){
$.ajax({
type: "post",
url: "<%= edit_question_score_exercise_path(exercise) %>",
data: {
exercise_question_id: id,
user_id: user_id,
score: $(obj).val().trim()
},
success: function (data) {
var dataObj = eval(data);
if(dataObj.status == 2){
$("#ajax_notice_p").html("请输入0-"+score);
$("#ajax-notice").css('top', $(window).scrollTop()+200);
$("#ajax-notice").show();
} else if(dataObj.status == 1){
$("#exercise_question_score_"+id).html(dataObj.score);
$("#exercise_user_score").html(dataObj.total_score);
$("#ajax_notice_p").html("分数已保存");
$("#ajax-notice").css('top', $(window).scrollTop()+200);
$("#ajax-notice").show();
}
setTimeout(function(){
$("#ajax-notice").hide();
},2000);
},
error: function () {
long_notice_box("网路异常,请重新批阅。");
}
});
}
</script>