试卷的插入、上下移动、删除等功能

This commit is contained in:
cxt 2017-09-29 15:55:37 +08:00
parent 786430697b
commit e13bb9316f
23 changed files with 227 additions and 609 deletions

View File

@ -188,17 +188,14 @@ class ExerciseController < ApplicationController
option = {
:question_title => question_title,
:question_type => params[:question_type] || 1,
:question_number => params[:question_type] == "1"? @exercise.exercise_questions.where("question_type = 1").count + 1 :
(params[:question_type] == "2" ? (@exercise.exercise_questions.where("question_type = 2").count + 1) :
(params[:question_type] == "3" ? (@exercise.exercise_questions.where("question_type = 3").count + 1) :
@exercise.exercise_questions.where("question_type = 4").count + 1)),
:question_number => @exercise.exercise_questions.count + 1,
:question_score => params[:question_score]
}
@exercise_questions = @exercise.exercise_questions.new option
# params[:question_answer] 题目选项
if params[:question_answer]
for i in 1..params[:question_answer].count
answer = (params[:question_answer].values[i-1].nil? || params[:question_answer].values[i-1].empty?) ? l(:label_new_answer) : params[:question_answer].values[i-1]
answer = params[:question_answer][i-1]
question_option = {
:choice_position => i,
:choice_text => answer
@ -207,20 +204,23 @@ class ExerciseController < ApplicationController
end
end
# 如果是插入的话那么从插入的这个id以后的question_num都将要+1
if params[:quest_id]
if params[:quest_id] != "0"
@is_insert = true
if @exercise_questions.question_type == 1
ExerciseQuestion.where("question_number>? and question_type=?",params[:quest_num].to_i, 1).update_all(" question_number = question_number + 1")
#@exercise.exercise_questions.where("question_number > #{params[:quest_num].to_i} and question_type == 1").update_all(" question_number = question_number + 1")
elsif @exercise_questions.question_type == 2
ExerciseQuestion.where("question_number>? and question_type=?",params[:quest_num].to_i, 2).update_all(" question_number = question_number + 1")
elsif @exercise_questions.question_type == 3
ExerciseQuestion.where("question_number>? and question_type=?",params[:quest_num].to_i, 3).update_all(" question_number = question_number + 1")
else
ExerciseQuestion.where("question_number>? and question_type=?",params[:quest_num].to_i, 4).update_all(" question_number = question_number + 1")
insert_que = ExerciseQuestion.find params[:quest_id]
if insert_que
@exercise.exercise_questions.where("question_number>?",insert_que.question_number).update_all("question_number = question_number + 1")
# if @exercise_questions.question_type == 1
# ExerciseQuestion.where("question_number>?",params[:quest_num].to_i).update_all(" question_number = question_number + 1")
# elsif @exercise_questions.question_type == 2
# ExerciseQuestion.where("question_number>? and question_type=?",params[:quest_num].to_i, 2).update_all(" question_number = question_number + 1")
# elsif @exercise_questions.question_type == 3
# ExerciseQuestion.where("question_number>? and question_type=?",params[:quest_num].to_i, 3).update_all(" question_number = question_number + 1")
# else
# ExerciseQuestion.where("question_number>? and question_type=?",params[:quest_num].to_i, 4).update_all(" question_number = question_number + 1")
# end
# @exercise_question_num = params[:quest_num].to_i
@exercise_questions.question_number = insert_que.question_number + 1
end
# @exercise_question_num = params[:quest_num].to_i
@exercise_questions.question_number = params[:quest_num].to_i + 1
end
if @exercise_questions.save
# params[:exercise_choice] 标准答案参数
@ -229,7 +229,7 @@ class ExerciseController < ApplicationController
for i in 1..params[:exercise_choice].count
standart_answer = ExerciseStandardAnswer.new
standart_answer.exercise_question_id = @exercise_questions.id
standart_answer.answer_text = params[:exercise_choice].values[i-1]
standart_answer.answer_text = params[:exercise_choice][i-1]
standart_answer.save
end
elsif @exercise_questions.question_type == 4
@ -337,16 +337,17 @@ class ExerciseController < ApplicationController
@exercise_question = ExerciseQuestion.find params[:exercise_question]
@exercise = @exercise_question.exercise
if @exercise_question.question_type == 1
ExerciseQuestion.where("question_number>? and question_type=?",params[:quest_num].to_i, 1).update_all(" question_number = question_number - 1")
#@exercise.exercise_questions.where("question_number > #{params[:quest_num].to_i} and question_type == 1").update_all(" question_number = question_number + 1")
elsif @exercise_question.question_type == 2
ExerciseQuestion.where("question_number>? and question_type=?",params[:quest_num].to_i, 2).update_all(" question_number = question_number - 1")
elsif @exercise_question.question_type == 3
ExerciseQuestion.where("question_number>? and question_type=?",params[:quest_num].to_i, 3).update_all(" question_number = question_number - 1")
else
ExerciseQuestion.where("question_number>? and question_type=?",params[:quest_num].to_i, 4).update_all(" question_number = question_number - 1")
end
ExerciseQuestion.where("question_number>?",params[:quest_num].to_i).update_all("question_number = question_number - 1")
# if @exercise_question.question_type == 1
# ExerciseQuestion.where("question_number>? and question_type=?",params[:quest_num].to_i, 1).update_all(" question_number = question_number - 1")
# #@exercise.exercise_questions.where("question_number > #{params[:quest_num].to_i} and question_type == 1").update_all(" question_number = question_number + 1")
# elsif @exercise_question.question_type == 2
# ExerciseQuestion.where("question_number>? and question_type=?",params[:quest_num].to_i, 2).update_all(" question_number = question_number - 1")
# elsif @exercise_question.question_type == 3
# ExerciseQuestion.where("question_number>? and question_type=?",params[:quest_num].to_i, 3).update_all(" question_number = question_number - 1")
# else
# ExerciseQuestion.where("question_number>? and question_type=?",params[:quest_num].to_i, 4).update_all(" question_number = question_number - 1")
# end
# @exercise_question_num = params[:quest_num].to_i
# @exercise_questions.question_number = params[:quest_num].to_i - 1
#
@ -368,12 +369,12 @@ class ExerciseController < ApplicationController
exercise_questions = @exercise.exercise_questions
if @exercise_question
if params[:opr] == 'up' && @exercise_question.question_number > 1
@before_que = exercise_questions.where("question_type = #{@exercise_question.question_type} and question_number = #{@exercise_question.question_number - 1}").first
@before_que = exercise_questions.where("question_number = #{@exercise_question.question_number - 1}").first
if @before_que && @exercise_question.update_attribute('question_number', @exercise_question.question_number - 1)
@before_que.update_attribute('question_number', @before_que.question_number + 1)
end
elsif params[:opr] == 'down' && @exercise_question.question_number < exercise_questions.count
@after_que = exercise_questions.where("question_type = #{@exercise_question.question_type} and question_number = #{@exercise_question.question_number + 1}").first
@after_que = exercise_questions.where("question_number = #{@exercise_question.question_number + 1}").first
if @after_que && @exercise_question.update_attribute('question_number', @exercise_question.question_number + 1)
@after_que.update_attribute('question_number', @after_que.question_number - 1)
end

View File

@ -6,7 +6,7 @@
<textarea id="mustBe" name="exercise[exercise_description]" class="panel-box-sizing panel-form-width-100" placeholder="试卷须知共有选择、填空、简答3种题型其中选择题包括单选题和多选题;您可以在此处填写本次试卷答题的相关说明"><%= @exercise.try(:exercise_description) %></textarea>
</div>
<p class="fr">
<a href="javascript:void(0)" onclick="pollsSubmit($(this));" class="fr task-btn mr15 task-btn-blue">保存</a>
<a href="javascript:void(0)" onclick="pollsCancel();" class="fr task-btn mr10">取消</a>
<a href="javascript:void(0)" onclick="ex_head_submit($(this));" class="fr task-btn mr15 task-btn-blue">保存</a>
<a href="javascript:void(0)" onclick="ex_head_cancel();" class="fr task-btn mr10">取消</a>
</p>
<% end %>

View File

@ -14,22 +14,14 @@
</div>
</div>
<div id="total_questions_score">
<%= render :partial => "exercise/total_questions_score" %>
</div>
<div id="exercise_question_list">
<!--<%# if is_edit %>-->
<!--<%# @exercise.exercise_questions.each do |eq| %>-->
<!--<%# case eq.question_type %>-->
<!--<%# when 1 %>-->
<!--<div id='poll_questions_<%#= eq.id%>'>-->
<!--<div id='show_poll_questions_<%#= eq.id %>'>-->
<!--<%#= escape_javascript(render :partial => 'show_MC', :locals => {:exercise_question => eq}) %>-->
<!--</div>-->
<!--<div id='edit_poll_questions_<%#= eq.id %>' style='display: none;'>-->
<!--<%#= escape_javascript(render :partial => 'edit_MC', :locals => {:exercise_question => eq}) %>-->
<!--</div>-->
<!--</div>-->
<!--<%# end %>-->
<!--<%# end %>-->
<!--<%# end %>-->
<% if is_edit %>
<%= render :partial => "exercise/exercise_content" %>
<% end %>
</div>
<div class="edu-con-top user_bg_shadow bor-grey-e clearfix mb20" id="new_exercise_question">
@ -44,7 +36,7 @@
<li class="clearfix pr mb20">
<label class="panel-form-label fl"><span class="option-item fr mr10 color-grey select-choice" name="option_span" onclick="selectchoice(this)" data-tip-down="点击设置答案">A</span></label>
<input type="hidden" name="choice[answer][]">
<textarea class="panel-form-width2-690 fl panel-box-sizing" placeholder="请输入选项内容"></textarea>
<textarea class="panel-form-width2-690 fl panel-box-sizing" name="question_answer[]" placeholder="请输入选项内容"></textarea>
<a title="移除" href="javascript:void(0)" class="position-delete option_icon_remove" onclick="removeSingle(this)"><i class="fa fa-times-circle color-orange font-16 fl"></i></a>
</li>
</script>
@ -52,7 +44,7 @@
<script id="t:set-option-lists" type="text/html">
<li class="clearfix pr mb20">
<label class="panel-form-label fl"><span class="option-item fr mr10 color-grey select-choice" onclick="selectMul(this)" name="option_spans" data-tip-down="点击设置答案">A</span></label>
<textarea class="panel-form-width2-690 fl panel-box-sizing" placeholder="请输入选项内容"></textarea>
<textarea class="panel-form-width2-690 fl panel-box-sizing" name="question_answer[]" placeholder="请输入选项内容"></textarea>
<a title="移除" href="javascript:void(0)" class="position-delete option_icon_remove" onclick="removeMuli(this)"><i class="fa fa-times-circle color-orange font-16 fl"></i></a>
</li>
</script>
@ -60,23 +52,11 @@
<script id="t:set-fillin-lists" type="text/html">
<li class="clearfix pr mb20">
<label class="panel-form-label fl"><span class="fr mr10 color-grey" name="fill_span">答案 2</span></label>
<textarea class="panel-form-width2-690 fl panel-box-sizing" name="fill[cnt][]" placeholder="请输入参考答案(可选)"></textarea>
<textarea class="panel-form-width2-690 fl panel-box-sizing" name="exercise_choice[]" placeholder="请输入参考答案(可选)"></textarea>
<a title="移除" href="javascript:void(0)" onclick="removefill(this)" class="position-delete option_icon_remove"><i class="fa fa-times-circle color-orange font-16 fl"></i></a>
</li>
</script>
<div class="edu-con-top user_bg_shadow bor-grey-e color-grey clearfix mb20 font-12">
<p class="ml15 fl">
<span class="mr20">单选题<span>&nbsp;3&nbsp;</span>题,共<span>&nbsp;15&nbsp;</span>分</span>
<span class="mr20">多选题<span>&nbsp;5&nbsp;</span>题,共<span>&nbsp;25&nbsp;</span>分</span>
<span class="mr20">填空题<span>&nbsp;10&nbsp;</span>题,共<span>&nbsp;25&nbsp;</span>分</span>
<span>简答题<span>&nbsp;10&nbsp;</span>题,共<span>&nbsp;25&nbsp;</span>分</span>
</p>
<a class="fr mr15">
<span>合计<span class="color-orange03">&nbsp;10&nbsp;</span>题,共<span class="color-orange03">&nbsp;100&nbsp;</span>分</span>
</a>
</div>
<script>
/*填空题操作*/
function addfill(item){
@ -85,14 +65,14 @@
bt.RIGHT_DELIMITER = '!>';
var html = bt('t:set-fillin-lists', null);
$(item).parent().parent('.clearfix').before(html);
var inputs = document.getElementsByName("fill[cnt][]");
var inputs = document.getElementsByName("exercise_choice[]");
var inputs_spans = document.getElementsByName("fill_span");
for (var j = 0; j < inputs_spans.length; j++) {
$(inputs_spans[j]).html("答案 "+(j+1));
}
for (var i = 0; i < inputs.length; i++) {
autoTextarea(inputs[i], 0, 140);
}
// for (var i = 0; i < inputs.length; i++) {
// autoTextarea(inputs[i], 0, 140);
// }
$(inputs[inputs.length - 1]).focus();
}
@ -107,15 +87,9 @@
/*选择题操作*/
function removeMuli(item){
var temp=$(item).parents("li").siblings("div").find(".current-option");
var muil=$(item).parents(".multiple_Temp").find(".check-option-bg");
var count=0;
if(temp.find(".check-option-bg").length>0){
alert($(item).parents("li").find("label span").html());
count++;
}
temp.html("");
$(item).parents('li').remove();
var muil=$(item).parents(".multiple_Temp").find(".check-option-bg");
var inputs_spans = document.getElementsByName("option_spans");
for (var j = 0; j < inputs_spans.length; j++) {
if(j >= 0 && j <= 26){
@ -125,11 +99,14 @@
}
}
if(parseInt(muil.length)-count>0){
temp.html("");
if(parseInt(muil.length)>0){
for(var i=0;i<parseInt(muil.length)-count;i++){
temp.html(temp.html()+muil.eq(i).html());
}
$("#exercise_choice_2").val(temp.html());
}else{
$("#exercise_choice_2").val('');
temp.html("请点击正确选项");
}
}
@ -184,10 +161,10 @@
}
function removeSingle(item){
var temp=$(item).parents("li").siblings("div").find(".current-option");
var singl=$(item).parents(".single_Temp").find(".check-option-bg");
temp.html("");
$(item).parents('li').remove();
var singl=$(item).parents(".single_Temp").find(".check-option-bg");
var inputs_spans = document.getElementsByName("option_span");
for (var j = 0; j < inputs_spans.length; j++) {
if(j >= 0 && j <= 26){
@ -201,8 +178,10 @@ function removeSingle(item){
for(var i=0;i<singl.length;i++){
temp.html(temp.html()+singl.eq(i).html());
}
$("#exercise_choice_1").val(temp.html());
}else{
temp.html("请点击正确选项");
$("#exercise_choice_1").val('');
}
}
function selectchoice(item){

View File

@ -1,56 +1,34 @@
<% mc_question_list = exercise.exercise_questions.where("question_type=1") %>
<% mcq_question_list = exercise.exercise_questions.where("question_type=2") %>
<% single_question_list = exercise.exercise_questions.where("question_type=3") %>
<% multi_question_list = exercise.exercise_questions.where("question_type=4") %>
<div class="testStatus" id="mc_question_list" style="display: <%=mc_question_list.count > 0 ? "" : "none" %>">
<h3 class="fontGrey3">单选题</h3>
<% mc_question_list.each_with_index do |exercise_question, index| %>
<div id="poll_questions_<%= exercise_question.id%>">
<div id="show_poll_questions_<%= exercise_question.id %>" class="<%= (index + 1) == mc_question_list.count ? '' : 'border_b' %>">
<%= render :partial => 'show_MC', :locals => {:exercise_question => exercise_question} %>
</div>
<div id="edit_poll_questions_<%= exercise_question.id %>" style="display: none;">
<%= render :partial => 'edit_MC', :locals => {:exercise_question => exercise_question} %>
</div>
</div>
<% end %>
</div>
<div class="testStatus" id="mcq_question_list" style="display: <%=mcq_question_list.count > 0 ? "" : "none" %>">
<h3 class="fontGrey3">多选题</h3>
<% mcq_question_list.each_with_index do |exercise_question, index| %>
<div id="poll_questions_<%= exercise_question.id%>">
<div id="show_poll_questions_<%= exercise_question.id %>" class="<%= (index + 1) == mcq_question_list.count ? '' : 'border_b' %>">
<%= render :partial => 'show_MCQ', :locals => {:exercise_question => exercise_question} %>
</div>
<div id="edit_poll_questions_<%= exercise_question.id %>" style="display: none;">
<%= render :partial => 'edit_MCQ', :locals => {:exercise_question => exercise_question} %>
</div>
</div>
<% end %>
</div>
<div class="testStatus" id="single_question_list" style="display: <%=single_question_list.count > 0 ? "" : "none" %>">
<h3 class="fontGrey3">填空题</h3>
<% single_question_list.each_with_index do |exercise_question, index| %>
<div id="poll_questions_<%= exercise_question.id%>">
<div id="show_poll_questions_<%= exercise_question.id %>" class="<%= (index + 1) == single_question_list.count ? '' : 'border_b' %>">
<%= render :partial => 'show_single', :locals => {:exercise_question => exercise_question} %>
</div>
<div id="edit_poll_questions_<%= exercise_question.id %>" style="display: none;">
<%= render :partial => 'edit_single', :locals => {:exercise_question => exercise_question} %>
</div>
</div>
<% end %>
</div>
<div class="testStatus" id="multi_question_list" style="display: <%=multi_question_list.count > 0 ? "" : "none" %>">
<h3 class="fontGrey3">问答题</h3>
<% multi_question_list.each_with_index do |exercise_question, index| %>
<div id="poll_questions_<%= exercise_question.id%>">
<div id="show_poll_questions_<%= exercise_question.id %>" class="<%= (index + 1) == multi_question_list.count ? '' : 'border_b' %>">
<%= render :partial => 'show_multi', :locals => {:exercise_question => exercise_question} %>
</div>
<div id="edit_poll_questions_<%= exercise_question.id %>" style="display: none;">
<%= render :partial => 'edit_multi', :locals => {:exercise_question => exercise_question} %>
</div>
</div>
<% end %>
</div>
<% @exercise.exercise_questions.each do |eq| %>
<div id='poll_questions_<%= eq.id %>'>
<% case eq.question_type %>
<% when 1 %>
<div id='show_poll_questions_<%= eq.id %>'>
<%= render :partial => 'show_MC', :locals => {:exercise_question => eq} %>
</div>
<div id='edit_poll_questions_<%= eq.id %>' style='display: none;'>
<%= render :partial => 'edit_MC', :locals => {:exercise_question => eq} %>
</div>
<% when 2 %>
<div id='show_poll_questions_<%= eq.id %>'>
<%= render :partial => 'show_MCQ', :locals => {:exercise_question => eq} %>
</div>
<div id='edit_poll_questions_<%= eq.id %>' style='display: none;'>
<%= render :partial => 'edit_MCQ', :locals => {:exercise_question => eq} %>
</div>
<% when 3 %>
<div id='show_poll_questions_<%= eq.id %>'>
<%= render :partial => 'show_single', :locals => {:exercise_question => eq} %>
</div>
<div id='edit_poll_questions_<%= eq.id %>' style='display: none;'>
<%= render :partial => 'edit_single', :locals => {:exercise_question => eq} %>
</div>
<% when 4 %>
<div id='show_poll_questions_<%= eq.id %>'>
<%= render :partial => 'show_multi', :locals => {:exercise_question => eq} %>
</div>
<div id='edit_poll_questions_<%= eq.id %>' style='display: none;'>
<%= render :partial => 'edit_multi', :locals => {:exercise_question => eq} %>
</div>
<% end %>
</div>
<% end %>

View File

@ -33,7 +33,7 @@
<% if exercise.exercise_status == 1 %>
<li><%= link_to "编辑", edit_exercise_path(exercise) %></li>
<% end %>
<li><%= link_to "预览", exercise_path(exercise) %></li>
<!--<li><%#= link_to "预览", exercise_path(exercise) %></li>-->
<li><%= link_to "设置", setting_exercise_path(exercise) %></li>
<li><%= link_to "导出成绩", student_exercise_list_exercise_path(exercise.id,:course_id => @course.id, :format => 'xls') %></li>
<% unless exercise.is_public %>

View File

@ -7,6 +7,7 @@
<div class="clearfix">
<p class="fl mt15 font-16 mb10">单选题</p>
<input name="question_type" value="1" type="hidden">
<input name="quest_id" id="quest_id" value="0" type="hidden">
<label class="fr mt15">标准答案:<span class="color-orange current-option">请点击正确选项</span></label>
</div>
<li class="clearfix pr mb20">
@ -18,21 +19,21 @@
<label class="panel-form-label fl">
<span class="option-item fr mr10 color-grey select-choice" onclick="selectchoice(this)" name="option_span" data-tip-down="点击设置答案">A</span>
</label>
<textarea maxlength="200" name='question_answer[0]' class="panel-form-width2-690 fl panel-box-sizing" placeholder="请输入选项内容"></textarea>
<textarea maxlength="200" name='question_answer[]' class="panel-form-width2-690 fl panel-box-sizing" placeholder="请输入选项内容"></textarea>
<a title="移除" href="javascript:void(0)" class="position-delete option_icon_remove" onclick="removeSingle(this)"><i class="fa fa-times-circle color-orange font-16 fl"></i></a>
</li>
<li class="clearfix pr mb20">
<label class="panel-form-label fl">
<span class="option-item fr mr10 color-grey select-choice " onclick="selectchoice(this)" name="option_span" data-tip-down="点击设置答案">B</span>
</label>
<textarea maxlength="200" name='question_answer[1]' class="panel-form-width2-690 fl panel-box-sizing" placeholder="请输入选项内容"></textarea>
<textarea maxlength="200" name='question_answer[]' class="panel-form-width2-690 fl panel-box-sizing" placeholder="请输入选项内容"></textarea>
<a title="移除" href="javascript:void(0)" class="position-delete option_icon_remove" onclick="removeSingle(this)"><i class="fa fa-times-circle color-orange font-16 fl"></i></a>
</li>
<li class="clearfix pr mb20">
<label class="panel-form-label fl">
<span class="option-item fr mr10 color-grey select-choice" onclick="selectchoice(this)" name="option_span" data-tip-down="点击设置答案">C</span>
</label>
<textarea maxlength="200" name='question_answer[2]' class="panel-form-width2-690 fl panel-box-sizing" placeholder="请输入选项内容"></textarea>
<textarea maxlength="200" name='question_answer[]' class="panel-form-width2-690 fl panel-box-sizing" placeholder="请输入选项内容"></textarea>
<a title="移除" href="javascript:void(0)" class="position-delete option_icon_remove" onclick="removeSingle(this)"><i class="fa fa-times-circle color-orange font-16 fl"></i></a>
</li>
<li class="clearfix mb20">
@ -61,7 +62,7 @@
<script type="text/javascript">
$(function(){
$("#add_new_question").one('click', function(){
add_poll_question($(this),1);
add_ex_question($(this),1);
});
});
</script>

View File

@ -7,6 +7,7 @@
<div class="clearfix">
<p class="fl mt15 font-16 mb10">多选题</p>
<input name="question_type" value="2" type="hidden">
<input name="quest_id" id="quest_id" value="0" type="hidden">
<label class="fr mt15">标准答案:<span class="color-orange current-option">请点击正确选项</span></label>
<input style="display: none;" name="exercise_choice" id="exercise_choice_2"/>
</div>
@ -18,21 +19,21 @@
<label class="panel-form-label fl">
<span class="option-item fr mr10 color-grey select-choice " onclick="selectMul(this)" name="option_spans" data-tip-down="点击设置答案">A</span>
</label>
<textarea class="panel-form-width2-690 fl panel-box-sizing" name="question_answer[0]" placeholder="请输入选项内容"></textarea>
<textarea class="panel-form-width2-690 fl panel-box-sizing" name="question_answer[]" placeholder="请输入选项内容"></textarea>
<a title="移除" href="javascript:void(0)" class="position-delete option_icon_remove" onclick="removeMuli(this)"><i class="fa fa-times-circle color-orange font-16 fl"></i></a>
</li>
<li class="clearfix pr mb20">
<label class="panel-form-label fl">
<span class="option-item fr mr10 color-grey select-choice " onclick="selectMul(this)" name="option_spans" data-tip-down="点击设置答案">B</span>
</label>
<textarea class="panel-form-width2-690 fl panel-box-sizing" name="question_answer[1]" placeholder="请输入选项内容"></textarea>
<textarea class="panel-form-width2-690 fl panel-box-sizing" name="question_answer[]" placeholder="请输入选项内容"></textarea>
<a title="移除" href="javascript:void(0)" class="position-delete option_icon_remove" onclick="removeMuli(this)"><i class="fa fa-times-circle color-orange font-16 fl"></i></a>
</li>
<li class="clearfix pr mb20">
<label class="panel-form-label fl">
<span class="option-item fr mr10 color-grey select-choice " onclick="selectMul(this)" name="option_spans" data-tip-down="点击设置答案">C</span>
</label>
<textarea class="panel-form-width2-690 fl panel-box-sizing" name="question_answer[2]" placeholder="请输入选项内容"></textarea>
<textarea class="panel-form-width2-690 fl panel-box-sizing" name="question_answer[]" placeholder="请输入选项内容"></textarea>
<a title="移除" href="javascript:void(0)" class="position-delete option_icon_remove" onclick="removeMuli(this)"><i class="fa fa-times-circle color-orange font-16 fl"></i></a>
</li>
<li class="clearfix mb20">
@ -44,7 +45,7 @@
<li class="clearfix mb20">
<% score = exercise.exercise_questions.where("question_type=2").last.nil? ? "": exercise.exercise_questions.where("question_type=2").last.question_score %>
<label class="panel-form-label fl"><span class="mr10">分值</span></label>
<input id="question_score" value="<%=score %>" type="text" name="question_score" class="with10 mr5 fl panel-box-sizing task-height-40" />
<input id="question_score" value="<%=score %>" type="text" name="question_score" class="with10 mr5 fl pl10 panel-box-sizing task-height-40" />
<label class="fl" style="line-height: 40px;">分</label>
<p class="fr">
<span class="font-12 color-grey mb10" style="display: block;">温馨提示:[多选题]属于客观题将由系统自动评分,请设置标准答案</span>
@ -58,7 +59,7 @@
<script type="text/javascript">
$(function(){
$("#add_new_question").one('click', function(){
add_poll_question($(this),2);
add_ex_question($(this),2);
});
});
</script>

View File

@ -12,6 +12,6 @@
<textarea id="mustBe" name="exercise[exercise_description]" class="panel-box-sizing panel-form-width-100" placeholder="试卷须知共有选择、填空、简答3种题型其中选择题包括单选题和多选题;您可以在此处填写本次试卷答题的相关说明"><%= @exercise.try(:exercise_description) %></textarea>
</div>
<p class="fr">
<a href="javascript:void(0)" onclick="pollsSubmit($(this));" class="fr task-btn mr15 task-btn-blue">保存</a>
<a href="javascript:void(0)" onclick="ex_head_submit($(this));" class="fr task-btn mr15 task-btn-blue">保存</a>
</p>
<% end %>

View File

@ -6,6 +6,7 @@
<div class="user_bg_shadow bor-grey-e pl15 pr30 mb20 answer_Temp" id="answer_Temp">
<p class="fl mt15 font-16 mb10">简答题</p>
<input name="question_type" value="4" type="hidden">
<input name="quest_id" id="quest_id" value="0" type="hidden">
<li class="clearfix pr mb20">
<label class="panel-form-label fl"><span class="mr10">题目</span></label>
<textarea maxlength="250" class="panel-form-width2-690 fl panel-box-sizing" name="question_title" id="poll_questions_title" placeholder="请输入简答题的题干" type="text" oninput="autoHeight('#poll_questions_title',30)"></textarea>
@ -17,7 +18,7 @@
<li class="clearfix mb20">
<% score = exercise.exercise_questions.where("question_type=4").last.nil? ? "": exercise.exercise_questions.where("question_type=4").last.question_score %>
<label class="panel-form-label fl"><span class="mr10">分值</span></label>
<input id="question_score" value="<%=score %>" type="text" name="question_score" class="with10 mr5 fl panel-box-sizing task-height-40" />
<input id="question_score" value="<%=score %>" type="text" name="question_score" class="with10 mr5 pl10 fl panel-box-sizing task-height-40" />
<label class="fl" style="line-height: 40px;">分</label>
<p class="fr">
<span class="font-12 color-grey" style="display: block;">温馨提示:[简答题]属于主观题需要人工评分,未作答的情况下系统将自动评分</span>
@ -32,7 +33,7 @@
<script type="text/javascript">
$(function(){
$("#add_new_question").one('click', function(){
add_poll_question($(this),4);
add_ex_question($(this),4);
});
});
</script>

View File

@ -7,17 +7,18 @@
<p class="fl mt15 font-16 mb10">填空题</p>
<li class="clearfix pr mb20">
<input name="question_type" value="3" type="hidden">
<input name="quest_id" id="quest_id" value="0" type="hidden">
<label class="panel-form-label fl"><span class="mr10">题目</span></label>
<textarea maxlength="250" class="panel-form-width2-690 fl panel-box-sizing" name="question_title" id="poll_questions_title" placeholder="请输入填空题的题干(注意:目前仅支持一个空)" type="text" oninput="autoHeight('#poll_questions_title',30)"></textarea>
</li>
<li class="clearfix pr mb20">
<label class="panel-form-label fl"><span class="fr mr10 color-grey" name="fill_span">答案 1</span></label>
<textarea class="panel-form-width2-690 fl panel-box-sizing" name="exercise_choice[0]" placeholder="请输入参考答案"></textarea>
<textarea class="panel-form-width2-690 fl panel-box-sizing" name="exercise_choice[]" placeholder="请输入参考答案"></textarea>
<!--<a title="移除" href="javascript:void(0)" class="position-delete option_icon_remove"><i class="fa fa-times-circle color-orange font-16 fl"></i></a>-->
</li>
<li class="clearfix pr mb20">
<label class="panel-form-label fl"><span class="fr mr10 color-grey" name="fill_span">答案 2</span></label>
<textarea class="panel-form-width2-690 fl panel-box-sizing" name="exercise_choice[1]" placeholder="请输入参考答案(可选)"></textarea>
<textarea class="panel-form-width2-690 fl panel-box-sizing" name="exercise_choice[]" placeholder="请输入参考答案(可选)"></textarea>
<a title="移除" href="javascript:void(0)" class="position-delete option_icon_remove" onclick="removefill(this)"><i class="fa fa-times-circle color-orange font-16 fl"></i></a>
</li>
<li class="clearfix mb20">
@ -27,7 +28,7 @@
<li class="clearfix mb20">
<% score = exercise.exercise_questions.where("question_type=3").last.nil? ? "": exercise.exercise_questions.where("question_type=3").last.question_score %>
<label class="panel-form-label fl"><span class="mr10">分值</span></label>
<input id="question_score" value="<%=score %>" type="text" name="question_score" class="with10 mr5 fl panel-box-sizing task-height-40"/>
<input id="question_score" value="<%=score %>" type="text" name="question_score" class="with10 mr5 fl pl10 panel-box-sizing task-height-40"/>
<label class="fl" style="line-height: 40px;">分</label>
<p class="fr">
<span class="font-12 color-grey mb10" style="display: block;">温馨提示:[填空题]属于客观题将由系统自动评分,请设置标准答案</span>
@ -41,7 +42,7 @@
<script type="text/javascript">
$(function(){
$("#add_new_question").one('click', function(){
add_poll_question($(this),3);
add_ex_question($(this),3);
});
});
</script>

View File

@ -2,159 +2,55 @@
<div class="clearfix pl15 pr15">
<p class="fl font-15">第<%= exercise_question.question_number%>题:<span class="color-orange03 ml10">[单选题]</span><span class="ml10"><%= exercise_question.question_score %></span>分</p>
<p class="fr exam_operator font-18">
<a href="javascript:void(0)" class="down_question"><i class="fa fa-arrow-circle-down mr10 color-orange05"></i></a>
<a href="javascript:void(0)" class="up_question"><i class="fa fa-arrow-circle-up mr10 color-orange05"></i></a>
<a href="javascript:void(0)" class="add_question"><i class="fa fa-plus-circle mr10 color-orange05"></i></a>
<a href="javascript:void(0)"><i class="fa fa-times-circle mr10 color-orange05"></i></a>
<a href="javascript:void(0)"><i class="fa fa-pencil color-orange05"></i></a>
<% if exercise_question.question_number < @exercise.exercise_questions.count %>
<a href="<%= update_question_num_exercise_path(@exercise, :ques_id => exercise_question.id, :opr => 'down') %>" data-remote="true" class="down_question"><i data-tip-down="下移" class="fa fa-arrow-circle-down mr10 color-orange05"></i></a>
<% end %>
<% unless exercise_question.question_number == 1 %>
<a href="<%= update_question_num_exercise_path(@exercise, :ques_id => exercise_question.id, :opr => 'up') %>" data-remote="true" class="up_question"><i data-tip-down="上移" class="fa fa-arrow-circle-up mr10 color-orange05"></i></a>
<% end %>
<a href="javascript:void(0)" class="add_question" onclick="insert_MC(<%=exercise_question.id%>);"><i data-tip-down="向下插入单选题" class="fa fa-plus-circle mr10 color-orange05"></i></a>
<a href="javascript:void(0)" onclick="delete_confirm_box('<%= delete_exercise_question_exercise_index_path(:exercise_question => exercise_question.id, :quest_num => exercise_question.question_number) %>', '确定要删除该题目吗?')"><i data-tip-down="删除" class="fa fa-times-circle mr10 color-orange05"></i></a>
<a href="javascript:void(0)" onclick="exQuestionEdit(<%= exercise_question.id%>);"><i data-tip-down="编辑" class="fa fa-pencil color-orange05"></i></a>
</p>
</div>
<p class="formatContainer break_word"><%= exercise_question.question_title %></p>
<pre class="exercise_que_title pl15 pr15"><%= exercise_question.question_title %></pre>
<div class="pl15 pr15 mb10">
<% exercise_question.exercise_choices.reorder("choice_position").each_with_index do |exercise_choice,index| %>
<li class="clearfix"><input class="magic-radio fl mt5 magic-checkbox_show" id="sx_<%= index %>" name="<%= exercise_question %>" value="<%= exercise_choice.choice_text%>" type="radio"><label class="fl color-grey3" for="sx_<%= index %>"><%= convert_to_char((index+1).to_s)%>&nbsp;&nbsp;<%= exercise_choice.choice_text%></label></li>
<li class="clearfix">
<input class="magic-radio fl mt5 magic-checkbox_show" id="sx_<%= exercise_choice.id %>" name="<%= exercise_question %>" value="<%= exercise_choice.choice_text%>" type="radio">
<label class="fl color-grey3" for="sx_<%= exercise_choice.id %>"><%= convert_to_char((index+1).to_s)%>&nbsp;&nbsp;<%= exercise_choice.choice_text%></label>
</li>
<% end %>
</div>
<div class=" pl15 pr15 pt10 pb10 bor-top-greyE">
标准答案:<%= convert_to_char(exercise_question.exercise_standard_answers.first.exercise_choice_id.to_s) %>
</div>
</div>
<% if false%>
<div>
<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 none" id="menu_div_<%= exercise_question.id %>">
<% type = exercise_question.question_type %>
<% exercise = exercise_question.exercise %>
<% count = exercise.exercise_questions.where(:question_type => type).count %>
<a class="ur_icon_edit" title="编辑" onclick="pollQuestionEdit(<%= exercise_question.id%>);"></a>
<a href="javascript:void(0)" class="ur_icon_de" title="删除" onclick="delete_confirm_box('<%= delete_exercise_question_exercise_index_path(:exercise_question => exercise_question.id, :quest_num => exercise_question.question_number) %>', '确定要删除该题目吗?')"></a>
<a class='ur_icon_add' title='向下插入' id="add_mc_<%=exercise_question.id%>" onclick="dismiss('mc',<%=exercise_question.id%>);insert_MC('mc',<%=exercise_question.question_number%>,<%=exercise_question.id%>);"></a>
<% if exercise_question.question_number < count %>
<%= link_to('', {:controller => 'exercise', :action => 'update_question_num', :id => exercise.id, :ques_id => exercise_question.id, :opr => 'down'},:remote => true, :method => 'post', :class => "poll-down up_and_down", :title => '下移') %>
<% end %>
<% unless exercise_question.question_number == 1 %>
<%= link_to('', {:controller => 'exercise', :action => 'update_question_num', :id => exercise.id, :ques_id => exercise_question.id, :opr => 'up'},:remote => true, :method => 'post', :class => "poll-up up_and_down", :title => '上移') %>
<% end %>
</div>
<div class="cl"></div>
</div>
<p class="formatContainer break_word"><%= exercise_question.question_title %></p>
</div>
<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>
<input class="ur_radio" type="radio" name="<%= exercise_question %>" value="<%= exercise_choice.choice_text%>" >
<%= convert_to_char((index+1).to_s)%>&nbsp;&nbsp;<%= exercise_choice.choice_text%>
</label>
</td>
</tr>
<% end %>
</tbody>
</table>
</div>
</div><!--单选题显示 end-->
<% end %>
<!-- 新增问题 -->
<div id="insert_new_poll_question_mc_<%=exercise_question.id%>">
<div id="insert_new_poll_question_<%=exercise_question.id%>">
</div>
<div class="cl"></div>
<script type="text/javascript">
function insert_MC(quest_type,quest_num,quest_id){
function insert_MC(quest_id){
var forms = $("form.new_exercise_question");
if($.trim($("#insert_new_poll_question_"+quest_type+"_"+quest_id).html()) == "") {
if($.trim($("#insert_new_poll_question_"+quest_id).html()) == "") {
if(forms.length > 0){
notice_box("请先保存正在编辑的题目再新建。");
} else{
<% score =exercise_question.question_score %>
$("#insert_new_poll_question_"+quest_type+"_"+quest_id).html(
'<%= form_for(ExerciseQuestion.new,:html=>{:multipart=>true},:url=>create_exercise_question_exercise_path(exercise_question.exercise.id),:remote=>true) do |f|%>'+
' <div class="questionContainer" style="width: 680px;"> '+
'<div class="mb10 ur_item">'+
'<label>分值<span class="ur_index"></span>&nbsp;&nbsp;&nbsp;</label>'+
'<input id="question_score" value="<%=score %>" type="text" name="question_score" style="width:60px; text-align:center; padding-left:0px;">分'+
'<span class="fr c_red" style="width: 60px;" id="question_standard_answer_1">请点击选项</span>'+
'<span class="fr">标准答案:</span>'+
'<div class="cl"></div>'+
'</div>'+
'<div class="ur_editor_title"> '+
'<label class="questionLabel mt8">问题:&nbsp;&nbsp;</label>'+
'<input type="hidden" name="quest_id" value="'+quest_id+'"/>'+
'<input type="hidden" name="quest_num" value="'+quest_num+'"/>'+
'<input type="hidden" name="question_type" value="1"/>'+
'<textarea name="question_title" style="width: 625px;" id="poll_questions_title" class="questionTitle" placeholder="请输入单选题的题干" type="text"></textarea>'+
'</div>'+
'<div class="ur_editor_content">'+
'<ul>'+
'<div>'+
'<input style="display: none;" name="exercise_choice" id="exercise_choice_1"/>'+
'<li class="ur_item new_answer">'+
'<a class="question_choice_white fl mr10 choice_btn" title="设为答案" href="javascript:void(0)" onclick="toggle_select($(this), 1, 1);">A</a>'+
'<input maxlength="200" class="w600" type="text" name="question_answer[0]" placeholder="输入选项内容"/>'+
'<a class="icon_remove" title="删除" onclick="remove_single_answer($(this))"></a>'+
'</li>'+
'<div class="cl"></div>'+
'<li class="ur_item new_answer">'+
'<a class="question_choice_white fl mr10 choice_btn" title="设为答案" href="javascript:void(0)" onclick="toggle_select($(this), 1, 1);">B</a>'+
'<input maxlength="200" class="w600" type="text" name="question_answer[1]" placeholder="输入选项内容"/>'+
'<a class="icon_remove" title="删除" onclick="remove_single_answer($(this))"></a>'+
'</li>'+
'<div class="cl"></div>'+
'<li class="ur_item new_answer">'+
'<a class="question_choice_white fl mr10 choice_btn" title="设为答案" href="javascript:void(0)" onclick="toggle_select($(this), 1, 1);">C</a>'+
'<input maxlength="200" class="w600" type="text" name="question_answer[2]" placeholder="输入选项内容"/>'+
'<a class="icon_remove" title="删除" onclick="remove_single_answer($(this))"></a>'+
'</li>'+
'<div class="cl"></div>'+
'<li class="ur_item new_answer">'+
'<a class="question_choice_white fl mr10 choice_btn" title="设为答案" href="javascript:void(0)" onclick="toggle_select($(this), 1, 1);">D</a>'+
'<input maxlength="200" class="w600" type="text" name="question_answer[3]" placeholder="输入选项内容"/>'+
'<a class="icon_remove" title="删除" onclick="remove_single_answer($(this))"></a>'+
'</li>'+
'<div class="cl"></div>'+
'<li class="ur_item">'+
'<a class="question_choice_dash fl mr10 choice_btn">E</a>'+
'<div class="dash-block new-question w600" onclick="add_single_answer($(this), 1);">新建选项</div>'+
'</li>'+
'<div class="cl"></div>'+
'</div>'+
'<div class="cl"></div>'+
'</ul>'+
'</div>'+
'<div class="ur_editor_footer">'+
'<span class="fl c_red mt10">温馨提示:[单选题]属于客观题将由系统自动评分,请设置标准答案</span>'+
'<a class="big_blue_btn borderRadius fr" data-button="ok" id="add_new_question">'+
'保存'+
'</a>'+
'<a class="big_grey_btn borderRadius fr mr10" data-button="cancel" onclick="$(this).parent().parent().parent().remove();">'+
'<%= l(:button_cancel)%>'+
'</a>'+
'</div>'+
'<div class="cl"></div>'+
'</div>'+
'<% end%>'
);
$("#insert_new_poll_question_"+quest_id).html("<%= escape_javascript(render :partial => 'new_MC', :locals => {:exercise=>@exercise}) %>");
$("#quest_id").val(quest_id);
$("#poll_questions_title").focus();
$("#add_new_question").one('click', function(){
add_poll_question($(this),1);
});
$(".questionTitle").on("input",function(){
$(this).height(30);
var scrollVal = $(this)[0].scrollHeight;
$(this).height(scrollVal);
});
}
}
}
else {
$("#insert_new_poll_question_"+quest_type+"_"+quest_id).html("");
$("#insert_new_poll_question_"+quest_id).html("");
}
}
</script>

View File

@ -2,17 +2,24 @@
<div class="clearfix pl15 pr15">
<p class="fl font-15">第<%= exercise_question.question_number%>题:<span class="color-orange03 ml10">[多选题]</span><span class="ml10"><%= exercise_question.question_score %></span>分</p>
<p class="fr exam_operator font-18">
<a href="javascript:void(0)" class="down_question"><i class="fa fa-arrow-circle-down mr10 color-orange05"></i></a>
<a href="javascript:void(0)" class="up_question"><i class="fa fa-arrow-circle-up mr10 color-orange05"></i></a>
<a href="javascript:void(0)" class="add_question"><i class="fa fa-plus-circle mr10 color-orange05"></i></a>
<a href="javascript:void(0)"><i class="fa fa-times-circle mr10 color-orange05"></i></a>
<a href="javascript:void(0)"><i class="fa fa-pencil color-orange05"></i></a>
<% if exercise_question.question_number < @exercise.exercise_questions.count %>
<a href="<%= update_question_num_exercise_path(@exercise, :ques_id => exercise_question.id, :opr => 'down') %>" data-remote="true" class="down_question"><i data-tip-down="下移" class="fa fa-arrow-circle-down mr10 color-orange05"></i></a>
<% end %>
<% unless exercise_question.question_number == 1 %>
<a href="<%= update_question_num_exercise_path(@exercise, :ques_id => exercise_question.id, :opr => 'up') %>" data-remote="true" class="up_question"><i data-tip-down="上移" class="fa fa-arrow-circle-up mr10 color-orange05"></i></a>
<% end %>
<a href="javascript:void(0)" class="add_question" onclick="insert_MCQ(<%=exercise_question.id%>);"><i data-tip-down="向下插入多选题" class="fa fa-plus-circle mr10 color-orange05"></i></a>
<a href="javascript:void(0)" onclick="delete_confirm_box('<%= delete_exercise_question_exercise_index_path(:exercise_question => exercise_question.id, :quest_num => exercise_question.question_number) %>', '确定要删除该题目吗?')"><i data-tip-down="删除" class="fa fa-times-circle mr10 color-orange05"></i></a>
<a href="javascript:void(0)" onclick="exQuestionEdit(<%= exercise_question.id%>);"><i data-tip-down="编辑" class="fa fa-pencil color-orange05"></i></a>
</p>
</div>
<p class="break-word pl15 pr15"><%= exercise_question.question_title %></p>
<pre class="exercise_que_title pl15 pr15"><%= exercise_question.question_title %></pre>
<div class="pl15 pr15 mb10">
<% exercise_question.exercise_choices.reorder("choice_position").each_with_index do |exercise_choice,index| %>
<li class="clearfix"><input class="magic-checkbox fl mt5 magic-checkbox_show" name="<%= exercise_question %>" id="dx_<%= index %>" value="<%= exercise_choice.choice_text%>" type="checkbox"><label class="fl color-grey3" for="dx_<%= index %>"><%= convert_to_char((index+1).to_s)%>&nbsp;&nbsp;<%= exercise_choice.choice_text%></label></li>
<li class="clearfix">
<input class="magic-checkbox fl mt5 magic-checkbox_show" id="dx_<%= exercise_choice.id %>" value="<%= exercise_choice.choice_text%>" type="checkbox">
<label class="fl color-grey3" for="dx_<%= exercise_choice.id %>"><%= convert_to_char((index+1).to_s)%>&nbsp;&nbsp;<%= exercise_choice.choice_text%></label>
</li>
<% end %>
</div>
<div class=" pl15 pr15 pt10 pb10 bor-top-greyE">
@ -20,132 +27,20 @@
</div>
</div>
<% if false %>
<div>
<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 none" id="menu_div_<%= exercise_question.id %>">
<% type = exercise_question.question_type %>
<% exercise = exercise_question.exercise %>
<% count = exercise.exercise_questions.where(:question_type => type).count %>
<a class="ur_icon_edit" title="编辑" onclick="pollQuestionEdit(<%= exercise_question.id%>);"></a>
<a href="javascript:void(0)" class="ur_icon_de" title="删除" onclick="delete_confirm_box('<%= delete_exercise_question_exercise_index_path(:exercise_question => exercise_question.id, :quest_num => exercise_question.question_number) %>', '确定要删除该题目吗?')"></a>
<a class='ur_icon_add' title='向下插入' id="add_mcq_<%=exercise_question.id%>" onclick="dismiss('mcq',<%=exercise_question.id%>);insert_MCQ('mcq',<%=exercise_question.question_number%>,<%=exercise_question.id%>);"></a>
<% if exercise_question.question_number < count %>
<%= link_to('', {:controller => 'exercise', :action => 'update_question_num', :id => exercise.id, :ques_id => exercise_question.id, :opr => 'down'},:remote => true, :method => 'post', :class => "poll-down up_and_down", :title => '下移') %>
<% end %>
<% unless exercise_question.question_number == 1 %>
<%= link_to('', {:controller => 'exercise', :action => 'update_question_num', :id => exercise.id, :ques_id => exercise_question.id, :opr => 'up'},:remote => true, :method => 'post', :class => "poll-up up_and_down", :title => '上移') %>
<% end %>
</div>
<div class="cl"></div>
</div>
<p class="formatContainer break_word"><%= exercise_question.question_title %></p>
</div>
<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>
<input class="ur_radio" type="checkbox" name="<%= exercise_question %>" value="<%= exercise_choice.choice_text%>" >
<%= convert_to_char((index+1).to_s)%>&nbsp;&nbsp;<%= exercise_choice.choice_text%>
</label>
</td>
</tr>
<% end %>
</tbody>
</table>
</div>
</div><!--多选题显示 end-->
<% end %>
<!-- 新增问题 -->
<div id="insert_new_poll_question_mcq_<%=exercise_question.id%>">
<div id="insert_new_poll_question_<%=exercise_question.id%>">
</div>
<script type="text/javascript">
function insert_MCQ(quest_type,quest_num,quest_id){
function insert_MCQ(quest_id){
var forms = $("form.new_exercise_question");
if($.trim($("#insert_new_poll_question_"+quest_type+"_"+quest_id).html()) == ""){
if($.trim($("#insert_new_poll_question_"+quest_id).html()) == ""){
if(forms.length > 0){
notice_box("请先保存正在编辑的题目再新建。");
} else {
<% score =exercise_question.question_score %>
$("#insert_new_poll_question_"+quest_type+"_"+quest_id).html(
'<%= form_for(ExerciseQuestion.new,:html=>{:multipart=>true},:url=>create_exercise_question_exercise_path(exercise_question.exercise.id),:remote=>true) do |f|%>'+
'<div class="questionContainer" style="width: 680px;"> '+
'<div class="mb10 ur_item">'+
'<label>分值<span class="ur_index"></span>&nbsp;&nbsp;&nbsp;</label>'+
'<input id="question_score" value="<%=score %>" type="text" name="question_score" style="width:60px; text-align:center; padding-left:0px;">分'+
'<span class="fr c_red" style="width: 60px;" id="question_standard_answer_2">请点击选项</span>'+
'<span class="fr">标准答案:</span>'+
'<div class="cl"></div>'+
'</div>'+
'<div class="ur_editor_title">'+
'<label class="questionLabel mt8">问题:&nbsp;&nbsp;</label>'+
'<input type="hidden" name="quest_id" value="'+quest_id+'"/>'+
'<input type="hidden" name="quest_num" value="'+quest_num+'"/>'+
'<input type="hidden" name="question_type" value="2"/>'+
'<textarea name="question_title" style="width: 625px;" id="poll_questions_title" class="questionTitle" placeholder="请输入多选题的题干" type="text"></textarea>'+
'</div>'+
'<div class="ur_editor_content">'+
'<ul>'+
'<div>'+
'<input style="display: none;" name="exercise_choice" id="exercise_choice_2"/>'+
'<li class="ur_item new_answer">'+
'<a class="question_choice_white fl mr10 choice_btn" title="设为答案" href="javascript:void(0)" onclick="toggle_select($(this), 2, 2);">A</a>'+
'<input maxlength="200" class="w600" type="text" name="question_answer[0]" placeholder="输入选项内容"/>'+
'<a class="icon_remove" title="删除" onclick="remove_single_answer($(this))"></a>'+
'</li>'+
'<div class="cl"></div>'+
'<li class="ur_item new_answer">'+
'<a class="question_choice_white fl mr10 choice_btn" title="设为答案" href="javascript:void(0)" onclick="toggle_select($(this), 2, 2);">B</a>'+
'<input maxlength="200" class="w600" type="text" name="question_answer[1]" placeholder="输入选项内容"/>'+
'<a class="icon_remove" title="删除" onclick="remove_single_answer($(this))"></a>'+
'</li>'+
'<div class="cl"></div>'+
'<li class="ur_item new_answer">'+
'<a class="question_choice_white fl mr10 choice_btn" title="设为答案" href="javascript:void(0)" onclick="toggle_select($(this), 2, 2);">C</a>'+
'<input maxlength="200" class="w600" type="text" name="question_answer[2]" placeholder="输入选项内容"/>'+
'<a class="icon_remove" title="删除" onclick="remove_single_answer($(this))"></a>'+
'</li>'+
'<div class="cl"></div>'+
'<li class="ur_item new_answer">'+
'<a class="question_choice_white fl mr10 choice_btn" title="设为答案" href="javascript:void(0)" onclick="toggle_select($(this), 2, 2);">D</a>'+
'<input maxlength="200" class="w600" type="text" name="question_answer[3]" placeholder="输入选项内容"/>'+
'<a class="icon_remove" title="删除" onclick="remove_single_answer($(this))"></a>'+
'</li>'+
'<div class="cl"></div>'+
'<li class="ur_item">'+
'<a class="question_choice_dash fl mr10 choice_btn">E</a>'+
'<div class="dash-block new-question w600" onclick="add_single_answer($(this), 2);">新建选项</div>'+
'</li>'+
'<div class="cl"></div>'+
'</div> </ul>'+
'</div>'+
'<div class="ur_editor_footer">'+
'<span class="fl c_red mt10">温馨提示:[多选题]属于客观题将由系统自动评分,请设置标准答案</span>'+
'<a class="big_blue_btn borderRadius fr" data-button="ok" id="add_new_question">'+
'保存'+
'</a>'+
'<a class="big_grey_btn borderRadius fr mr10" data-button="cancel" onclick="$(this).parent().parent().parent().remove();">'+
'<%= l(:button_cancel)%>'+
'</a>'+
'</div>'+
'<div class="cl"></div>'+
'</div>'+
'<% end%>'
);
$("#insert_new_poll_question_"+quest_id).html("<%= escape_javascript(render :partial => 'new_MCQ', :locals => {:exercise=>@exercise}) %>");
$("#quest_id").val(quest_id);
$("#poll_questions_title").focus();
$("#add_new_question").one('click', function(){
add_poll_question($(this),2);
});
$(".questionTitle").on("input",function(){
$(this).height(30);
var scrollVal = $(this)[0].scrollHeight;
@ -153,7 +48,7 @@
});
}
}else {
$("#insert_new_poll_question_"+quest_type+"_"+quest_id).html("");
$("#insert_new_poll_question_"+quest_id).html("");
}
}
</script>

View File

@ -4,7 +4,7 @@
</div>
<div class="cl"></div>
<div class="ml15 mr15 mt15">
<pre class="color-grey font-14" style="font-family: '微软雅黑','宋体';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.try(:exercise_description).nil? ? "" : @exercise.try(:exercise_description).html_safe%></pre>
<pre class="color-grey font-14 exercise_que_title"><%= @exercise.try(:exercise_description).nil? ? "" : @exercise.try(:exercise_description).html_safe%></pre>
</div>
<script>

View File

@ -2,102 +2,38 @@
<div class="clearfix pl15 pr15">
<p class="fl font-15">第<%= exercise_question.question_number%>题:<span class="color-orange03 ml10">[简答题]</span><span class="ml10"><%= exercise_question.question_score %></span>分</p>
<p class="fr exam_operator font-18">
<a href="javascript:void(0)" class="down_question"><i class="fa fa-arrow-circle-down mr10 color-orange05"></i></a>
<a href="javascript:void(0)" class="up_question"><i class="fa fa-arrow-circle-up mr10 color-orange05"></i></a>
<a href="javascript:void(0)" class="add_question"><i class="fa fa-plus-circle mr10 color-orange05"></i></a>
<a href="javascript:void(0)"><i class="fa fa-times-circle mr10 color-orange05"></i></a>
<a href="javascript:void(0)"><i class="fa fa-pencil color-orange05"></i></a>
<% if exercise_question.question_number < @exercise.exercise_questions.count %>
<a href="<%= update_question_num_exercise_path(@exercise, :ques_id => exercise_question.id, :opr => 'down') %>" data-remote="true" class="down_question"><i data-tip-down="下移" class="fa fa-arrow-circle-down mr10 color-orange05"></i></a>
<% end %>
<% unless exercise_question.question_number == 1 %>
<a href="<%= update_question_num_exercise_path(@exercise, :ques_id => exercise_question.id, :opr => 'up') %>" data-remote="true" class="up_question"><i data-tip-down="上移" class="fa fa-arrow-circle-up mr10 color-orange05"></i></a>
<% end %>
<a href="javascript:void(0)" class="add_question" onclick="insert_MULTI(<%=exercise_question.id%>);"><i data-tip-down="向下插入简答题" class="fa fa-plus-circle mr10 color-orange05"></i></a>
<a href="javascript:void(0)" onclick="delete_confirm_box('<%= delete_exercise_question_exercise_index_path(:exercise_question => exercise_question.id, :quest_num => exercise_question.question_number) %>', '确定要删除该题目吗?')"><i data-tip-down="删除" class="fa fa-times-circle mr10 color-orange05"></i></a>
<a href="javascript:void(0)" onclick="exQuestionEdit(<%= exercise_question.id%>);"><i data-tip-down="编辑" class="fa fa-pencil color-orange05"></i></a>
</p>
</div>
<p class="break-word pl15 pr15 mb10"><%= exercise_question.question_title %></p>
<pre class="exercise_que_title pl15 mb10 pr15"><%= exercise_question.question_title %></pre>
<div class="clearfix bor-top-greyE padding15 answer_con">
<p>参考答案</p>
<p style="text-align:justify;"><%= exercise_question.exercise_standard_answers.first.answer_text%></p>
<p style="text-align:justify;"><%= exercise_question.exercise_standard_answers.count > 0 ? exercise_question.exercise_standard_answers.first.answer_text : "无"%></p>
</div>
</div>
<% if false %>
<div onmouseover="$('#menu_div_<%= exercise_question.id %>').show();" onmouseout="$('#menu_div_<%= exercise_question.id %>').hide();">
<div class="exercise_title">
<div>
<span class="fl lh27">第<%= exercise_question.question_number%>题.&nbsp;&nbsp;<%= exercise_question.question_score %>分</span>
<div class="fr none" id="menu_div_<%= exercise_question.id %>">
<% type = exercise_question.question_type %>
<% exercise = exercise_question.exercise %>
<% count = exercise.exercise_questions.where(:question_type => type).count %>
<a class="ur_icon_edit" title="编辑" onclick="pollQuestionEdit(<%= exercise_question.id%>);"></a>
<a href="javascript:void(0)" class="ur_icon_de" title="删除" onclick="delete_confirm_box('<%= delete_exercise_question_exercise_index_path(:exercise_question => exercise_question.id, :quest_num => exercise_question.question_number) %>', '确定要删除该题目吗?')"></a>
<a class='ur_icon_add' title='向下插入' id="add_multi_<%=exercise_question.id%>" onclick="dismiss('multi',<%=exercise_question.id%>);insert_MULTI('multi',<%=exercise_question.question_number%>,<%=exercise_question.id%>);"></a>
<% if exercise_question.question_number < count %>
<%= link_to('', {:controller => 'exercise', :action => 'update_question_num', :id => exercise.id, :ques_id => exercise_question.id, :opr => 'down'},:remote => true, :method => 'post', :class => "poll-down up_and_down", :title => '下移') %>
<% end %>
<% unless exercise_question.question_number == 1 %>
<%= link_to('', {:controller => 'exercise', :action => 'update_question_num', :id => exercise.id, :ques_id => exercise_question.id, :opr => 'up'},:remote => true, :method => 'post', :class => "poll-up up_and_down", :title => '上移') %>
<% end %>
</div>
<div class="cl"></div>
</div>
<p class="formatContainer break_word"><%= exercise_question.question_title %></p>
</div>
<% if exercise_question.exercise_standard_answers.count > 0 %>
<div>
参考答案:<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>
<% end %>
<!-- 新增问题 -->
<div id="insert_new_poll_question_multi_<%=exercise_question.id%>">
<div id="insert_new_poll_question_<%=exercise_question.id%>">
</div>
<script type="text/javascript">
function insert_MULTI(quest_type,quest_num,quest_id){
function insert_MULTI(quest_id){
var forms = $("form.new_exercise_question");
if($.trim($("#insert_new_poll_question_"+quest_type+"_"+quest_id).html()) == "") {
if($.trim($("#insert_new_poll_question_"+quest_id).html()) == "") {
if(forms.length > 0){
notice_box("请先保存正在编辑的题目再新建。");
} else {
<% score =exercise_question.question_score %>
$("#insert_new_poll_question_"+quest_type+"_"+quest_id).html(
'<%= form_for(ExerciseQuestion.new,:html=>{:multipart=>true},:url=>create_exercise_question_exercise_path(exercise_question.exercise.id),:remote=>true) do |f|%>'+
'<div class="questionContainer" style="width: 680px;"> '+
'<div class="mb10 ur_item">'+
'<label class="ml25">分值<span class="ur_index"></span>&nbsp;&nbsp;&nbsp;</label>'+
'<input id="question_score" value="<%=score %>" type="text" name="question_score" style="width:60px; text-align:center; padding-left:0px;">分'+
'<div class="cl"></div>'+
'</div>'+
'<div class="ur_editor_title"> '+
'<label class="questionLabel mt8 ml25">问题:&nbsp;&nbsp;&nbsp;</label>'+
'<input type="hidden" name="quest_id" value="'+quest_id+'"/>'+
'<input type="hidden" name="quest_num" value="'+quest_num+'"/>'+
'<input type="hidden" name="question_type" value="4"/>'+
'<textarea maxlength="250" style="width: 600px;" name="question_title" id="poll_questions_title" class="questionTitle" placeholder="请输入问答题的题干" type="text"></textarea>'+
'</div>'+
'<div class="ur_editor_content" id="new_multi">'+
'<div class="multi_input">'+
'<label name="candiate_items">参考答案<span class="ur_index"></span>&nbsp;&nbsp;&nbsp;</label>'+
'<textarea class="candiate_answer" style="width: 600px; height: 90px;" name="exercise_choice" placeholder="如有参考答案,请输入参考答案" type="text"></textarea>'+
'</div>'+
'<div class="cl"></div>'+
'</div>'+
'<div class="ur_editor_footer">'+
'<p class="fl c_red">温馨提示:[问答题]属于主观题需要人工评分,未作答的情况下系统将自动评零分<br><span class="ml60">参考答案作为人工评分时的参考</span></p>'+
'<a class="big_blue_btn borderRadius fr" data-button="ok" id="add_new_question">'+
'保存'+
'</a>'+
'<a class="big_grey_btn borderRadius fr mr10" data-button="cancel" onclick="$(this).parent().parent().parent().remove();">'+
'<%= l(:button_cancel)%>'+
'</a>'+
'</div>'+
'<div class="cl"></div>'+
'</div>'+
'<% end%>'
);
$("#insert_new_poll_question_"+quest_id).html("<%= escape_javascript(render :partial => 'new_multi', :locals => {:exercise=>@exercise}) %>");
$("#quest_id").val(quest_id);
$("#poll_questions_title").focus();
$("#add_new_question").one('click', function(){
add_poll_question($(this),4);
});
$(".questionTitle").on("input",function(){
$(this).height(30);
var scrollVal = $(this)[0].scrollHeight;
@ -105,7 +41,7 @@
});
}
} else {
$("#insert_new_poll_question_"+quest_type+"_"+quest_id).html("");
$("#insert_new_poll_question_"+quest_id).html("");
}
}
</script>

View File

@ -2,124 +2,39 @@
<div class="clearfix pl15 pr15">
<p class="fl font-15">第<%= exercise_question.question_number%>题:<span class="color-orange03 ml10">[填空题]</span><span class="ml10"><%= exercise_question.question_score %></span>分</p>
<p class="fr exam_operator font-18">
<a href="javascript:void(0)" class="down_question"><i class="fa fa-arrow-circle-down mr10 color-orange05"></i></a>
<a href="javascript:void(0)" class="up_question"><i class="fa fa-arrow-circle-up mr10 color-orange05"></i></a>
<a href="javascript:void(0)" class="add_question"><i class="fa fa-plus-circle mr10 color-orange05"></i></a>
<a href="javascript:void(0)"><i class="fa fa-times-circle mr10 color-orange05"></i></a>
<a href="javascript:void(0)"><i class="fa fa-pencil color-orange05"></i></a>
<% if exercise_question.question_number < @exercise.exercise_questions.count %>
<a href="<%= update_question_num_exercise_path(@exercise, :ques_id => exercise_question.id, :opr => 'down') %>" data-remote="true" class="down_question"><i data-tip-down="下移" class="fa fa-arrow-circle-down mr10 color-orange05"></i></a>
<% end %>
<% unless exercise_question.question_number == 1 %>
<a href="<%= update_question_num_exercise_path(@exercise, :ques_id => exercise_question.id, :opr => 'up') %>" data-remote="true" class="up_question"><i data-tip-down="上移" class="fa fa-arrow-circle-up mr10 color-orange05"></i></a>
<% end %>
<a href="javascript:void(0)" class="add_question" onclick="insert_SINGLE(<%=exercise_question.id%>);"><i data-tip-down="向下插入填空题" class="fa fa-plus-circle mr10 color-orange05"></i></a>
<a href="javascript:void(0)" onclick="delete_confirm_box('<%= delete_exercise_question_exercise_index_path(:exercise_question => exercise_question.id, :quest_num => exercise_question.question_number) %>', '确定要删除该题目吗?')"><i data-tip-down="删除" class="fa fa-times-circle mr10 color-orange05"></i></a>
<a href="javascript:void(0)" onclick="exQuestionEdit(<%= exercise_question.id%>);"><i data-tip-down="编辑" class="fa fa-pencil color-orange05"></i></a>
</p>
</div>
<p class="break-word pl15 pr15"><%= exercise_question.question_title %></p>
<pre class="exercise_que_title pl15 pr15"><%= exercise_question.question_title %></pre>
<div class="pl15 pr15 pt10 pb10 bor-top-greyE">
<% exercise_question.exercise_standard_answers.reorder("created_at").each_with_index do |exercise_choice,index| %>
<p>候选答案<%= convert_to_chi_num(index+1) %><%= exercise_choice.answer_text%></p>
<% end %>
</div>
</div>
<% if false %>
<div onmouseover="$('#menu_div_<%= exercise_question.id %>').show();" onmouseout="$('#menu_div_<%= exercise_question.id %>').hide();">
<div class="exercise_title">
<div>
<span class="fl lh27">第<%= exercise_question.question_number%>题.&nbsp;&nbsp;<%= exercise_question.question_score %>分</span>
<div class="fr none" id="menu_div_<%= exercise_question.id %>">
<% type = exercise_question.question_type %>
<% exercise = exercise_question.exercise %>
<% count = exercise.exercise_questions.where(:question_type => type).count %>
<a class="ur_icon_edit" title="编辑" onclick="pollQuestionEdit(<%= exercise_question.id%>);"></a>
<a href="javascript:void(0)" class="ur_icon_de" title="删除" onclick="delete_confirm_box('<%= delete_exercise_question_exercise_index_path(:exercise_question => exercise_question.id, :quest_num => exercise_question.question_number) %>', '确定要删除该题目吗?')"></a>
<a class='ur_icon_add' title='向下插入' id="add_single_<%=exercise_question.id%>" onclick="dismiss('single',<%=exercise_question.id%>);insert_SINGLE('single',<%=exercise_question.question_number%>,<%=exercise_question.id%>);"></a>
<% if exercise_question.question_number < count %>
<%= link_to('', {:controller => 'exercise', :action => 'update_question_num', :id => exercise.id, :ques_id => exercise_question.id, :opr => 'down'},:remote => true, :method => 'post', :class => "poll-down up_and_down", :title => '下移') %>
<% end %>
<% unless exercise_question.question_number == 1 %>
<%= link_to('', {:controller => 'exercise', :action => 'update_question_num', :id => exercise.id, :ques_id => exercise_question.id, :opr => 'up'},:remote => true, :method => 'post', :class => "poll-up up_and_down", :title => '上移') %>
<% end %>
</div>
<div class="cl"></div>
</div>
<p class="formatContainer break_word"><%= exercise_question.question_title %></p>
</div>
<div>
<% exercise_question.exercise_standard_answers.reorder("created_at").each_with_index do |exercise_choice,index| %>
参考答案<%= convert_to_chi_num(index+1) %><%= exercise_choice.answer_text%><br />
<% end %>
</div>
</div>
<% end %>
<!-- 新增问题 -->
<div id="insert_new_poll_question_single_<%=exercise_question.id%>">
<div id="insert_new_poll_question_<%=exercise_question.id%>">
</div>
<script type="text/javascript">
function insert_SINGLE(quest_type,quest_num,quest_id){
function insert_SINGLE(quest_id){
var forms = $("form.new_exercise_question");
if($.trim($("#insert_new_poll_question_"+quest_type+"_"+quest_id).html()) == "") {
if($.trim($("#insert_new_poll_question_"+quest_id).html()) == "") {
if(forms.length > 0){
notice_box("请先保存正在编辑的题目再新建。");
} else {
<% score =exercise_question.question_score %>
$("#insert_new_poll_question_"+quest_type+"_"+quest_id).html(
'<%= form_for(ExerciseQuestion.new,:html=>{:multipart=>true},:url=>create_exercise_question_exercise_path(exercise_question.exercise.id),:remote=>true) do |f|%>'+
'<div class="questionContainer" style="width: 680px;"> '+
'<div class="mb10 ur_item">'+
'<label class="ml36">分值<span class="ur_index"></span>&nbsp;&nbsp;&nbsp;</label>'+
'<input id="question_score" value="<%=score %>" type="text" name="question_score" style="width:60px; text-align:center; padding-left:0px;">分'+
'<div class="cl"></div>'+
'</div>'+
'<div class="ur_editor_title"> '+
'<label class="questionLabel mt8 ml36">问题:&nbsp;&nbsp;&nbsp;</label>'+
'<input type="hidden" name="quest_id" value="'+quest_id+'"/>'+
'<input type="hidden" name="quest_num" value="'+quest_num+'"/>'+
'<input type="hidden" name="question_type" value="3"/>'+
'<textarea maxlength="250" style="width: 590px;" name="question_title" id="poll_questions_title" class="questionTitle" placeholder="请输入填空题的题干(注意:目前仅支持一个空)" type="text"></textarea>'+
'</div>'+
'<div class="ur_editor_content" id="new_single">'+
'<ul>'+
'<div>'+
'<li class="ur_item new_answer">'+
'<label name="candiate_items">参考答案一<span class="ur_index"></span>&nbsp;&nbsp;&nbsp;</label>'+
'<input class="candiate_answer w560" type="text" name="exercise_choice[0]" placeholder="请输入参考答案"/>'+
'<a class="icon_remove" title="删除" onclick="remove_single_answer($(this))"></a>'+
'</li>'+
'<div class="cl"></div>'+
'<li class="ur_item new_answer">'+
'<label name="candiate_items">参考答案二<span class="ur_index"></span>&nbsp;&nbsp;&nbsp;</label>'+
'<input class="candiate_answer w560" type="text" name="exercise_choice[1]" placeholder="请输入参考答案(选填)"/>'+
'<a class="icon_remove" title="删除" onclick="remove_single_answer($(this))"></a>'+
'</li>'+
'<div class="cl"></div>'+
'<li class="ur_item new_answer">'+
'<label name="candiate_items">参考答案三<span class="ur_index"></span>&nbsp;&nbsp;&nbsp;</label>'+
'<input class="candiate_answer w560" type="text" name="exercise_choice[2]" placeholder="请输入参考答案(选填)"/>'+
'<a class="icon_remove" title="删除" onclick="remove_single_answer($(this))"></a>'+
'</li>'+
'<div class="cl"></div>'+
'<li class="ur_item">'+
'<div class="dash-block new-question w560" style="margin-left: 82px;" onclick="add_candidate_answer($(this));">新建参考答案</div>'+
'</li>'+
'<div class="cl"></div>'+
'</div>'+
'<div class="cl"></div>'+
'</ul>'+
'</div>'+
'<div class="ur_editor_footer">'+
'<span class="fl c_red mt10">温馨提示:[填空题]属于客观题将由系统自动评分,请输入参考答案</span>'+
'<a class="big_blue_btn borderRadius fr" data-button="ok" id="add_new_question">'+
'保存'+
'</a>'+
'<a class="big_grey_btn borderRadius fr mr10" data-button="cancel" onclick="$(this).parent().parent().parent().remove();">'+
'<%= l(:button_cancel)%>'+
'</a>'+
'</div>'+
'<div class="cl"></div>'+
'</div>'+
'<% end%>'
);
$("#insert_new_poll_question_"+quest_id).html("<%= escape_javascript(render :partial => 'new_single', :locals => {:exercise=>@exercise}) %>");
$("#quest_id").val(quest_id);
$("#poll_questions_title").focus();
$("#add_new_question").one('click', function(){
add_poll_question($(this),3);
});
$(".questionTitle").on("input",function(){
$(this).height(30);
var scrollVal = $(this)[0].scrollHeight;
@ -127,7 +42,7 @@
});
}
} else {
$("#insert_new_poll_question_"+quest_type+"_"+quest_id).html("");
$("#insert_new_poll_question_"+quest_id).html("");
}
}
</script>

View File

@ -1,8 +1,12 @@
<div class="" style="display: <%= current_score[0] == 0 ? "none" : "" %>" id="current_score_div">
<span class="mr20">单选题&nbsp;<%= exercise.exercise_questions.where("question_type=1").count %>&nbsp;题,共<%= current_score[1] %>分</span>
<span class="mr20">多选题&nbsp;<%= exercise.exercise_questions.where("question_type=2").count %>&nbsp;题,共<%= current_score[2] %>分</span>
<span class="mr20">填空题&nbsp;<%= exercise.exercise_questions.where("question_type=3").count %>&nbsp;题,共<%= current_score[3] %>分</span>
<span class="mr20">问答题&nbsp;<%= exercise.exercise_questions.where("question_type=4").count %>&nbsp;题,共<%= current_score[4] %>分</span>
<span class="fr">合计&nbsp;<font class="c_red"><%= exercise.exercise_questions.count %></font>&nbsp;题,共<font class="c_red"><%= current_score[0] %></font>分</span>
<div class="cl"></div>
<% current_score = get_current_score @exercise %>
<div class="edu-con-top user_bg_shadow bor-grey-e color-grey clearfix mb20 font-12" style="display: <%= current_score[0] == 0 ? "none" : "" %>">
<p class="ml15 fl">
<span class="mr20">单选题<span>&nbsp;<%= @exercise.exercise_questions.where("question_type=1").count %>&nbsp;</span>题,共<span>&nbsp;<%= current_score[1] %>&nbsp;</span>分</span>
<span class="mr20">多选题<span>&nbsp;<%= @exercise.exercise_questions.where("question_type=2").count %>&nbsp;</span>题,共<span>&nbsp;<%= current_score[2] %>&nbsp;</span>分</span>
<span class="mr20">填空题<span>&nbsp;<%= @exercise.exercise_questions.where("question_type=3").count %>&nbsp;</span>题,共<span>&nbsp;<%= current_score[3] %>&nbsp;</span>分</span>
<span>简答题<span>&nbsp;<%= @exercise.exercise_questions.where("question_type=4").count %>&nbsp;</span>题,共<span>&nbsp;<%= current_score[4] %>&nbsp;</span>分</span>
</p>
<a class="fr mr15">
<span>合计<span class="color-orange03">&nbsp;<%= @exercise.exercise_questions.count %>&nbsp;</span>题,共<span class="color-orange03">&nbsp;<%= current_score[0] %>&nbsp;</span>分</span>
</a>
</div>

View File

@ -1,8 +1,6 @@
<% if @is_insert %>
$("#poll_content").html('<%= escape_javascript(render :partial => 'exercise_content', :locals => {:exercise => @exercise})%>');
$("#exercise_submit").html("<%= escape_javascript(render :partial => 'exercise_submit', :locals => {:exercise => @exercise}) %>");
<% current_score = get_current_score @exercise %>
$("#total_questions_score").html("<%= escape_javascript(render :partial => 'exercise/total_questions_score', :locals => {:exercise => @exercise, :current_score => current_score}) %>");
$("#exercise_question_list").html("<%= escape_javascript(render :partial => 'exercise/exercise_content') %>");
$("#total_questions_score").html("<%= escape_javascript(render :partial => 'exercise/total_questions_score') %>");
<% else %>
$("#new_exercise_question").html('<%= escape_javascript(render :partial => 'new_question', :locals => {:exercise => @exercise}) %>');
$("#new_poll_question").html("");
@ -48,7 +46,5 @@
"</div>" +
"</div>");
<% end %>
$("#total_questions_score").show();
<% current_score = get_current_score @exercise %>
$("#total_questions_score").html("<%= escape_javascript(render :partial => 'exercise/total_questions_score', :locals => {:exercise => @exercise, :current_score => current_score}) %>");
$("#total_questions_score").html("<%= escape_javascript(render :partial => 'exercise/total_questions_score') %>");
<% end %>

View File

@ -1,5 +1,3 @@
hideModal();
$("#poll_content").html("<%= escape_javascript(render :partial => 'exercise_content', :locals => {:exercise => @exercise}) %>");
<% current_score = get_current_score @exercise %>
$("#total_questions_score").html("<%= escape_javascript(render :partial => 'exercise/total_questions_score', :locals => {:exercise => @exercise, :current_score => current_score}) %>");
$("#exercise_submit").html("<%= escape_javascript(render :partial => 'exercise_submit', :locals => {:exercise => @exercise}) %>");
$("#exercise_question_list").html("<%= escape_javascript(render :partial => 'exercise/exercise_content') %>");
$("#total_questions_score").html("<%= escape_javascript(render :partial => 'exercise/total_questions_score') %>");

View File

@ -7,6 +7,7 @@
<div class="edu-con-top user_bg_shadow bor-grey-e clearfix mb20">
<p class="ml15 color-grey3 fl">编辑试卷</p>
<%= link_to "返回", student_exercise_list_exercise_path(@exercise), :class => "fr font-12 color-grey mr15 mt5" %>
<%= link_to "设置", setting_exercise_path(@exercise), :class => "fr font-12 mr15 mt5 color-grey" %>
</div>
<%= render :partial => "exercise/edu_edit_form", :locals => {:is_edit => true} %>

View File

@ -7,7 +7,7 @@
<% elsif @before_que.question_type == 3%>
$("#show_poll_questions_<%= @before_que.id %>").html("<%= escape_javascript(render :partial => 'show_single', :locals => {:exercise_question => @before_que}) %>");
<% elsif @before_que.question_type == 4%>
$("#show_poll_questions_<%= @before_que.id %>").html("<%= escape_javascript(render :partial => 'show_mulit', :locals => {:exercise_question => @before_que}) %>");
$("#show_poll_questions_<%= @before_que.id %>").html("<%= escape_javascript(render :partial => 'show_multi', :locals => {:exercise_question => @before_que}) %>");
<% end%>
<% elsif @after_que %>
$("#poll_questions_<%= @exercise_question.id%>").insertAfter($("#poll_questions_<%= @after_que.id%>"));
@ -18,7 +18,7 @@
<% elsif @after_que.question_type == 3%>
$("#show_poll_questions_<%= @after_que.id %>").html("<%= escape_javascript(render :partial => 'show_single', :locals => {:exercise_question => @after_que}) %>");
<% elsif @after_que.question_type == 4%>
$("#show_poll_questions_<%= @after_que.id %>").html("<%= escape_javascript(render :partial => 'show_mulit', :locals => {:exercise_question => @after_que}) %>");
$("#show_poll_questions_<%= @after_que.id %>").html("<%= escape_javascript(render :partial => 'show_multi', :locals => {:exercise_question => @after_que}) %>");
<% end%>
<% end %>
<% if @exercise_question.question_type == 1%>
@ -28,5 +28,5 @@
<% elsif @exercise_question.question_type == 3%>
$("#show_poll_questions_<%= @exercise_question.id %>").html("<%= escape_javascript(render :partial => 'show_single', :locals => {:exercise_question => @exercise_question}) %>");
<% elsif @exercise_question.question_type == 4%>
$("#show_poll_questions_<%= @exercise_question.id %>").html("<%= escape_javascript(render :partial => 'show_mulit', :locals => {:exercise_question => @exercise_question}) %>");
$("#show_poll_questions_<%= @exercise_question.id %>").html("<%= escape_javascript(render :partial => 'show_multi', :locals => {:exercise_question => @exercise_question}) %>");
<% end%>

View File

@ -527,7 +527,7 @@ RedmineApp::Application.routes.draw do
post 'create_exercise_question'
post 'commit_answer'
get 'commit_exercise'
post 'update_question_num'
get 'update_question_num'
post 'send_to_course'
get 'get_student_uncomplete_question'
post 'edit_question_score'

View File

@ -652,7 +652,7 @@ function ex_setting_form_submit(){
}
//添加标题时确定按钮
function add_poll_question(doc,quest_type)
function add_ex_question(doc,quest_type)
{
var title = $.trim($("#poll_questions_title").val());
var score = $.trim($("#question_score").val());
@ -660,24 +660,24 @@ function add_poll_question(doc,quest_type)
if(title.length == 0 || score.length == 0){
notice_box("题目标题/分数不能为空");
doc.one('click', function(){
add_poll_question($(this),quest_type);
add_ex_question($(this),quest_type);
});
}else if(!/^[1-9][0-9]*$/.test(score)) {
notice_box("分数必须是非零开头的数字");
doc.one('click', function(){
add_poll_question($(this),quest_type);
add_ex_question($(this),quest_type);
});
}else if(quest_type !=3 && quest_type !=4 && standard_ans.length == 0) {
notice_box("标准答案不能为空");
doc.one('click', function(){
add_poll_question($(this),quest_type);
add_ex_question($(this),quest_type);
});
}else{
doc.parent().parent().parent().parent().submit();
}
}
function pollsSubmit(doc){
function ex_head_submit(doc){
var title = $.trim($("#exercise_name").val());
if(title.length == 0){
notice_box("试卷标题不能为空");
@ -686,7 +686,20 @@ function pollsSubmit(doc){
}
}
function pollsCancel(){
function ex_head_cancel(){
$("#exercise_head_edit").hide();
$("#exercise_head_show").show();
}
function exQuestionEdit(question_id){
var forms = $("form.new_exercise_question");
if($.trim($("#insert_new_poll_question_"+question_id).html()) == "") {
if(forms.length > 0){
notice_box("请先保存正在编辑的题目再新建。");
} else{
$("#show_poll_questions_"+question_id).hide();
$("#edit_poll_questions_"+question_id).show();
$("#poll_questions_title_"+question_id).focus();
}
}
}

View File

@ -404,3 +404,5 @@ a.uploadIcon {width:100px; height:33px;color:#ffffff;}
/*课堂改版*/
.sy_member_div:hover{background:#EFF2F7;}
.real-name:hover,.operation:hover{color: #FF9e6a!important;}
/*试卷*/
pre.exercise_que_title{font-family: '微软雅黑','宋体';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;}