From c9760532972fc81856d95ef005ca9f7c9ecaeff9 Mon Sep 17 00:00:00 2001 From: cxt Date: Thu, 5 Jan 2017 18:20:18 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8F=AD=E7=BA=A7=E4=BD=9C=E4=B8=9A=E7=9A=84?= =?UTF-8?q?=E8=AF=84=E5=88=86=E8=AE=BE=E7=BD=AE=EF=BC=8C=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=8A=A9=E6=95=99=E8=AF=84=E5=88=86=E6=A8=A1=E5=BC=8F=E7=9A=84?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E9=80=89=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/student_work_controller.rb | 26 ++- .../_set_score_rule_non_pro.html.erb | 151 +++++++++++------- .../_set_score_rule_none_pro_anon.html.erb | 63 +++++--- .../_set_score_rule_pro.html.erb | 149 ++++++++++------- .../_set_score_rule_pro_anon.html.erb | 75 ++++++--- .../homework_common/score_rule_set.js.erb | 8 +- .../20170105024224_add_ta_mode_to_homework.rb | 5 + public/stylesheets/css/common.css | 3 + 8 files changed, 319 insertions(+), 161 deletions(-) create mode 100644 db/migrate/20170105024224_add_ta_mode_to_homework.rb diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb index 92858d45b..8b2cdad2f 100644 --- a/app/controllers/student_work_controller.rb +++ b/app/controllers/student_work_controller.rb @@ -868,8 +868,12 @@ class StudentWorkController < ApplicationController end when 2 #教辅评分 教辅评分显示平均分 #@work.teaching_asistant_score = @work.student_works_scores.where(:reviewer_role => 2).average(:score).try(:round, 2).to_f - ts_score = StudentWorksScore.find_by_sql("SELECT AVG(score) AS score FROM (SELECT * FROM (SELECT * FROM student_works_scores WHERE student_work_id = #{@work.id} AND reviewer_role = 2 AND score IS NOT NULL ORDER BY created_at DESC) AS t GROUP BY user_id) AS a") - @work.teaching_asistant_score = ts_score.first.score.nil? ? nil : ts_score.first.score.try(:round, 2).to_f + if @homework.homework_detail_manual.ta_mode == 1 + ts_score = StudentWorksScore.find_by_sql("SELECT AVG(score) AS score FROM (SELECT * FROM (SELECT * FROM student_works_scores WHERE student_work_id = #{@work.id} AND reviewer_role = 2 AND score IS NOT NULL ORDER BY created_at DESC) AS t GROUP BY user_id) AS a") + @work.teaching_asistant_score = ts_score.first.score.nil? ? nil : ts_score.first.score.try(:round, 2).to_f + else + @work.teaching_asistant_score = @new_score.score + end if @is_group_leader && params[:same_score] add_score_to_member @work, @homework, @new_score end @@ -1072,6 +1076,24 @@ class StudentWorkController < ApplicationController homework_detail_manual.save if homework_detail_manual end + if params[:ta_mode] && homework_detail_manual.ta_mode.to_i != params[:ta_mode].to_i + homework_detail_manual.ta_mode = params[:ta_mode].to_i + homework_detail_manual.save + if homework_detail_manual.ta_mode == 1 + @homework.student_works.where("work_status != 0").each do |student_work| + ts_score = StudentWorksScore.find_by_sql("SELECT AVG(score) AS score FROM (SELECT * FROM (SELECT * FROM student_works_scores WHERE student_work_id = #{student_work.id} AND reviewer_role = 2 AND score IS NOT NULL ORDER BY created_at DESC) AS t GROUP BY user_id) AS a") + student_work.teaching_asistant_score = ts_score.first.score.nil? ? nil : ts_score.first.score.try(:round, 2).to_f + student_work.save + end + else + @homework.student_works.where("work_status != 0").each do |student_work| + ts_score = StudentWorksScore.where("student_work_id = #{student_work.id} AND reviewer_role = 2 AND score IS NOT NULL").order("created_at DESC") + student_work.teaching_asistant_score = ts_score.first.nil? ? nil : ts_score.first.score + student_work.save + end + end + end + teacher_priority = params[:teacher_priority].to_i if homework_detail_manual.ta_proportion.to_s != params[:ta_proportion].to_s || @homework.teacher_priority.to_s != teacher_priority.to_s || (homework_detail_programing && homework_detail_programing.ta_proportion.to_s != params[:sy_proportion].to_s) homework_detail_manual.ta_proportion = params[:ta_proportion] diff --git a/app/views/homework_common/_set_score_rule_non_pro.html.erb b/app/views/homework_common/_set_score_rule_non_pro.html.erb index c3d798404..1ffe0d13f 100644 --- a/app/views/homework_common/_set_score_rule_non_pro.html.erb +++ b/app/views/homework_common/_set_score_rule_non_pro.html.erb @@ -1,4 +1,4 @@ -
+

评分设置

@@ -8,40 +8,109 @@
    -
  • +
  • - +
  • -
  • + +
    + + +
  • - +
  • -
  • + +
  • value="<%=homework.homework_detail_manual.no_anon_penalty%>"/>
  • -
  • + +
    + + +
    • -
    • +
    • -
    • + +
      +
    • +
  • -
  • +
  • -
  • + +
    + + +
  • + + + +
  • + +
    +
  • + + + +
  • + +
    + + +
  • -
  • + +
    • @@ -57,54 +126,17 @@ 学生匿评
    +
-
    - - - - - - - - -
- 确定 + 确定 取消
@@ -122,6 +154,11 @@ <% else %> $("#other_score").attr("checked", "checked"); <% end %> + <% if homework.homework_detail_manual.ta_mode == 1 %> + $("#ta_normal_mode").attr("checked", "checked"); + <% else %> + $("#ta_re_mode").attr("checked", "checked"); + <% end %> $("#teacher_score").change(function(){ if($("#teacher_score").attr("checked")){ $("#late_penalty_num").val("0"); diff --git a/app/views/homework_common/_set_score_rule_none_pro_anon.html.erb b/app/views/homework_common/_set_score_rule_none_pro_anon.html.erb index ce4928a89..abc15d445 100644 --- a/app/views/homework_common/_set_score_rule_none_pro_anon.html.erb +++ b/app/views/homework_common/_set_score_rule_none_pro_anon.html.erb @@ -1,4 +1,4 @@ -
+

评分设置

@@ -8,40 +8,62 @@
    -
  • +
  • -
  • - - - -
  • -
  • - - - -
  • -
-
    -
- 确定 + 确定 取消
@@ -55,6 +77,11 @@ <% else %> $("#other_score").attr("checked", "checked"); <% end %> + <% if homework.homework_detail_manual.ta_mode == 1 %> + $("#ta_normal_mode").attr("checked", "checked"); + <% else %> + $("#ta_re_mode").attr("checked", "checked"); + <% end %> $("#teacher_score").change(function(){ if($("#teacher_score").attr("checked")){ $("#late_penalty_num").val("0"); diff --git a/app/views/homework_common/_set_score_rule_pro.html.erb b/app/views/homework_common/_set_score_rule_pro.html.erb index 22fdd6d26..c7235d581 100644 --- a/app/views/homework_common/_set_score_rule_pro.html.erb +++ b/app/views/homework_common/_set_score_rule_pro.html.erb @@ -1,4 +1,4 @@ -
+

评分设置

@@ -8,40 +8,109 @@
    -
  • +
  • -
  • + +
    + + +
  • -
  • + +
  • value="<%=homework.homework_detail_manual.no_anon_penalty%>"/>
  • -
  • + +
    + + +
    • -
    • +
    • -
    • + +
      +
    • +
  • -
  • +
  • -
  • + +
    + + +
  • + + + +
  • + +
    +
  • + + + +
  • + +
    + + +
  • -
  • + +
    • @@ -61,55 +130,18 @@ 学生匿评
    +
-
    - - - - - - - - -
- 确定 + 确定 取消
@@ -132,6 +164,11 @@ <% else %> $("#other_score").attr("checked", "checked"); <% end %> + <% if homework.homework_detail_manual.ta_mode == 1 %> + $("#ta_normal_mode").attr("checked", "checked"); + <% else %> + $("#ta_re_mode").attr("checked", "checked"); + <% end %> $("#teacher_score").change(function(){ if($("#teacher_score").attr("checked")){ $("#late_penalty_num").val("0"); diff --git a/app/views/homework_common/_set_score_rule_pro_anon.html.erb b/app/views/homework_common/_set_score_rule_pro_anon.html.erb index 3f8abad87..9c92f5b5e 100644 --- a/app/views/homework_common/_set_score_rule_pro_anon.html.erb +++ b/app/views/homework_common/_set_score_rule_pro_anon.html.erb @@ -1,4 +1,4 @@ -
+

评分设置

@@ -8,16 +8,50 @@
    -
  • +
  • -
  • + +
    + +
  • + + + +
  • + +
  • + + + +
  • + +
    + +
  • -
  • + +
    • @@ -32,29 +66,17 @@ 助教评分
    +
-
    - - - -
- 确定 + 确定 取消
@@ -77,6 +99,11 @@ <% else %> $("#other_score").attr("checked", "checked"); <% end %> + <% if homework.homework_detail_manual.ta_mode == 1 %> + $("#ta_normal_mode").attr("checked", "checked"); + <% else %> + $("#ta_re_mode").attr("checked", "checked"); + <% end %> $("#teacher_score").change(function(){ if($("#teacher_score").attr("checked")){ $("#late_penalty_num").val("0"); diff --git a/app/views/homework_common/score_rule_set.js.erb b/app/views/homework_common/score_rule_set.js.erb index 844e072d8..63819d856 100644 --- a/app/views/homework_common/score_rule_set.js.erb +++ b/app/views/homework_common/score_rule_set.js.erb @@ -1,18 +1,18 @@ <% if @homework.homework_type == 2 %> <% if @homework.anonymous_comment == 0 %> var htmlvalue = "<%= escape_javascript(render :partial => 'homework_common/set_score_rule_pro',:locals => {:homework => @homework, :student_path => false, :user_activity_id => @user_activity_id,:hw_status => @hw_status}) %>"; - pop_box_new(htmlvalue, 600, 580); + pop_box_new(htmlvalue, 630, 758); <% else %> var htmlvalue = "<%= escape_javascript(render :partial => 'homework_common/set_score_rule_pro_anon',:locals => {:homework => @homework, :student_path => false, :user_activity_id => @user_activity_id,:hw_status => @hw_status}) %>"; - pop_box_new(htmlvalue, 500, 285); + pop_box_new(htmlvalue, 530, 404); <% end %> <% else %> <% if @homework.anonymous_comment == 0 %> var htmlvalue = "<%= escape_javascript(render :partial => 'homework_common/set_score_rule_non_pro',:locals => {:homework => @homework, :student_path => false, :user_activity_id => @user_activity_id,:hw_status => @hw_status}) %>"; - pop_box_new(htmlvalue, 600, 550); + pop_box_new(htmlvalue, 630, 758); <% else %> var htmlvalue = "<%= escape_javascript(render :partial => 'homework_common/set_score_rule_none_pro_anon',:locals => {:homework => @homework, :student_path => false, :user_activity_id => @user_activity_id,:hw_status => @hw_status}) %>"; - pop_box_new(htmlvalue, 500, 225); + pop_box_new(htmlvalue, 530, 332); <% end %> <% end %> function set_score_rule_submit() { diff --git a/db/migrate/20170105024224_add_ta_mode_to_homework.rb b/db/migrate/20170105024224_add_ta_mode_to_homework.rb new file mode 100644 index 000000000..3d8cc27cb --- /dev/null +++ b/db/migrate/20170105024224_add_ta_mode_to_homework.rb @@ -0,0 +1,5 @@ +class AddTaModeToHomework < ActiveRecord::Migration + def change + add_column :homework_detail_manuals, :ta_mode, :integer, :default => 1 + end +end diff --git a/public/stylesheets/css/common.css b/public/stylesheets/css/common.css index 9c9f0deeb..c57424f9f 100644 --- a/public/stylesheets/css/common.css +++ b/public/stylesheets/css/common.css @@ -878,3 +878,6 @@ input.btn-blue{background: #3b94d6; color: #fff; cursor:pointer;} input:hover.btn-blue{background: #2788d0; color: #fff;} input.btn-grey{background: #d9d9d9; color: #656565; cursor:default;} input.btn-grey:hover{background: #717171; color: #fff; cursor:default;} + +.separator_short{margin-top: 5px; margin-bottom: 5px; margin-left: 37px; width: 433px; display: block; border-bottom: 1px solid #d9d9d9;} +.separator_long{margin-top: 5px; margin-bottom: 5px; margin-left: 37px; width: 522px; display: block; border-bottom: 1px solid #d9d9d9;}