diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb index 66ccfc8c0..51f9a5856 100644 --- a/app/controllers/student_work_controller.rb +++ b/app/controllers/student_work_controller.rb @@ -94,8 +94,34 @@ class StudentWorkController < ApplicationController render_attachment_warning_if_needed(@score) if @score.save - respond_to do |format| - format.js + case @score.reviewer_role + when 1 #教师评分:最后一个教师评分为最终评分 + @work.teacher_score = @score.score + @work.final_score = @score.score + when 2 #教辅评分 教辅评分显示平均分 + @work.teaching_asistant_score = @work.student_works_scores.where(:reviewer_role => 2).average(:score).try(:round, 2).to_f + if @work.teacher_score.nil? + if @work.student_score.nil? + @work.final_score = @work.teaching_asistant_score + else + @work.final_score = format("%.2f",@work.teaching_asistant_score * @homework.homework_detail_manual.ta_proportion + @work.student_score * (1 - @homework.homework_detail_manual.ta_proportion)) + end + end + when 3 #学生评分 学生评分显示平均分 + @work.student_score = @work.student_works_scores.where(:reviewer_role => 3).average(:score).try(:round, 2).to_f + if @work.teacher_score.nil? + if @work.teaching_asistant_score.nil? + @work.final_score = @work.student_score + else + @work.final_score = format("%.2f",@work.teaching_asistant_score * @homework.homework_detail_manual.ta_proportion + @work.student_score * (1 - @homework.homework_detail_manual.ta_proportion)) + end + end + end + + if @work.save + respond_to do |format| + format.js + end end end end diff --git a/app/views/student_work/_student_work.html.erb b/app/views/student_work/_student_work.html.erb new file mode 100644 index 000000000..7e01af5b6 --- /dev/null +++ b/app/views/student_work/_student_work.html.erb @@ -0,0 +1,36 @@ + + \ No newline at end of file diff --git a/app/views/student_work/add_score.js.erb b/app/views/student_work/add_score.js.erb index 22f31a6c3..b7b59c075 100644 --- a/app/views/student_work/add_score.js.erb +++ b/app/views/student_work/add_score.js.erb @@ -6,3 +6,5 @@ $('#score_<%= @work.id%>').peSlider({range: 'min'}); <% else %> $("#work_score_<%= @score.id%>").html("<%= escape_javascript(render :partial => 'student_work_score', :locals => {:score => @score}) %>"); <% end%> + +$("#student_work_<%= @work.id%>").replaceWith("<%= escape_javascript(render :partial => 'student_work',:locals => {:student_work => @work}) %>"); diff --git a/app/views/student_work/index.html.erb b/app/views/student_work/index.html.erb index 2a7396ae2..8ec8c2b76 100644 --- a/app/views/student_work/index.html.erb +++ b/app/views/student_work/index.html.erb @@ -63,11 +63,11 @@ 教辅评分 -
  • +
  • 匿评
  • -
  • +
  • 成绩
  • @@ -75,37 +75,7 @@
    <% @stundet_works.each do |student_work|%> - - + <%= render :partial => 'student_work',:locals => {:student_work => student_work}%>
    <% end%> diff --git a/db/migrate/20150519022200_create_student_works.rb b/db/migrate/20150519022200_create_student_works.rb index adcc21b0b..4ae0449e0 100644 --- a/db/migrate/20150519022200_create_student_works.rb +++ b/db/migrate/20150519022200_create_student_works.rb @@ -5,10 +5,10 @@ class CreateStudentWorks < ActiveRecord::Migration t.text :description t.integer :homework_common_id t.integer :user_id - t.float :final_score, default: 0 - t.float :teacher_score, default: 0 - t.float :student_score, default: 0 - t.float :teaching_asistant_score, default: 0 + t.float :final_score + t.float :teacher_score + t.float :student_score + t.float :teaching_asistant_score t.integer :project_id, default: 0 t.timestamps diff --git a/public/stylesheets/courses.css b/public/stylesheets/courses.css index f32387c19..875c6ff12 100644 --- a/public/stylesheets/courses.css +++ b/public/stylesheets/courses.css @@ -634,10 +634,10 @@ a:hover.icon_add{background:url(images/icons.png) -20px -310px no-repeat;} .w300{ width:300px;} .w80{ width:80px;} .t_c{ text-align:center;} -.hwork_tit{ width:295px; float:left; } -.hwork_tit a{ width:285px; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis; } +.hwork_tit{ width:240px; float:left; } +.hwork_tit a{ width:255px; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis; } .hwork_code{ width:60px; text-align:center; margin-right:15px;} -.hwork_code02{ width:32px; text-align:center; margin-right:10px;} +.hwork_code02{ width:60px; text-align:center; margin-right:10px;} a.hwork_center{ display:block; width:60px; text-align:center; margin-right:5px;} a.hwork_name{ display:block;width:65px; text-align:center; margin-right:10px;} .show_hwork{ border:2px solid #64bdd9; width:646px; padding:10px; color:#666666; padding-bottom:0px; }