在线测验的新建、编辑改版
This commit is contained in:
parent
c16f63a8b4
commit
aefd4973c2
|
@ -179,7 +179,8 @@ class ExerciseController < ApplicationController
|
|||
: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) :
|
||||
@exercise.exercise_questions.where("question_type = 3").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_score => params[:question_score]
|
||||
}
|
||||
@exercise_questions = @exercise.exercise_questions.new option
|
||||
|
@ -202,8 +203,10 @@ class ExerciseController < ApplicationController
|
|||
#@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")
|
||||
else
|
||||
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 = params[:quest_num].to_i + 1
|
||||
|
@ -218,12 +221,19 @@ class ExerciseController < ApplicationController
|
|||
standart_answer.answer_text = params[:exercise_choice].values[i-1]
|
||||
standart_answer.save
|
||||
end
|
||||
elsif @exercise_questions.question_type == 4
|
||||
unless params[:exercise_choice] == ""
|
||||
standart_answer = ExerciseStandardAnswer.new
|
||||
standart_answer.exercise_question_id = @exercise_questions.id
|
||||
standart_answer.answer_text = params[:exercise_choice]
|
||||
standart_answer.save
|
||||
end
|
||||
else
|
||||
standart_answer = ExerciseStandardAnswer.new
|
||||
standart_answer.exercise_question_id = @exercise_questions.id
|
||||
if @exercise_questions.question_type == 1
|
||||
standart_answer.exercise_choice_id = sigle_selection_standard_answer(params[:exercise_choice])
|
||||
else
|
||||
elsif @exercise_questions.question_type == 2
|
||||
standart_answer.exercise_choice_id = multiselect_standard_answer(params[:exercise_choice])
|
||||
end
|
||||
standart_answer.save
|
||||
|
@ -285,6 +295,19 @@ class ExerciseController < ApplicationController
|
|||
@exercise_question.exercise_standard_answers.new standart_answer_option
|
||||
end
|
||||
end
|
||||
elsif @exercise_question.question_type == 4
|
||||
answer_standart = @exercise_question.exercise_standard_answers.empty? ? nil : @exercise_question.exercise_standard_answers.first
|
||||
if params[:exercise_choice] == "" && !answer_standart.nil?
|
||||
answer_standart.destroy
|
||||
elsif params[:exercise_choice] != "" && !answer_standart.nil?
|
||||
answer_standart.answer_text = params[:exercise_choice]
|
||||
answer_standart.save
|
||||
elsif params[:exercise_choice] != "" && answer_standart.nil?
|
||||
standart_answer_option = {
|
||||
:answer_text => params[:exercise_choice]
|
||||
}
|
||||
@exercise_question.exercise_standard_answers.new standart_answer_option
|
||||
end
|
||||
else
|
||||
answer_standart = @exercise_question.exercise_standard_answers.first
|
||||
answer_standart.exercise_choice_id = @exercise_question.question_type == 1 ? sigle_selection_standard_answer(params[:exercise_choice]) : multiselect_standard_answer(params[:exercise_choice])
|
||||
|
|
|
@ -112,16 +112,30 @@ module ExerciseHelper
|
|||
end
|
||||
|
||||
def get_current_score exercise
|
||||
score = 0
|
||||
total_score = 0
|
||||
mc_score = 0
|
||||
mcq_score = 0
|
||||
single_score = 0
|
||||
multi_score = 0
|
||||
unless exercise.nil?
|
||||
exercise.exercise_questions.each do |exercise_question|
|
||||
unless exercise_question.question_score.nil?
|
||||
score += exercise_question.question_score
|
||||
total_score += exercise_question.question_score
|
||||
case exercise_question.question_type
|
||||
when 1
|
||||
mc_score += exercise_question.question_score
|
||||
when 2
|
||||
mcq_score += exercise_question.question_score
|
||||
when 3
|
||||
single_score += exercise_question.question_score
|
||||
when 4
|
||||
multi_score += exercise_question.question_score
|
||||
end
|
||||
end
|
||||
end
|
||||
return score
|
||||
return total_score, mc_score, mcq_score, single_score, multi_score
|
||||
end
|
||||
return score
|
||||
return total_score, mc_score, mcq_score, single_score, multi_score
|
||||
end
|
||||
|
||||
def answer_be_selected?(answer,user)
|
||||
|
|
|
@ -3,58 +3,64 @@
|
|||
<script type="text/javascript">
|
||||
function resetQuestion<%=exercise_question.id%>()
|
||||
{
|
||||
$("#poll_question_score_<%=exercise_question.id %>").val("<%= exercise_question.question_score%>")
|
||||
$("#poll_question_standard_answer_<%=exercise_question.id %>").val("<%= convert_to_char(exercise_question.exercise_standard_answers.first.exercise_choice_id.to_s)%>")
|
||||
$("#poll_answers_<%=exercise_question.id%>").html("<% exercise_question.exercise_choices.reorder("choice_position").each_with_index do |exercise_choice,index| %>" +
|
||||
"<li class='ur_item'>" +
|
||||
"<label name='select_items' class='w60'>选项<%=convert_to_char (index+1).to_s %><span class='ur_index'></span>: </label>" +
|
||||
"<input maxlength='200' type='text' name='question_answer[<%=exercise_choice.id %>]' placeholder='输入选项内容' value='<%=exercise_choice.choice_text %>'/>" +
|
||||
"<a class='icon_add' title='向下插入选项' onclick='add_single_answer($(this));'></a>" +
|
||||
$("#poll_question_score_<%=exercise_question.id %>").val("<%= exercise_question.question_score%>");
|
||||
$("#question_standard_answer_<%=exercise_question.id %>").html("<%= convert_to_char(exercise_question.exercise_standard_answers.first.exercise_choice_id.to_s)%>");
|
||||
$("#poll_answers_<%=exercise_question.id%>").html("<input style='display: none;' name='exercise_choice' id='exercise_choice_<%=exercise_question.id%>' value='<%= convert_to_char(exercise_question.exercise_standard_answers.first.exercise_choice_id.to_s) %>'/>" +
|
||||
"<% exercise_question.exercise_choices.reorder("choice_position").each_with_index do |exercise_choice,index| %>" +
|
||||
"<li class='ur_item new_answer'>" +
|
||||
"<a class='<%= (index + 1) == exercise_question.exercise_standard_answers.first.exercise_choice_id ? 'question_choice_blue' : 'question_choice_white' %> fl mr10 choice_btn' title='设为答案' href='javascript:void(0)' onclick='toggle_select($(this), 1, <%= exercise_question.id %>);'><%=convert_to_char (index+1).to_s %></a>" +
|
||||
"<input maxlength='200' class='w600' type='text' name='question_answer[<%=exercise_choice.id %>]' placeholder='输入选项内容' value='<%=exercise_choice.choice_text %>'/>" +
|
||||
"<a class='icon_remove' title='删除' onclick='remove_single_answer($(this))'></a>" +
|
||||
"</li>" +
|
||||
"<div class='cl'></div>" +
|
||||
"<% end%>");
|
||||
"<% end%>" +
|
||||
"<li class='ur_item'>" +
|
||||
"<a class='question_choice_dash fl mr10 choice_btn'><%=convert_to_char (exercise_question.exercise_choices.count+1).to_s %></a>" +
|
||||
"<div class='dash-block new-question w600' onclick='add_single_answer($(this), 1);'>新建选项</div>" +
|
||||
"</li> <div class='cl'></div>");
|
||||
}
|
||||
</script>
|
||||
|
||||
<div class="questionContainer" style="width: 680px;">
|
||||
<div class="mb10 ur_item">
|
||||
<label>分值<span class="ur_index"></span>: </label>
|
||||
<input id="poll_question_score_<%=exercise_question.id %>" value="<%=exercise_question.question_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_<%=exercise_question.id %>"><%=convert_to_char(exercise_question.exercise_standard_answers.first.exercise_choice_id.to_s) %></span>
|
||||
<span class="fr">标准答案:</span>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<div class="ur_editor_title">
|
||||
<label class="questionLabel mt8">问题: </label>
|
||||
<input name="question_type" value="<%=exercise_question.question_type %>" type="hidden">
|
||||
<textarea name="question_title" id="poll_questions_title_<%=exercise_question.id %>" class="questionTitle" placeholder="请输入单选题题目" type="text" onfocus="autoHeight('#poll_questions_title_<%=exercise_question.id %>',30)"><%=exercise_question.question_title %></textarea>
|
||||
<textarea name="question_title" style="width: 625px;" id="poll_questions_title_<%=exercise_question.id %>" class="questionTitle" placeholder="请输入单选题的题干" type="text" onfocus="autoHeight('#poll_questions_title_<%=exercise_question.id %>',30)"><%=exercise_question.question_title %></textarea>
|
||||
</div>
|
||||
|
||||
<div class="ur_editor_content">
|
||||
<ul>
|
||||
<li class="ur_item">
|
||||
<label>分数<span class="ur_index"></span>: </label>
|
||||
<input type="text" id="poll_question_score_<%=exercise_question.id %>" name="question_score" style="width:40px; text-align:center; padding-left:0px;" value="<%= exercise_question.question_score %>">分
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
<div id="poll_answers_<%=exercise_question.id%>">
|
||||
<% exercise_question.exercise_choices.reorder("choice_position").each_with_index do |exercise_choice,index| %>
|
||||
<li class="ur_item">
|
||||
<label name='select_items' class='w60'>选项<%=convert_to_char (index+1).to_s %><span class="ur_index"></span>: </label>
|
||||
<input maxlength="200" type='text' name='question_answer[<%=exercise_choice.id %>]' placeholder='输入选项内容' value="<%=exercise_choice.choice_text %>">
|
||||
<a class="icon_add" title="向下插入选项" onclick="add_single_answer($(this));"></a>
|
||||
<a class="icon_remove" title="删除" onclick="remove_single_answer($(this))"></a>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
<% end %>
|
||||
<input style="display: none;" name="exercise_choice" id="exercise_choice_<%=exercise_question.id%>" value="<%= convert_to_char(exercise_question.exercise_standard_answers.first.exercise_choice_id.to_s) %>"/>
|
||||
<% exercise_question.exercise_choices.reorder("choice_position").each_with_index do |exercise_choice,index| %>
|
||||
<li class="ur_item new_answer">
|
||||
<a class="<%= (index + 1) == exercise_question.exercise_standard_answers.first.exercise_choice_id ? 'question_choice_blue' : 'question_choice_white' %> fl mr10 choice_btn" title="设为答案" href="javascript:void(0)" onclick="toggle_select($(this), 1, <%= exercise_question.id %>);"><%=convert_to_char (index+1).to_s %></a>
|
||||
<input maxlength="200" class="w600" type='text' name='question_answer[<%=exercise_choice.id %>]' placeholder='输入选项内容' value="<%=exercise_choice.choice_text %>">
|
||||
<a class="icon_remove" title="删除" onclick="remove_single_answer($(this))"></a>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
<% end %>
|
||||
<li class="ur_item">
|
||||
<a class="question_choice_dash fl mr10 choice_btn"><%=convert_to_char (exercise_question.exercise_choices.count+1).to_s %></a>
|
||||
<div class="dash-block new-question w600" onclick='add_single_answer($(this), 1);'>新建选项</div>
|
||||
</li>
|
||||
<div class='cl'></div>
|
||||
</div>
|
||||
<li class="ur_item">
|
||||
<label>标准答案<span class="ur_index"></span>: </label>
|
||||
<input id="poll_question_standard_answer_<%=exercise_question.id %>" name="exercise_choice" placeholder="若标准答案为A,在此输入A即可" type="text" value="<%=convert_to_char(exercise_question.exercise_standard_answers.first.exercise_choice_id.to_s) %>">
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="ur_editor_footer">
|
||||
<a class="btn btn_dark btn_submit c_white" data-button="ok" onclick="edit_poll_question($(this),<%= exercise_question.id %>,1);">
|
||||
保存
|
||||
</a>
|
||||
<a class="btn btn_light btn_cancel" data-button="cancel" onclick="resetQuestion<%=exercise_question.id%>();pollQuestionCancel(<%= exercise_question.id%>);">
|
||||
<%= l(:button_cancel)%>
|
||||
</a>
|
||||
<span class="fl c_red mt10">温馨提示:[单选题]属于客观题将由系统自动评分,请设置标准答案</span>
|
||||
<a class="big_blue_btn borderRadius fr" data-button="ok" onclick="edit_poll_question($(this),<%= exercise_question.id %>,1);">保存</a>
|
||||
<a class="big_grey_btn borderRadius fr mr10" data-button="cancel" onclick="resetQuestion<%=exercise_question.id%>();pollQuestionCancel(<%= exercise_question.id%>);">取消</a>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
|
|
|
@ -3,56 +3,64 @@
|
|||
<script type="text/javascript">
|
||||
function resetQuestion<%=exercise_question.id%>()
|
||||
{
|
||||
$("#poll_question_score_<%=exercise_question.id %>").val("<%= exercise_question.question_score%>")
|
||||
$("#poll_question_standard_answer_<%=exercise_question.id %>").val("<%= convert_to_char(exercise_question.exercise_standard_answers.first.exercise_choice_id.to_s)%>")
|
||||
$("#poll_answers_<%=exercise_question.id%>").html("<% exercise_question.exercise_choices.reorder("choice_position").each_with_index do |exercise_choice,index| %>" +
|
||||
"<li class='ur_item'>" +
|
||||
"<label name='select_items' class='w60'>选项<%=convert_to_char (index+1).to_s %><span class='ur_index'></span>: </label>" +
|
||||
"<input maxlength='200' type='text' name='question_answer[<%= exercise_choice.id %>]' placeholder='输入选项内容' value='<%=exercise_choice.choice_text %>'/>" +
|
||||
"<a class='icon_add' title='向下插入选项' onclick='add_single_answer($(this));'></a>" +
|
||||
$("#poll_question_score_<%=exercise_question.id %>").val("<%= exercise_question.question_score%>");
|
||||
$("#question_standard_answer_<%=exercise_question.id %>").val("<%= convert_to_char(exercise_question.exercise_standard_answers.first.exercise_choice_id.to_s)%>");
|
||||
$("#poll_answers_<%=exercise_question.id%>").html("<input style='display: none;' name='exercise_choice' id='exercise_choice_<%=exercise_question.id%>' value='<%= convert_to_char(exercise_question.exercise_standard_answers.first.exercise_choice_id.to_s) %>'/>" +
|
||||
"<% exercise_question.exercise_choices.reorder("choice_position").each_with_index do |exercise_choice,index| %>" +
|
||||
"<li class='ur_item new_answer'>" +
|
||||
"<a class='<%= exercise_question.exercise_standard_answers.first.exercise_choice_id.to_s.include?((index+1).to_s) ? 'question_choice_blue' : 'question_choice_white' %> fl mr10 choice_btn' title='设为答案' href='javascript:void(0)' onclick='toggle_select($(this), 2, <%= exercise_question.id %>);'><%=convert_to_char (index+1).to_s %></a>" +
|
||||
"<input maxlength='200' class='w600' type='text' name='question_answer[<%= exercise_choice.id %>]' placeholder='输入选项内容' value='<%=exercise_choice.choice_text %>'/>" +
|
||||
"<a class='icon_remove' title='删除' onclick='remove_single_answer($(this))'></a>" +
|
||||
"</li>" +
|
||||
"<div class='cl'></div>" +
|
||||
"<% end%>");
|
||||
"<% end%>" +
|
||||
"<li class='ur_item'>" +
|
||||
"<a class='question_choice_dash fl mr10 choice_btn'><%=convert_to_char (exercise_question.exercise_choices.count+1).to_s %></a>" +
|
||||
"<div class='dash-block new-question w600' onclick='add_single_answer($(this), 2);'>新建选项</div>" +
|
||||
"</li> <div class='cl'></div>");
|
||||
}
|
||||
</script>
|
||||
|
||||
<div class="questionContainer" style="width: 680px;">
|
||||
<div class="mb10 ur_item">
|
||||
<label>分值<span class="ur_index"></span>: </label>
|
||||
<input id="poll_question_score_<%=exercise_question.id %>" value="<%=exercise_question.question_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_<%=exercise_question.id %>"><%=convert_to_char(exercise_question.exercise_standard_answers.first.exercise_choice_id.to_s) %></span>
|
||||
<span class="fr">标准答案:</span>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<div class="ur_editor_title">
|
||||
<label class="questionLabel mt8">问题: </label>
|
||||
<input name="question_type" value="<%=exercise_question.question_type %>" type="hidden">
|
||||
<textarea name="question_title" id="poll_questions_title_<%=exercise_question.id %>" class="questionTitle" placeholder="请输入多选题题目" type="text" onfocus="autoHeight('#poll_questions_title_<%=exercise_question.id %>',30)"><%=exercise_question.question_title %></textarea>
|
||||
<textarea name="question_title" style="width: 625px;" id="poll_questions_title_<%=exercise_question.id %>" class="questionTitle" placeholder="请输入多选题的题干" type="text" onfocus="autoHeight('#poll_questions_title_<%=exercise_question.id %>',30)"><%=exercise_question.question_title %></textarea>
|
||||
</div>
|
||||
|
||||
<div class="ur_editor_content">
|
||||
<ul>
|
||||
<li class="ur_item">
|
||||
<label>分数<span class="ur_index"></span>: </label>
|
||||
<input type="text" id="poll_question_score_<%=exercise_question.id %>" name="question_score" style="width:40px; text-align:center; padding-left:0px;" value="<%= exercise_question.question_score %>">分
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
<div id="poll_answers_<%=exercise_question.id%>">
|
||||
<input style="display: none;" name="exercise_choice" id="exercise_choice_<%=exercise_question.id%>" value="<%= convert_to_char(exercise_question.exercise_standard_answers.first.exercise_choice_id.to_s) %>"/>
|
||||
<% exercise_question.exercise_choices.reorder("choice_position").each_with_index do |exercise_choice,index| %>
|
||||
<li class="ur_item">
|
||||
<label name='select_items' class='w60'>选项<%=convert_to_char (index+1).to_s %><span class="ur_index"></span>: </label>
|
||||
<input maxlength="200" type='text' name='question_answer[<%= exercise_choice.id %>]' placeholder='输入选项内容' value="<%=exercise_choice.choice_text %>">
|
||||
<a class="icon_add" title="向下插入选项" onclick="add_single_answer($(this));"></a>
|
||||
<li class="ur_item new_answer">
|
||||
<a class="<%= exercise_question.exercise_standard_answers.first.exercise_choice_id.to_s.include?((index+1).to_s) ? 'question_choice_blue' : 'question_choice_white' %> fl mr10 choice_btn" title="设为答案" href="javascript:void(0)" onclick="toggle_select($(this), 2, <%= exercise_question.id %>);"><%=convert_to_char (index+1).to_s %></a>
|
||||
<input maxlength="200" class="w600" type='text' name='question_answer[<%= exercise_choice.id %>]' placeholder='输入选项内容' value="<%=exercise_choice.choice_text %>">
|
||||
<a class="icon_remove" title="删除" onclick="remove_single_answer($(this))"></a>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
<% end %>
|
||||
<li class="ur_item">
|
||||
<a class="question_choice_dash fl mr10 choice_btn"><%=convert_to_char (exercise_question.exercise_choices.count+1).to_s %></a>
|
||||
<div class="dash-block new-question w600" onclick='add_single_answer($(this), 2);'>新建选项</div>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<li class="ur_item">
|
||||
<label>标准答案<span class="ur_index"></span>: </label>
|
||||
<input id="poll_question_standard_answer_<%=exercise_question.id %>" name="exercise_choice" placeholder="若标准答案为A,B,C,在答案输入框填入ABC即可" type="text" value="<%=convert_to_char(exercise_question.exercise_standard_answers.first.exercise_choice_id.to_s) %>">
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="ur_editor_footer">
|
||||
<a class="btn btn_dark btn_submit c_white" data-button="ok" onclick="edit_poll_question($(this),<%= exercise_question.id %>,2);">
|
||||
<span class="fl c_red mt10">温馨提示:[多选题]属于客观题将由系统自动评分,请设置标准答案</span>
|
||||
<a class="big_blue_btn borderRadius fr" data-button="ok" onclick="edit_poll_question($(this),<%= exercise_question.id %>,2);">
|
||||
保存
|
||||
</a>
|
||||
<a class="btn btn_light btn_cancel" data-button="cancel" onclick="resetQuestion<%=exercise_question.id%>();pollQuestionCancel(<%= exercise_question.id%>);">
|
||||
<a class="big_grey_btn borderRadius fr mr10" data-button="cancel" onclick="resetQuestion<%=exercise_question.id%>();pollQuestionCancel(<%= exercise_question.id%>);">
|
||||
<%= l(:button_cancel)%>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
<%= form_for("",:url => update_exercise_question_exercise_index_path(:exercise_question => exercise_question.id),:remote => true) do |f|%>
|
||||
<!--编辑单选start-->
|
||||
<script type="text/javascript">
|
||||
function resetQuestion<%=exercise_question.id%>()
|
||||
{
|
||||
$("#poll_question_score_<%=exercise_question.id %>").val("<%= exercise_question.question_score%>");
|
||||
$("#poll_answers_<%=exercise_question.id%>").html("<label name='candiate_items'>参考答案<span class='ur_index'></span>: </label>" +
|
||||
"<textarea class='candiate_answer' style='width: 600px; height: 90px;' name='exercise_choice' placeholder='如有参考答案,请输入参考答案' type='text'><%=exercise_question.exercise_standard_answers.empty? ? '' : exercise_question.exercise_standard_answers.first.answer_text %></textarea>");
|
||||
}
|
||||
</script>
|
||||
|
||||
<div class="questionContainer" style="width: 680px;">
|
||||
<div class="mb10 ur_item">
|
||||
<label class="ml25">分值<span class="ur_index"></span>: </label>
|
||||
<input id="poll_question_score_<%=exercise_question.id %>" value="<%=exercise_question.question_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">问题: </label>
|
||||
<input name="question_type" value="<%=exercise_question.question_type %>" type="hidden">
|
||||
<textarea name="question_title" style="width: 600px;" id="poll_questions_title_<%=exercise_question.id %>" class="questionTitle" placeholder="请输入问答题的题干" type="text" onfocus="autoHeight('#poll_questions_title_<%=exercise_question.id %>',30)"><%=exercise_question.question_title %></textarea>
|
||||
</div>
|
||||
|
||||
<div class="ur_editor_content" id="edit_multi">
|
||||
<div id="poll_answers_<%=exercise_question.id%>" class="multi_input">
|
||||
<label name='candiate_items'>参考答案<span class="ur_index"></span>: </label>
|
||||
<textarea class="candiate_answer" style="width: 600px; height: 90px;" name="exercise_choice" placeholder="如有参考答案,请输入参考答案" type="text"><%=exercise_question.exercise_standard_answers.empty? ? '' : exercise_question.exercise_standard_answers.first.answer_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" onclick="edit_poll_question($(this),<%= exercise_question.id %>,4);">保存</a>
|
||||
<a class="big_grey_btn borderRadius fr mr10" data-button="cancel" onclick="resetQuestion<%=exercise_question.id%>();pollQuestionCancel(<%= exercise_question.id%>);">
|
||||
<%= l(:button_cancel)%>
|
||||
</a>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<!--编辑单选 end-->
|
||||
<% end%>
|
|
@ -3,52 +3,57 @@
|
|||
<script type="text/javascript">
|
||||
function resetQuestion<%=exercise_question.id%>()
|
||||
{
|
||||
$("#poll_question_score_<%=exercise_question.id %>").val("<%= exercise_question.question_score%>")
|
||||
$("#poll_question_score_<%=exercise_question.id %>").val("<%= exercise_question.question_score%>");
|
||||
$("#poll_answers_<%=exercise_question.id%>").html("<% exercise_question.exercise_standard_answers.reorder("created_at").each_with_index do |exercise_choice,index| %>" +
|
||||
"<li class='ur_item'>" +
|
||||
"<label name='candiate_items'>候选答案<%=convert_to_chi_num(index+1) %><span class='ur_index'></span>: </label>" +
|
||||
"<input class='candiate_answer' name='exercise_choice[<%=exercise_choice.id %>]' placeholder='请输入候选答案' type='text' value='<%=exercise_choice.answer_text %>'/>" +
|
||||
|
||||
"<a class='icon_add' title='向下插入选项' onclick='add_candidate_answer($(this));'></a>" +
|
||||
"<li class='ur_item new_answer'>" +
|
||||
"<label name='candiate_items'>参考答案<%=convert_to_chi_num(index+1) %><span class='ur_index'></span>: </label>" +
|
||||
"<input class='candiate_answer w560' name='exercise_choice[<%=exercise_choice.id %>]' placeholder='请输入参考答案' type='text' value='<%=exercise_choice.answer_text %>'/>" +
|
||||
"<a class='icon_remove' title='删除' onclick='remove_single_answer($(this))'></a>" +
|
||||
"</li>" +
|
||||
"<div class='cl'></div>" +
|
||||
"<% end%>");
|
||||
"<% end%>" +
|
||||
"<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>");
|
||||
}
|
||||
</script>
|
||||
|
||||
<div class="questionContainer" style="width: 680px;">
|
||||
<div class="ur_editor_title">
|
||||
<label class="questionLabel mt8">问题: </label>
|
||||
<input name="question_type" value="<%=exercise_question.question_type %>" type="hidden">
|
||||
<textarea name="question_title" id="poll_questions_title_<%=exercise_question.id %>" class="questionTitle" placeholder="请输入填空题的内容(注意:目前填空题暂时仅支持一个空)" type="text" onfocus="autoHeight('#poll_questions_title_<%=exercise_question.id %>',30)"><%=exercise_question.question_title %></textarea>
|
||||
<div class="mb10 ur_item">
|
||||
<label class="ml36">分值<span class="ur_index"></span>: </label>
|
||||
<input id="poll_question_score_<%=exercise_question.id %>" value="<%=exercise_question.question_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">问题: </label>
|
||||
<input name="question_type" value="<%=exercise_question.question_type %>" type="hidden">
|
||||
<textarea name="question_title" style="width: 590px;" id="poll_questions_title_<%=exercise_question.id %>" class="questionTitle" placeholder="请输入填空题的题干(注意:目前仅支持一个空)" type="text" onfocus="autoHeight('#poll_questions_title_<%=exercise_question.id %>',30)"><%=exercise_question.question_title %></textarea>
|
||||
</div>
|
||||
|
||||
<div class="ur_editor_content" id="edit_single">
|
||||
<ul>
|
||||
<li class="ur_item">
|
||||
<label>分数<span class="ur_index"></span>: </label>
|
||||
<input type="text" id="poll_question_score_<%=exercise_question.id %>" name="question_score" style="width:40px; text-align:center; padding-left:0px;" value="<%= exercise_question.question_score %>">分
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
<div id="poll_answers_<%=exercise_question.id%>">
|
||||
<% exercise_question.exercise_standard_answers.reorder("created_at").each_with_index do |exercise_choice,index| %>
|
||||
<li class="ur_item">
|
||||
<label name='candiate_items'>候选答案<%=convert_to_chi_num(index+1) %><span class="ur_index"></span>: </label>
|
||||
<input class="candiate_answer" name="exercise_choice[<%=exercise_choice.id %>]" placeholder="请输入候选答案" type="text" value="<%=exercise_choice.answer_text %>"/>
|
||||
<a class="icon_add" title="向下插入选项" onclick="add_candidate_answer($(this));"></a>
|
||||
<li class="ur_item new_answer">
|
||||
<label name='candiate_items'>参考答案<%=convert_to_chi_num(index+1) %><span class="ur_index"></span>: </label>
|
||||
<input class="candiate_answer w560" name="exercise_choice[<%=exercise_choice.id %>]" placeholder="请输入参考答案" type="text" value="<%=exercise_choice.answer_text %>"/>
|
||||
<a class="icon_remove" title="删除" onclick="remove_single_answer($(this));"></a>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
<% end %>
|
||||
<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">
|
||||
<a class="btn btn_dark btn_submit c_white" data-button="ok" onclick="edit_poll_question($(this),<%= exercise_question.id %>,3);">
|
||||
保存
|
||||
</a>
|
||||
<a class="btn btn_light btn_cancel" data-button="cancel" onclick="resetQuestion<%=exercise_question.id%>();pollQuestionCancel(<%= exercise_question.id%>);">
|
||||
<span class="fl c_red mt10">温馨提示:[填空题]属于客观题将由系统自动评分,请输入参考答案</span>
|
||||
<a class="big_blue_btn borderRadius fr" data-button="ok" onclick="edit_poll_question($(this),<%= exercise_question.id %>,3);">保存</a>
|
||||
<a class="big_grey_btn borderRadius fr mr10" data-button="cancel" onclick="resetQuestion<%=exercise_question.id%>();pollQuestionCancel(<%= exercise_question.id%>);">
|
||||
<%= l(:button_cancel)%>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
<% 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 do |exercise_question| %>
|
||||
<% 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 %>">
|
||||
<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;">
|
||||
|
@ -16,9 +17,9 @@
|
|||
</div>
|
||||
<div class="testStatus" id="mcq_question_list" style="display: <%=mcq_question_list.count > 0 ? "" : "none" %>">
|
||||
<h3 class="fontGrey3">多选题</h3>
|
||||
<% mcq_question_list.each do |exercise_question| %>
|
||||
<% 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 %>">
|
||||
<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;">
|
||||
|
@ -29,9 +30,9 @@
|
|||
</div>
|
||||
<div class="testStatus" id="single_question_list" style="display: <%=single_question_list.count > 0 ? "" : "none" %>">
|
||||
<h3 class="fontGrey3">填空题</h3>
|
||||
<% single_question_list.each do |exercise_question| %>
|
||||
<% 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 %>">
|
||||
<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;">
|
||||
|
@ -39,4 +40,17 @@
|
|||
</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>
|
|
@ -84,19 +84,19 @@
|
|||
{
|
||||
var title = $.trim($("#poll_questions_title").val());
|
||||
var score = $.trim($("#question_score").val());
|
||||
var standard_ans = $.trim($("#question_standard_ans").val());
|
||||
var standard_ans = $.trim($("#exercise_choice_" + quest_type).val());
|
||||
if(title.length == 0 || score.length == 0){
|
||||
alert("题目标题/分数不能为空");
|
||||
notice_box("题目标题/分数不能为空");
|
||||
doc.one('click', function(){
|
||||
add_poll_question($(this),quest_type);
|
||||
});
|
||||
}else if(!/^[1-9][0-9]*$/.test(score)) {
|
||||
alert("分数必须是非零开头的数字");
|
||||
notice_box("分数必须是非零开头的数字");
|
||||
doc.one('click', function(){
|
||||
add_poll_question($(this),quest_type);
|
||||
});
|
||||
}else if(quest_type !=3 && standard_ans.length == 0) {
|
||||
alert("标准答案不能为空");
|
||||
}else if(quest_type !=3 && quest_type !=4 && standard_ans.length == 0) {
|
||||
notice_box("标准答案不能为空");
|
||||
doc.one('click', function(){
|
||||
add_poll_question($(this),quest_type);
|
||||
});
|
||||
|
@ -108,13 +108,13 @@
|
|||
{
|
||||
var title = $.trim($("#poll_questions_title_" + id).val());
|
||||
var score = $.trim($("#poll_question_score_"+ id).val());
|
||||
var standard_ans = $.trim($("#poll_question_standard_answer_" + id).val());
|
||||
var standard_ans = $.trim($("#exercise_choice_" + id).val());
|
||||
if(title.length == 0 || score.length == 0){
|
||||
alert("题目标题/分数不能为空");
|
||||
notice_box("题目标题/分数不能为空");
|
||||
}else if(!/^[1-9][0-9]*$/.test(score)) {
|
||||
alert("分数必须是非零开头的数字");
|
||||
}else if(quest_type !=3 && standard_ans.length == 0) {
|
||||
alert("标准答案不能为空");
|
||||
notice_box("分数必须是非零开头的数字");
|
||||
}else if(quest_type !=3 && quest_type !=4 && standard_ans.length == 0) {
|
||||
notice_box("标准答案不能为空");
|
||||
}else if(quest_type ==3) {
|
||||
var div = $("#poll_answers_" + id);
|
||||
var candiate_answer = $(".candiate_answer",div);
|
||||
|
@ -123,7 +123,7 @@
|
|||
if(i<candiate_answer.length-1 && $.trim($(candiate_answer[i]).val()) == "") {
|
||||
continue;
|
||||
} else if(i == (candiate_answer.length-1) && $.trim($(candiate_answer[i]).val()) == "") {
|
||||
alert("候选答案不能为空");
|
||||
notice_box("参考答案不能为空");
|
||||
} else if($.trim($(candiate_answer[i]).val()) != ""){
|
||||
doc.parent().parent().parent().submit();
|
||||
break;
|
||||
|
@ -131,7 +131,7 @@
|
|||
|
||||
}
|
||||
} else{
|
||||
alert("候选答案不能为空");
|
||||
notice_box("参考答案不能为空");
|
||||
}
|
||||
}else{
|
||||
doc.parent().parent().parent().submit();}
|
||||
|
@ -142,17 +142,17 @@
|
|||
function pollsSubmit(doc){
|
||||
var title = $.trim($("#exercise_name").val());
|
||||
if(title.length == 0){
|
||||
alert("测验标题不能为空");
|
||||
notice_box("测验标题不能为空");
|
||||
} else if($.trim($("#exercise_end_time").val()) =="") {
|
||||
alert("截止时间不能为空");
|
||||
notice_box("截止时间不能为空");
|
||||
} else if((Date.parse($("#exercise_end_time").val())+(24*60*60-1)*1000) <= Date.now()) {
|
||||
alert("截止时间不能小于当前时间");
|
||||
notice_box("截止时间不能早于当前时间");
|
||||
} else if($.trim($("#exercise_time").val()) !="" && !/^[1-9][0-9]*$/.test($.trim($("#exercise_time").val()))) {
|
||||
alert("测验时长必须为非零开头的数字");
|
||||
notice_box("测验时长必须为非零开头的数字");
|
||||
} else if($.trim($("#exercise_publish_time").val()) !="" && ((Date.parse($("#exercise_publish_time").val())+(24*60*60-1)*1000) < Date.now())) {
|
||||
alert("发布时间不能小于当前时间");
|
||||
notice_box("发布时间不能小于当前时间");
|
||||
} else if($.trim($("#exercise_publish_time").val()) !="" && Date.parse($("#exercise_end_time").val()) < Date.parse($("#exercise_publish_time").val())) {
|
||||
alert("截止时间不能小于发布时间");
|
||||
notice_box("截止时间不能小于发布时间");
|
||||
} else {
|
||||
doc.parent().parent().parent().submit();
|
||||
}
|
||||
|
@ -169,12 +169,12 @@
|
|||
$("#poll_questions_title_"+question_id).focus();
|
||||
}
|
||||
// 选项的选择
|
||||
function toggle_select(doc, type){
|
||||
function toggle_select(doc, type, id){
|
||||
if(doc.hasClass("question_choice_blue")){
|
||||
doc.removeClass("question_choice_blue").addClass("question_choice_white");
|
||||
if(type == "1"){
|
||||
$("#question_standard_answer").html("请点击选项");
|
||||
$("#exercise_choice").val("");
|
||||
$("#question_standard_answer_" + id).html("请点击选项");
|
||||
$("#exercise_choice_" + id).val("");
|
||||
}else{
|
||||
var eles = doc.parent().parent().find("a.question_choice_blue");
|
||||
var str = "";
|
||||
|
@ -182,19 +182,19 @@
|
|||
for(var i=0; i<eles.length; i++){
|
||||
str += $(eles[i]).html();
|
||||
}
|
||||
$("#question_standard_answer").html(str);
|
||||
$("#exercise_choice").val(str);
|
||||
$("#question_standard_answer_" + id).html(str);
|
||||
$("#exercise_choice_" + id).val(str);
|
||||
} else{
|
||||
$("#question_standard_answer").html("请点击选项");
|
||||
$("#exercise_choice").val("");
|
||||
$("#question_standard_answer_" + id).html("请点击选项");
|
||||
$("#exercise_choice_" + id).val("");
|
||||
}
|
||||
}
|
||||
}else{
|
||||
if(type == "1"){
|
||||
doc.parent().parent().find("a.question_choice_blue").removeClass("question_choice_blue").addClass("question_choice_white");
|
||||
doc.removeClass("question_choice_white").addClass("question_choice_blue");
|
||||
$("#question_standard_answer").html(doc.html());
|
||||
$("#exercise_choice").val(doc.html());
|
||||
$("#question_standard_answer_" + id).html(doc.html());
|
||||
$("#exercise_choice_" + id).val(doc.html());
|
||||
} else{
|
||||
doc.removeClass("question_choice_white").addClass("question_choice_blue");
|
||||
var eles = doc.parent().parent().find("a.question_choice_blue");
|
||||
|
@ -202,15 +202,15 @@
|
|||
for(var i=0; i<eles.length; i++){
|
||||
str += $(eles[i]).html();
|
||||
}
|
||||
$("#question_standard_answer").html(str);
|
||||
$("#exercise_choice").val(str);
|
||||
$("#question_standard_answer_" + id).html(str);
|
||||
$("#exercise_choice_" + id).val(str);
|
||||
}
|
||||
}
|
||||
}
|
||||
//单选题
|
||||
function add_single_answer(doc, type)
|
||||
{
|
||||
var li = doc.parent().before("<li class='ur_item new_answer'><a class='question_choice_white fl mr10 choice_btn' title='设为答案' href='javascript:void(0)' onclick='toggle_select($(this), "+ type +");'></a><input maxlength='200' class='w600' type='text' name='question_answer["+new Date().getTime()+"]' placeholder='输入选项内容'/>" +
|
||||
var li = doc.parent().before("<li class='ur_item new_answer'><a class='question_choice_white fl mr10 choice_btn' title='设为答案' href='javascript:void(0)' onclick='toggle_select($(this), "+ type +", "+ type +");'></a><input maxlength='200' class='w600' type='text' name='question_answer["+new Date().getTime()+"]' placeholder='输入选项内容'/>" +
|
||||
"<a class='icon_remove' title='删除' onclick='remove_single_answer($(this))'></a>"+
|
||||
"</li><div class='cl'></div>");
|
||||
var select_items =$("li.new_answer",li.parent());
|
||||
|
@ -219,13 +219,10 @@
|
|||
}
|
||||
function add_candidate_answer(doc)
|
||||
{
|
||||
doc.parent().after("<li class='ur_item'><label name='candiate_items'>候选答案<span class='ur_index'></span>: </label><input maxlength='200' type='text' name='exercise_choice["+new Date().getTime()+"]' placeholder='请输入候选答案(选填)'/>" +
|
||||
"<a class='icon_add' title='向下插入选项' onclick='add_candidate_answer($(this));'></a><a class='icon_remove' title='删除' onclick='remove_single_answer($(this))'></a>"+
|
||||
var select_items =$("li.new_answer",doc.parent().parent());
|
||||
var li = doc.parent().before("<li class='ur_item new_answer'><label name='candiate_items'>参考答案"+ revert_to_chinese_num(select_items.length + 1) +"<span class='ur_index'></span>: </label><input maxlength='200' class='candiate_answer w560' type='text' name='exercise_choice["+new Date().getTime()+"]' placeholder='请输入参考答案(选填)'/>" +
|
||||
"<a class='icon_remove' title='删除' onclick='remove_single_answer($(this))'></a>"+
|
||||
"</li><div class='cl'></div>");
|
||||
var select_items =$("label[name='candiate_items']",doc.parent().parent());
|
||||
for(var i=0; i<select_items.length; i++){
|
||||
$(select_items[i]).html("候选答案"+revert_to_chinese_num(i + 1)+"<span class='ur_index'></span>: ");
|
||||
}
|
||||
}
|
||||
function revert_to_chinese_num(num){
|
||||
var s_num = "";
|
||||
|
@ -246,7 +243,7 @@
|
|||
{
|
||||
if(doc.parent().siblings("li").length == 0)
|
||||
{
|
||||
alert("至少有一个选项或一个候选答案");
|
||||
notice_box("至少有一个选项或一个参考答案");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -259,7 +256,7 @@
|
|||
$(select_items[i]).find("a.choice_btn").html(String.fromCharCode(64 + parseInt(i+1)));
|
||||
}
|
||||
for(var i=0; i<candiate_items.length; i++){
|
||||
$(candiate_items[i]).html("候选答案"+revert_to_chinese_num(i + 1)+"<span class='ur_index'></span>: ");
|
||||
$(candiate_items[i]).html("参考答案"+revert_to_chinese_num(i + 1)+"<span class='ur_index'></span>: ");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -273,9 +270,7 @@
|
|||
<div id="polls_head_edit">
|
||||
<%= render :partial => 'edit_head', :locals => {:exercise => @exercise} %>
|
||||
</div>
|
||||
<% current_score = get_current_score @exercise %>
|
||||
<div class="mb5" style="display: <%= current_score == 0 ? "none" : "" %>" id="current_score_div">目前试卷总分:<span class="c_red" id="current_score"><%= current_score %>
|
||||
分</span></div>
|
||||
|
||||
<!-- 问题 -->
|
||||
<div id="poll_content">
|
||||
<%= render :partial => 'exercise_content', :locals => {:exercise => @exercise} %>
|
||||
|
@ -290,6 +285,16 @@
|
|||
<div id="new_poll_question">
|
||||
</div>
|
||||
|
||||
<% current_score = get_current_score @exercise %>
|
||||
<div class="" style="display: <%= current_score[0] == 0 ? "none" : "" %>" id="current_score_div">
|
||||
<span class="mr20">单选题 <%= @exercise.exercise_questions.where("question_type=1").count %> 题,共<%= current_score[1] %>分</span>
|
||||
<span class="mr20">多选题 <%= @exercise.exercise_questions.where("question_type=2").count %> 题,共<%= current_score[2] %>分</span>
|
||||
<span class="mr20">填空题 <%= @exercise.exercise_questions.where("question_type=3").count %> 题,共<%= current_score[3] %>分</span>
|
||||
<span class="mr20">问答题 <%= @exercise.exercise_questions.where("question_type=4").count %> 题,共<%= current_score[4] %>分</span>
|
||||
<span class="fr">合计 <font class="c_red"><%= @exercise.exercise_questions.count %></font> 题,共<font class="c_red"><%= current_score[0] %></font>分</span>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
|
||||
<div id="exercise_submit">
|
||||
<%= render :partial => 'exercise_submit', :locals => {:exercise => @exercise} %>
|
||||
</div>
|
||||
|
|
|
@ -127,7 +127,7 @@
|
|||
<div class="cl"></div>
|
||||
<div>
|
||||
<% exercise_question.exercise_standard_answers.reorder("created_at").each_with_index do |exercise_choice,index| %>
|
||||
候选答案:<%= exercise_choice.answer_text%><br />
|
||||
参考答案:<%= exercise_choice.answer_text%><br />
|
||||
<% end %>
|
||||
</div>
|
||||
<div>
|
||||
|
|
|
@ -101,7 +101,7 @@
|
|||
<div class="cl"></div>
|
||||
<div>
|
||||
<% exercise_question.exercise_standard_answers.reorder("created_at").each_with_index do |exercise_choice,index| %>
|
||||
候选答案:<%= exercise_choice.answer_text%><br />
|
||||
参考答案:<%= exercise_choice.answer_text%><br />
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -7,39 +7,39 @@
|
|||
<% score = exercise.exercise_questions.where("question_type=1").last.nil? ? "": exercise.exercise_questions.where("question_type=1").last.question_score %>
|
||||
<label>分值<span class="ur_index"></span>: </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">请点击选项</span>
|
||||
<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">问题: </label>
|
||||
<input name="question_type" value="1" type="hidden">
|
||||
<textarea name="question_title" id="poll_questions_title" class="questionTitle" placeholder="请输入单选题题目" type="text" oninput="autoHeight('#poll_questions_title',30)"></textarea>
|
||||
<textarea name="question_title" id="poll_questions_title" class="questionTitle" placeholder="请输入单选题的题干" type="text" oninput="autoHeight('#poll_questions_title',30)"></textarea>
|
||||
</div>
|
||||
<div class="ur_editor_content">
|
||||
<ul>
|
||||
<div>
|
||||
<input style="display: none;" name="exercise_choice" id="exercise_choice"/>
|
||||
<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);">A</a>
|
||||
<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);">B</a>
|
||||
<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);">C</a>
|
||||
<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);">D</a>
|
||||
<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>
|
||||
|
@ -54,6 +54,7 @@
|
|||
</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();">取消</a>
|
||||
</div>
|
||||
|
|
|
@ -7,52 +7,53 @@
|
|||
<% score = exercise.exercise_questions.where("question_type=2").last.nil? ? "": exercise.exercise_questions.where("question_type=2").last.question_score %>
|
||||
<label>分值<span class="ur_index"></span>: </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">请点击选项</span>
|
||||
<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">问题: </label>
|
||||
<input name="question_type" value="2" type="hidden">
|
||||
<textarea name="question_title" id="poll_questions_title" class="questionTitle" placeholder="请输入多选题题目" type="text" oninput="autoHeight('#poll_questions_title',30)"></textarea>
|
||||
<textarea name="question_title" id="poll_questions_title" class="questionTitle" placeholder="请输入多选题的题干" type="text" oninput="autoHeight('#poll_questions_title',30)"></textarea>
|
||||
</div>
|
||||
<div class="ur_editor_content">
|
||||
<ul>
|
||||
<div>
|
||||
<input style="display: none;" name="exercise_choice" id="exercise_choice"/>
|
||||
<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);">A</a>
|
||||
<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);">B</a>
|
||||
<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);">C</a>
|
||||
<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);">D</a>
|
||||
<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>
|
||||
<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>
|
||||
</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();">取消</a>
|
||||
</div>
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
<%= form_for(ExerciseQuestion.new,
|
||||
:html => { :multipart => true },
|
||||
:url=>create_exercise_question_exercise_path(exercise.id),
|
||||
:remote=>true ) do |f| %>
|
||||
<div class="questionContainer">
|
||||
<div class="mb10 ur_item">
|
||||
<% score = exercise.exercise_questions.where("question_type=4").last.nil? ? "": exercise.exercise_questions.where("question_type=3").last.question_score %>
|
||||
<label class="ml25">分值<span class="ur_index"></span>: </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">问题: </label>
|
||||
<input name="question_type" value="4" type="hidden">
|
||||
<textarea maxlength="250" style="width: 619px;" class="questionTitle" name="question_title" id="poll_questions_title" placeholder="请输入问答题的题干" type="text" oninput="autoHeight('#poll_questions_title',30)"></textarea>
|
||||
</div>
|
||||
<div class="ur_editor_content" id="new_multi">
|
||||
<div class="multi_input">
|
||||
<label name='candiate_items'>参考答案<span class="ur_index"></span>: </label>
|
||||
<textarea class="candiate_answer" style="width: 620px; 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();">取消</a>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<% end %>
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
$("#add_new_question").one('click', function(){
|
||||
add_poll_question($(this),4);
|
||||
});
|
||||
});
|
||||
</script>
|
|
@ -1,7 +1,8 @@
|
|||
<ul class="tabs_list">
|
||||
<li class="tab_item02 mr118"> <a title="单选题" class="tab_icon icon_radio" onclick="add_MC();"> 新建单选题 </a> </li>
|
||||
<li class="tab_item02 mr118"> <a title="多选题" class=" tab_icon icon_checkbox" onclick="add_MCQ();"> 新建多选题 </a> </li>
|
||||
<li class="tab_item02 "> <a title="单行主观" class="tab_icon icon_text" onclick="add_single();"> 新建填空题 </a> </li>
|
||||
<li class="tab_item02 mr27"> <a title="单选题" class="tab_icon icon_radio" onclick="add_MC();"> 新建单选题 </a> </li>
|
||||
<li class="tab_item02 mr27"> <a title="多选题" class=" tab_icon icon_checkbox" onclick="add_MCQ();"> 新建多选题 </a> </li>
|
||||
<li class="tab_item02 mr27"> <a title="单行主观" class="tab_icon icon_text" onclick="add_single();"> 新建填空题 </a> </li>
|
||||
<li class="tab_item02 "> <a title="问答题" class="tab_icon icon_text" onclick="add_multi();"> 新建问答题 </a> </li>
|
||||
</ul>
|
||||
<div class="cl"></div>
|
||||
|
||||
|
@ -9,9 +10,9 @@
|
|||
function add_MC(){
|
||||
var forms = $("form.new_exercise_question");
|
||||
if($("#polls_head_edit").is(":visible")){
|
||||
alert("请先保存测验标题及测验基本信息。");
|
||||
notice_box("请先保存测验标题及测验基本信息。");
|
||||
}else if(forms.length > 0){
|
||||
alert("请先保存正在编辑的题目再新建。");
|
||||
notice_box("请先保存正在编辑的题目再新建。");
|
||||
} else{
|
||||
$("#new_poll_question").html("<%= escape_javascript(render :partial => 'new_MC', :locals => {:exercise=>exercise}) %>");
|
||||
$("#question_score").focus();
|
||||
|
@ -21,9 +22,9 @@
|
|||
function add_MCQ(){
|
||||
var forms = $("form.new_exercise_question");
|
||||
if($("#polls_head_edit").is(":visible")){
|
||||
alert("请先保存测验标题及测验基本信息。");
|
||||
notice_box("请先保存测验标题及测验基本信息。");
|
||||
}else if(forms.length > 0){
|
||||
alert("请先保存正在编辑的题目再新建。");
|
||||
notice_box("请先保存正在编辑的题目再新建。");
|
||||
} else{
|
||||
$("#new_poll_question").html("<%= escape_javascript(render :partial => 'new_MCQ', :locals => {:exercise=>exercise}) %>");
|
||||
$("#question_score").focus();
|
||||
|
@ -33,13 +34,25 @@
|
|||
function add_single(){
|
||||
var forms = $("form.new_exercise_question");
|
||||
if($("#polls_head_edit").is(":visible")){
|
||||
alert("请先保存测验标题及测验基本信息。");
|
||||
notice_box("请先保存测验标题及测验基本信息。");
|
||||
}else if(forms.length > 0){
|
||||
alert("请先保存正在编辑的题目再新建。");
|
||||
notice_box("请先保存正在编辑的题目再新建。");
|
||||
} else{
|
||||
$("#new_poll_question").html("<%= escape_javascript(render :partial => 'new_single', :locals => {:exercise=>exercise}) %>");
|
||||
$("#question_score").focus();
|
||||
}
|
||||
}
|
||||
|
||||
function add_multi(){
|
||||
var forms = $("form.new_exercise_question");
|
||||
if($("#polls_head_edit").is(":visible")){
|
||||
notice_box("请先保存测验标题及测验基本信息。");
|
||||
}else if(forms.length > 0){
|
||||
notice_box("请先保存正在编辑的题目再新建。");
|
||||
} else{
|
||||
$("#new_poll_question").html("<%= escape_javascript(render :partial => 'new_multi', :locals => {:exercise=>exercise}) %>");
|
||||
$("#question_score").focus();
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
|
@ -5,43 +5,46 @@
|
|||
<div class="questionContainer">
|
||||
<div class="mb10 ur_item">
|
||||
<% score = exercise.exercise_questions.where("question_type=3").last.nil? ? "": exercise.exercise_questions.where("question_type=3").last.question_score %>
|
||||
<label>分值<span class="ur_index"></span>: </label>
|
||||
<label class="ml36">分值<span class="ur_index"></span>: </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">问题: </label>
|
||||
<label class="questionLabel mt8 ml36">问题: </label>
|
||||
<input name="question_type" value="3" type="hidden">
|
||||
<textarea maxlength="250" class="questionTitle" name="question_title" id="poll_questions_title" placeholder="请输入填空题的内容(注意:目前填空题暂时仅支持一个空)" type="text" oninput="autoHeight('#poll_questions_title',30)"></textarea>
|
||||
<textarea maxlength="250" style="width: 608px;" class="questionTitle" name="question_title" id="poll_questions_title" placeholder="请输入填空题的题干(注意:目前仅支持一个空)" type="text" oninput="autoHeight('#poll_questions_title',30)"></textarea>
|
||||
</div>
|
||||
<div class="ur_editor_content" id="new_single">
|
||||
<ul>
|
||||
<div>
|
||||
<li class="ur_item">
|
||||
<label name='candiate_items'>候选答案一<span class="ur_index"></span>: </label>
|
||||
<input class="candiate_answer" name="exercise_choice[0]" placeholder="请输入候选答案" type="text">
|
||||
<a class="icon_add" title="向下插入选项" onclick="add_candidate_answer($(this));"></a>
|
||||
<li class="ur_item new_answer">
|
||||
<label name='candiate_items'>参考答案一<span class="ur_index"></span>: </label>
|
||||
<input class="candiate_answer w560" name="exercise_choice[0]" placeholder="请输入参考答案" type="text">
|
||||
<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>: </label>
|
||||
<input class="candiate_answer w560" name="exercise_choice[1]" placeholder="请输入参考答案(选填)" type="text">
|
||||
<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>: </label>
|
||||
<input class="candiate_answer w560" name="exercise_choice[2]" placeholder="请输入参考答案(选填)" type="text">
|
||||
<a class="icon_remove" title="删除" onclick="remove_single_answer($(this))"></a>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
<li class="ur_item">
|
||||
<label name='candiate_items'>候选答案二<span class="ur_index"></span>: </label>
|
||||
<input class="candiate_answer" name="exercise_choice[1]" placeholder="请输入候选答案(选填)" type="text">
|
||||
<a class="icon_add" title="向下插入选项" onclick="add_candidate_answer($(this));"></a>
|
||||
<a class="icon_remove" title="删除" onclick="remove_single_answer($(this))"></a>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
<li class="ur_item">
|
||||
<label name='candiate_items'>候选答案三<span class="ur_index"></span>: </label>
|
||||
<input class="candiate_answer" name="exercise_choice[2]" placeholder="请输入候选答案(选填)" type="text">
|
||||
<a class="icon_add" title="向下插入选项" onclick="add_candidate_answer($(this));"></a>
|
||||
<a class="icon_remove" title="删除" onclick="remove_single_answer($(this))"></a>
|
||||
<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();">取消</a>
|
||||
</div>
|
||||
|
|
|
@ -1,17 +1,21 @@
|
|||
<div>
|
||||
<div class="testEditTitle">
|
||||
<div>第<%= exercise_question.question_number%>题.(<%= exercise_question.question_score %>分)</div>
|
||||
<span class="formatContainer break_word" style="max-width:534px;"><%= exercise_question.question_title %></span>
|
||||
<span class="ml10">(<%= convert_to_char(exercise_question.exercise_standard_answers.first.exercise_choice_id.to_s) %>)</span>
|
||||
<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%>题. <%= exercise_question.question_score %>分
|
||||
标准答案:<%= 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 %>">
|
||||
<a class="ur_icon_edit" title="编辑" onclick="pollQuestionEdit(<%= exercise_question.id%>);"></a>
|
||||
<%= link_to("", delete_exercise_question_exercise_index_path(:exercise_question => exercise_question.id, :quest_num => exercise_question.question_number),
|
||||
method: :delete, :confirm => l(:text_are_you_sure), :remote => true, :class => "ur_icon_de",:title => "删除") %>
|
||||
<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>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<p class="formatContainer break_word"><%= exercise_question.question_title %></p>
|
||||
</div>
|
||||
|
||||
<%= link_to("", delete_exercise_question_exercise_index_path(:exercise_question => exercise_question.id, :quest_num => exercise_question.question_number),
|
||||
method: :delete, :confirm => l(:text_are_you_sure), :remote => true, :class => "ur_icon_de") %>
|
||||
<a class="ur_icon_edit" title="编辑" onclick="pollQuestionEdit(<%= exercise_question.id%>);"></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>
|
||||
<div class="cl"></div>
|
||||
<div class="ur_inputs">
|
||||
<table class="ur_table" style="width:675px;">
|
||||
<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>
|
||||
|
@ -30,71 +34,76 @@
|
|||
<!-- 新增问题 -->
|
||||
<div id="insert_new_poll_question_mc_<%=exercise_question.id%>">
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
|
||||
<script type="text/javascript">
|
||||
function insert_MC(quest_type,quest_num,quest_id){
|
||||
var forms = $("form.new_exercise_question");
|
||||
if($.trim($("#insert_new_poll_question_"+quest_type+"_"+quest_id).html()) == "") {
|
||||
if(forms.length > 0){
|
||||
alert("请先保存正在编辑的题目再新建。");
|
||||
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>: </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>问题: </label>'+
|
||||
'<label class="questionLabel mt8">问题: </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" id="poll_questions_title" class="questionTitle" placeholder="请输入单选题题目" type="text"></textarea>'+
|
||||
'<textarea name="question_title" style="width: 625px;" id="poll_questions_title" class="questionTitle" placeholder="请输入单选题的题干" type="text"></textarea>'+
|
||||
'</div>'+
|
||||
'<div class="ur_editor_content">'+
|
||||
'<ul>'+
|
||||
'<li class="ur_item">'+
|
||||
'<label>分数<span class="ur_index"></span>: </label>'+
|
||||
'<input value="<%=score %>" id="question_score" type="text" name="question_score" style="width:40px; text-align:center; padding-left:0px;"/>分'+
|
||||
'</li><div>'+
|
||||
'<li class="ur_item">'+
|
||||
'<label name="select_items" class="w60">选项A<span class="ur_index"></span>: </label>'+
|
||||
'<input maxlength="200" type="text" name="question_answer[0]" placeholder="输入选项内容"/>'+
|
||||
'<a class="icon_add" title="向下插入选项" onclick="add_single_answer($(this));"></a>'+
|
||||
'<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">'+
|
||||
'<label name="select_items" class="w60">选项B<span class="ur_index"></span>: </label>'+
|
||||
'<input maxlength="200" type="text" name="question_answer[1]" placeholder="输入选项内容"/>'+
|
||||
'<a class="icon_add" title="向下插入选项" onclick="add_single_answer($(this));"></a>'+
|
||||
'<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">'+
|
||||
'<label name="select_items" class="w60">选项C<span class="ur_index"></span>: </label>'+
|
||||
'<input maxlength="200" type="text" name="question_answer[2]" placeholder="输入选项内容"/>'+
|
||||
'<a class="icon_add" title="向下插入选项" onclick="add_single_answer($(this));"></a>'+
|
||||
'<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">'+
|
||||
'<label name="select_items" class="w60">选项D<span class="ur_index"></span>: </label>'+
|
||||
'<input maxlength="200" type="text" name="question_answer[3]" placeholder="输入选项内容"/>'+
|
||||
'<a class="icon_add" title="向下插入选项" onclick="add_single_answer($(this));"></a>'+
|
||||
'<a class="icon_remove" title="删除" onclick="remove_single_answer($(this))"></a>'+
|
||||
'</li></div>'+
|
||||
'<div class="cl"></div>'+
|
||||
'<li class="ur_item">'+
|
||||
'<label>标准答案<span class="ur_index"></span>: </label>'+
|
||||
'<input name="exercise_choice" id="question_standard_ans" placeholder="若标准答案为A,在此输入A即可" type="text">'+
|
||||
'<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">'+
|
||||
'<a class="btn btn_dark btn_submit c_white" data-button="ok" id="add_new_question">'+
|
||||
'<span class="fl c_red mt10">温馨提示:[单选题]属于客观题将由系统自动评分,请设置标准答案</span>'+
|
||||
'<a class="big_blue_btn borderRadius fr" data-button="ok" id="add_new_question">'+
|
||||
'保存'+
|
||||
'</a>'+
|
||||
'<a class="btn btn_light btn_cancel" data-button="cancel" onclick="$(this).parent().parent().parent().remove();">'+
|
||||
'<a class="big_grey_btn borderRadius fr mr10" data-button="cancel" onclick="$(this).parent().parent().parent().remove();">'+
|
||||
'<%= l(:button_cancel)%>'+
|
||||
'</a>'+
|
||||
'</div>'+
|
||||
|
|
|
@ -1,16 +1,21 @@
|
|||
<div>
|
||||
<div class="testEditTitle">
|
||||
<div>第<%= exercise_question.question_number%>题.(<%= exercise_question.question_score %>分)</div>
|
||||
<span class="formatContainer break_word" style="max-width:534px;"><%= exercise_question.question_title %></span>
|
||||
<span class="ml10">(<%= convert_to_char(exercise_question.exercise_standard_answers.first.exercise_choice_id.to_s) %>)</span>
|
||||
<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%>题. <%= exercise_question.question_score %>分
|
||||
标准答案:<%= 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 %>">
|
||||
<a class="ur_icon_edit" title="编辑" onclick="pollQuestionEdit(<%= exercise_question.id%>);"></a>
|
||||
<%= link_to("", delete_exercise_question_exercise_index_path(:exercise_question => exercise_question.id, :quest_num => exercise_question.question_number),
|
||||
method: :delete, :confirm => l(:text_are_you_sure), :remote => true, :class => "ur_icon_de",:title => "删除") %>
|
||||
<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>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<p class="formatContainer break_word"><%= exercise_question.question_title %></p>
|
||||
</div>
|
||||
<%= link_to("", delete_exercise_question_exercise_index_path(:exercise_question => exercise_question.id, :quest_num => exercise_question.question_number),
|
||||
method: :delete, :confirm => l(:text_are_you_sure), :remote => true, :class => "ur_icon_de",:title => "删除") %>
|
||||
<a class="ur_icon_edit" title="编辑" onclick="pollQuestionEdit(<%= exercise_question.id%>);"></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>
|
||||
<div class="cl"></div>
|
||||
<div class="ur_inputs">
|
||||
<table class="ur_table" style="width:675px;">
|
||||
|
||||
<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>
|
||||
|
@ -35,65 +40,67 @@
|
|||
var forms = $("form.new_exercise_question");
|
||||
if($.trim($("#insert_new_poll_question_"+quest_type+"_"+quest_id).html()) == ""){
|
||||
if(forms.length > 0){
|
||||
alert("请先保存正在编辑的题目再新建。");
|
||||
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="ur_editor_title"> '+
|
||||
'<label>问题: </label>'+
|
||||
'<div class="questionContainer" style="width: 680px;"> '+
|
||||
'<div class="mb10 ur_item">'+
|
||||
'<label>分值<span class="ur_index"></span>: </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">问题: </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" id="poll_questions_title" class="questionTitle" placeholder="请输入多选题题目" type="text"></textarea>'+
|
||||
'<textarea name="question_title" style="width: 625px;" id="poll_questions_title" class="questionTitle" placeholder="请输入多选题的题干" type="text"></textarea>'+
|
||||
'</div>'+
|
||||
'<div class="ur_editor_content">'+
|
||||
'<ul>'+
|
||||
'<li class="ur_item">'+
|
||||
'<label>分数<span class="ur_index"></span>: </label>'+
|
||||
'<input value="<%= score %>" id="question_score" type="text" name="question_score" style="width:40px; text-align:center; padding-left:0px;"/>分'+
|
||||
'</li><div>'+
|
||||
'<li class="ur_item">'+
|
||||
'<label name="select_items" class="w60">选项A<span class="ur_index"></span>: </label>'+
|
||||
'<input maxlength="200" type="text" name="question_answer[0]" placeholder="输入选项内容"/>'+
|
||||
'<a class="icon_add" title="向下插入选项" onclick="add_single_answer($(this));"></a>'+
|
||||
'<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">'+
|
||||
'<label name="select_items" class="w60">选项B<span class="ur_index"></span>: </label>'+
|
||||
'<input maxlength="200" type="text" name="question_answer[1]" placeholder="输入选项内容"/>'+
|
||||
'<a class="icon_add" title="向下插入选项" onclick="add_single_answer($(this));"></a>'+
|
||||
'<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">'+
|
||||
'<label name="select_items" class="w60">选项C<span class="ur_index"></span>: </label>'+
|
||||
'<input maxlength="200" type="text" name="question_answer[2]" placeholder="输入选项内容"/>'+
|
||||
'<a class="icon_add" title="向下插入选项" onclick="add_single_answer($(this));"></a>'+
|
||||
'<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">'+
|
||||
'<label name="select_items" class="w60">选项D<span class="ur_index"></span>: </label>'+
|
||||
'<input maxlength="200" type="text" name="question_answer[3]" placeholder="输入选项内容"/>'+
|
||||
'<a class="icon_add" title="向下插入选项" onclick="add_single_answer($(this));"></a>'+
|
||||
'<a class="icon_remove" title="删除" onclick="remove_single_answer($(this))"></a>'+
|
||||
'</li></div>'+
|
||||
'<div class="cl"></div>'+
|
||||
'<li class="ur_item">'+
|
||||
'<label>标准答案<span class="ur_index"></span>: </label>'+
|
||||
'<input name="exercise_choice" id="question_standard_ans" placeholder="若标准答案为A,B,C,在答案输入框填入ABC即可" type="text">'+
|
||||
'<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>'+
|
||||
'</ul>'+
|
||||
'</div> </ul>'+
|
||||
'</div>'+
|
||||
'<div class="ur_editor_footer">'+
|
||||
'<a class="btn btn_dark btn_submit c_white" data-button="ok" id="add_new_question">'+
|
||||
'<span class="fl c_red mt10">温馨提示:[多选题]属于客观题将由系统自动评分,请设置标准答案</span>'+
|
||||
'<a class="big_blue_btn borderRadius fr" data-button="ok" id="add_new_question">'+
|
||||
'保存'+
|
||||
'</a>'+
|
||||
'<a class="btn btn_light btn_cancel" data-button="cancel" onclick="$(this).parent().parent().parent().remove();">'+
|
||||
'<a class="big_grey_btn borderRadius fr mr10" data-button="cancel" onclick="$(this).parent().parent().parent().remove();">'+
|
||||
'<%= l(:button_cancel)%>'+
|
||||
'</a>'+
|
||||
'</div>'+
|
||||
|
|
|
@ -0,0 +1,83 @@
|
|||
<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%>题. <%= exercise_question.question_score %>分</span>
|
||||
<div class="fr none" id="menu_div_<%= exercise_question.id %>">
|
||||
<a class="ur_icon_edit" title="编辑" onclick="pollQuestionEdit(<%= exercise_question.id%>);"></a>
|
||||
<%= link_to("", delete_exercise_question_exercise_index_path(:exercise_question => exercise_question.id, :quest_num => exercise_question.question_number),
|
||||
method: :delete, :confirm => l(:text_are_you_sure), :remote => true, :class => "ur_icon_de",:title => "删除") %>
|
||||
<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>
|
||||
</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>
|
||||
参考答案:<%= exercise_question.exercise_standard_answers.first.answer_text%>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
<!-- 新增问题 -->
|
||||
<div id="insert_new_poll_question_multi_<%=exercise_question.id%>">
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
function insert_MULTI(quest_type,quest_num,quest_id){
|
||||
var forms = $("form.new_exercise_question");
|
||||
if($.trim($("#insert_new_poll_question_"+quest_type+"_"+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>: </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">问题: </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>: </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%>'
|
||||
);
|
||||
$("#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;
|
||||
$(this).height(scrollVal);
|
||||
});
|
||||
}
|
||||
} else {
|
||||
$("#insert_new_poll_question_"+quest_type+"_"+quest_id).html("");
|
||||
}
|
||||
}
|
||||
</script>
|
|
@ -1,16 +1,21 @@
|
|||
<div>
|
||||
<div class="testEditTitle">
|
||||
<div>第<%= exercise_question.question_number%>题.(<%= exercise_question.question_score %>分)</div>
|
||||
<span class="formatContainer break_word"><%= exercise_question.question_title %></span>
|
||||
<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%>题. <%= exercise_question.question_score %>分</span>
|
||||
<div class="fr none" id="menu_div_<%= exercise_question.id %>">
|
||||
<a class="ur_icon_edit" title="编辑" onclick="pollQuestionEdit(<%= exercise_question.id%>);"></a>
|
||||
<%= link_to("", delete_exercise_question_exercise_index_path(:exercise_question => exercise_question.id, :quest_num => exercise_question.question_number),
|
||||
method: :delete, :confirm => l(:text_are_you_sure), :remote => true, :class => "ur_icon_de",:title => "删除") %>
|
||||
<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>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<p class="formatContainer break_word"><%= exercise_question.question_title %></p>
|
||||
</div>
|
||||
<%= link_to("", delete_exercise_question_exercise_index_path(:exercise_question => exercise_question.id, :quest_num => exercise_question.question_number),
|
||||
method: :delete, :confirm => l(:text_are_you_sure), :remote => true, :class => "ur_icon_de",:title => "删除") %>
|
||||
<a class="ur_icon_edit" title="编辑" onclick="pollQuestionEdit(<%= exercise_question.id%>);"></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>
|
||||
<div class="cl"></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 />
|
||||
参考答案<%= convert_to_chi_num(index+1) %>:<%= exercise_choice.answer_text%><br />
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -23,53 +28,59 @@
|
|||
var forms = $("form.new_exercise_question");
|
||||
if($.trim($("#insert_new_poll_question_"+quest_type+"_"+quest_id).html()) == "") {
|
||||
if(forms.length > 0){
|
||||
alert("请先保存正在编辑的题目再新建。");
|
||||
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="questionContainer" style="width: 680px;"> '+
|
||||
'<div class="mb10 ur_item">'+
|
||||
'<label class="ml36">分值<span class="ur_index"></span>: </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>问题: </label>'+
|
||||
'<label class="questionLabel mt8 ml36">问题: </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 name="question_title" id="poll_questions_title" class="questionTitle" placeholder="请输入填空题的内容(注意:目前填空题暂时仅支持一个空)" type="text"></textarea>'+
|
||||
'<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>'+
|
||||
'<li class="ur_item">'+
|
||||
'<label>分数<span class="ur_index"></span>: </label>'+
|
||||
'<input value="<%= score %>" id="question_score" type="text" name="question_score" style="width:40px; text-align:center; padding-left:0px;"/>分'+
|
||||
'</li><div>'+
|
||||
'<li class="ur_item">'+
|
||||
'<label name="candiate_items">候选答案一<span class="ur_index"></span>: </label>'+
|
||||
'<input class="candiate_answer" type="text" name="exercise_choice[0]" placeholder="请输入候选答案"/>'+
|
||||
'<a class="icon_add" title="向下插入选项" onclick="add_candidate_answer($(this));"></a>'+
|
||||
'<div>'+
|
||||
'<li class="ur_item new_answer">'+
|
||||
'<label name="candiate_items">参考答案一<span class="ur_index"></span>: </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">'+
|
||||
'<label name="candiate_items">候选答案二<span class="ur_index"></span>: </label>'+
|
||||
'<input class="candiate_answer" type="text" name="exercise_choice[1]" placeholder="请输入候选答案(选填)"/>'+
|
||||
'<a class="icon_add" title="向下插入选项" onclick="add_candidate_answer($(this));"></a>'+
|
||||
'<li class="ur_item new_answer">'+
|
||||
'<label name="candiate_items">参考答案二<span class="ur_index"></span>: </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">'+
|
||||
'<label name="candiate_items">候选答案三<span class="ur_index"></span>: </label>'+
|
||||
'<input class="candiate_answer" type="text" name="exercise_choice[2]" placeholder="请输入候选答案(选填)"/>'+
|
||||
'<a class="icon_add" title="向下插入选项" onclick="add_candidate_answer($(this));"></a>'+
|
||||
'<li class="ur_item new_answer">'+
|
||||
'<label name="candiate_items">参考答案三<span class="ur_index"></span>: </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>'+
|
||||
'</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">'+
|
||||
'<a class="btn btn_dark btn_submit c_white" data-button="ok" id="add_new_question">'+
|
||||
'<span class="fl c_red mt10">温馨提示:[填空题]属于客观题将由系统自动评分,请输入参考答案</span>'+
|
||||
'<a class="big_blue_btn borderRadius fr" data-button="ok" id="add_new_question">'+
|
||||
'保存'+
|
||||
'</a>'+
|
||||
'<a class="btn btn_light btn_cancel" data-button="cancel" onclick="$(this).parent().parent().parent().remove();">'+
|
||||
'<a class="big_grey_btn borderRadius fr mr10" data-button="cancel" onclick="$(this).parent().parent().parent().remove();">'+
|
||||
'<%= l(:button_cancel)%>'+
|
||||
'</a>'+
|
||||
'</div>'+
|
||||
|
|
|
@ -37,6 +37,16 @@
|
|||
"</div>" +
|
||||
"</div>");
|
||||
<% end %>
|
||||
<%if @exercise_questions.question_type == 4%>
|
||||
$("#multi_question_list").show().append("<div id='poll_questions_<%= @exercise_questions.id%>'>" +
|
||||
"<div id='show_poll_questions_<%= @exercise_questions.id %>'>" +
|
||||
"<%= escape_javascript(render :partial => 'show_multi', :locals => {:exercise_question => @exercise_questions}) %>" +
|
||||
"</div>" +
|
||||
"<div id='edit_poll_questions_<%= @exercise_questions.id %>' style='display: none;'>" +
|
||||
"<%= escape_javascript(render :partial => 'edit_multi', :locals => {:exercise_question => @exercise_questions}) %>" +
|
||||
"</div>" +
|
||||
"</div>");
|
||||
<% end %>
|
||||
$("#current_score_div").show();
|
||||
$("#current_score").html("<%=get_current_score @exercise %>分");
|
||||
<% end %>
|
||||
|
|
|
@ -5,6 +5,8 @@ $("#poll_questions_<%= @exercise_question.id%>").html("<div id='show_poll_questi
|
|||
"<%= escape_javascript(render :partial => 'show_MCQ', :locals => {:exercise_question => @exercise_question}) %>" +
|
||||
"<% elsif @exercise_question.question_type == 3%>" +
|
||||
"<%= escape_javascript(render :partial => 'show_single', :locals => {:exercise_question => @exercise_question}) %>" +
|
||||
"<% elsif @exercise_question.question_type == 4%>" +
|
||||
"<%= escape_javascript(render :partial => 'show_multi', :locals => {:exercise_question => @exercise_question}) %>" +
|
||||
"<% end%>" +
|
||||
"</div>" +
|
||||
"<div id='edit_poll_questions_<%= @exercise_question.id %>' style='display: none;'>" +
|
||||
|
@ -14,6 +16,8 @@ $("#poll_questions_<%= @exercise_question.id%>").html("<div id='show_poll_questi
|
|||
"<%= escape_javascript(render :partial => 'edit_MCQ', :locals => {:exercise_question => @exercise_question}) %>" +
|
||||
"<% elsif @exercise_question.question_type == 3%>" +
|
||||
"<%= escape_javascript(render :partial => 'edit_single', :locals => {:exercise_question => @exercise_question}) %>" +
|
||||
"<% elsif @exercise_question.question_type == 4%>" +
|
||||
"<%= escape_javascript(render :partial => 'edit_multi', :locals => {:exercise_question => @exercise_question}) %>" +
|
||||
"<% end%>" +
|
||||
"</div>");
|
||||
$("#current_score").html("<%=get_current_score @exercise_question.exercise %>分");
|
||||
|
|
|
@ -58,6 +58,7 @@ h4{ font-size:14px;}/*color:#3b3b3b;*/
|
|||
.lh22{line-height:22px;}
|
||||
.lh24{line-height:24px;}
|
||||
.lh26{line-height:26px;}
|
||||
.lh27{line-height:27px;}
|
||||
.fmYh{font-family:"微软雅黑";}
|
||||
.font999{ color:#999;}
|
||||
.fontRed{color:#770000;}
|
||||
|
@ -93,7 +94,7 @@ h4{ font-size:14px;}/*color:#3b3b3b;*/
|
|||
.ml110{ margin-left:110px;}.ml125 { margin-left:125px;}.ml130 { margin-left:130px;}.ml140 { margin-left:140px;}.ml150 { margin-left:150px;}
|
||||
.ml160 {margin-left:160px;}.ml250 {margin-left:250px;}.ml258{ margin-left:258px;}.ml320{ margin-left:320px;}.ml358{ margin-left:358px;}.mr-5 {margin-right:-5px;}
|
||||
.mr2{ margin-right:2px;}.mr3{ margin-right:3px;}.mr5{ margin-right:5px;}.mr8{ margin-right:8px;}.mr10{ margin-right:10px;}.mr12{ margin-right:12px;}.mr15 {margin-right:15px;}
|
||||
.mr16 {margin-right:16px;}.mr18 {margin-right:18px;}.mr20{ margin-right:20px;}.mr25 {margin-right:25px;}.mr27 {margin-right:27px;}.mr30{ margin-right:30px !important;}
|
||||
.mr16 {margin-right:16px;}.mr18 {margin-right:18px;}.mr20{ margin-right:20px;}.mr25 {margin-right:25px;}.mr27 {margin-right:27px !important;}.mr30{ margin-right:30px !important;}
|
||||
.mr35{ margin-right:35px;}.mr40{ margin-right:40px !important;}.mr45{margin-right: 45px;}.mr50{margin-right: 50px;}.mr55{margin-right: 55px;}.mr60 {margin-right:60px;}
|
||||
.mr65 {margin-right:65px;}.mr70{margin-right: 70px;}.mr75{margin-right: 75px;}.mr80{margin-right: 80px;}.mr85{margin-right: 85px;}.mr95 {margin-right:95px !important;}
|
||||
.mr100 {margin-right:100px !important;}.mr118 {margin-right:118px !important;}.mr130 {margin-right:130px;}.mr135 {margin-right:135px;}.mr150 {margin-right:150px;}
|
||||
|
@ -114,7 +115,7 @@ h4{ font-size:14px;}/*color:#3b3b3b;*/
|
|||
.w230{width:230px !important;}.w235{ width:235px !important;}.w265{ width: 265px;}.w270{ width: 270px;}.w280{ width:280px;}.w289{ width:289px !important;}.w290{ width:290px !important;}
|
||||
.w300{ width:300px !important;}.w305{ width:305px;}.w350 {width:350px;}.w360 {width:360px;}.w362 {width:362px;}.h400{height:400px !important;}.w430{ width:430px;}
|
||||
.W440{ width:440px;}.w450 {width:450px;}.w455{width:455px !important;}.w459{ width:459px;}.w460{ width:460px;}.w465{width:465px !important;}
|
||||
.w490{width:490px;}.w536{ width:536px;}.w543{ width:543px;}.w557{ width:557px;}.w570 {width:570px !important;}.w576{ width:576px;}.w590{ width:590px !important;}
|
||||
.w490{width:490px;}.w536{ width:536px;}.w543{ width:543px;}.w557{ width:557px;}.w560{ width:560px !important;}.w570 {width:570px !important;}.w576{ width:576px;}.w590{ width:590px !important;}
|
||||
.w607 {width:607px;}.w664{ width:664px;}.w683{ width:683px;}.w610{ width:610px;}.w600{ width:600px !important;}.w603{ width:603px !important;}
|
||||
.w606{ width:606px; }.w620{ width:620px;}.w680{ width: 680px;}.w701{width: 701px;}.w705{ width:705px;}.w708{width: 708px;}.w709{width: 709px;}
|
||||
.w712{width:712px; max-width:712px; min-width:712px;}.w713{width: 713px;}.w720{width:721px;}.w730{width:730px;}.w770{ width:770px;}.h15{ height: 15px; }
|
||||
|
@ -124,7 +125,7 @@ h4{ font-size:14px;}/*color:#3b3b3b;*/
|
|||
.mw380 {max-width: 380px !important;}.mw400 {max-width: 400px !important;}.mh18 {max-height: 18px;}.max_h54 {max-height:54px; }.maxHeight100 {max-height:100px; overflow-x:hidden; overflow-y:auto;}
|
||||
.maxHeight200 {max-height:200px; overflow-x:hidden; overflow-y:auto;}
|
||||
.W50{ width:50px;}.W120{ width:110px;}.W200{ width:200px;}.W300 {width:300px !important;}.W320{ width:320px;}.W420 {width:420px;}.W440{ width:440px;}
|
||||
.W600{ width:600px !important;}.W700{ width:700px; max-width:700px; min-width:700px;}.W710{ width:708px;}.W800{ width:800px !important;}
|
||||
.W700{ width:700px; max-width:700px; min-width:700px;}.W710{ width:708px;}.W800{ width:800px !important;}
|
||||
.maxwidth150{max-width: 150px;}.m_w460{max-width: 460px;}.m_w500{max-width: 500px;}.m_w505{max-width: 505px;}.m_w530{max-width: 530px;}
|
||||
.m_w600{max-width: 600px;}.td_w70{ width:70px;}.td_w60{ width:60px;}.td_w110{ width:110px;}.width165{width: 165px;}.width180{width: 180px !important;}
|
||||
.width285{width: 285px;}.width255{width: 255px;}.width385{width: 385px;}.width505{width: 505px;}.width525{width: 525px;}.width530{width: 530px;}
|
||||
|
|
|
@ -396,6 +396,7 @@ a:hover.btn_cancel{ color:#666;}
|
|||
a:hover.testEdit{ background:url(../images/icons.png) -21px -272px no-repeat;}
|
||||
.testDesEdit {width:670px; overflow:hidden; white-space:pre-wrap;}
|
||||
.testEditTitle{ padding:10px 0px ; float:left; width:564px; }
|
||||
.exercise_title{padding: 10px 0px;}
|
||||
.questionEditContainer {border:1px solid #cbcbcb;background:#eeeeee; padding:10px; margin-bottom:10px; margin-top:10px;}
|
||||
.fillInput {border:1px solid #cbcbcb; padding-left:5px; background-color:#ffffff; width:693px; height:30px; color:#888888;}
|
||||
.ur_button_submit{ display:block; width:106px; height:31px; margin:0 auto; background:#15bccf; color:#fff; font-size:16px; text-align:center; padding-top:4px; margin-bottom:10px; }
|
||||
|
|
|
@ -102,11 +102,11 @@ a:hover.icon_remove{background:url(images/icons.png) -20px -338px no-repeat;}
|
|||
a.ur_button_submit{ display:block; width:106px; height:31px; margin:0 auto; background:#15bccf; color:#fff; font-size:16px; text-align:center; padding-top:4px; margin-bottom:10px; }
|
||||
a:hover.ur_button_submit{ background:#0fa9bb; text-decoration:none;}
|
||||
|
||||
a.ur_icon_de{ background:url(images/icons.png) 0px -338px no-repeat; width:16px; height:27px; display:block;float:right; margin-top:15px;}
|
||||
a.ur_icon_de{ background:url(images/icons.png) 0px -338px no-repeat; width:16px; height:27px; display:block;float:right; margin-right:10px;}
|
||||
a:hover.ur_icon_de{ background:url(images/icons.png) -20px -338px no-repeat;}
|
||||
.ur_icon_edit{ background:url(images/icons.png) 0px -272px no-repeat; width:16px; height:27px; display:block;float:right; margin-top:15px; margin-right:10px;}
|
||||
.ur_icon_edit{ background:url(images/icons.png) 0px -272px no-repeat; width:16px; height:27px; display:block;float:right;}
|
||||
a:hover.ur_icon_edit{ background:url(images/icons.png) -21px -272px no-repeat;}
|
||||
.ur_icon_add{ background:url(images/icons.png) 0px -310px no-repeat; width:16px; height:27px; display:block;float:right; margin-top:15px; margin-right:10px;}
|
||||
.ur_icon_add{ background:url(images/icons.png) 0px -310px no-repeat; width:16px; height:27px; display:block;float:right; margin-right:10px;}
|
||||
a:hover.ur_icon_add{background:url(images/icons.png) -20px -310px no-repeat;}
|
||||
|
||||
/***弹框***/
|
||||
|
@ -153,4 +153,12 @@ a:hover.btn_pu{ background:#3cb761;}
|
|||
|
||||
.import_poll_div{width: 430px; max-height: 550px; overflow-x:hidden; overflow-y: auto; margin: 10px auto;}
|
||||
|
||||
/*测验*/
|
||||
.exercise_inputs{ color:#666;}
|
||||
.exercise_inputs tr td{ width:98%; float: right;}
|
||||
.exercise_inputs label{ padding-left:10px;}
|
||||
.exercise_inputs input{ float: left;}
|
||||
.border_b{border-bottom: 1px solid #dcdcdc; padding-bottom: 10px;}
|
||||
.multi_input label{float: left;}
|
||||
.multi_input textarea{line-height: 30px;}
|
||||
|
||||
|
|
Loading…
Reference in New Issue