From 4783bad9242014971abb6ed091c4ed19df14d01c Mon Sep 17 00:00:00 2001
From: sw <939547590@qq.com>
Date: Wed, 27 May 2015 17:32:14 +0800
Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E6=89=93=E5=88=86=E5=90=8E=E4=BD=9C?=
=?UTF-8?q?=E5=93=81=E7=9A=84=E5=90=84=E9=A1=B9=E5=BE=97=E5=88=86=E6=95=B0?=
=?UTF-8?q?=E6=8D=AE=E5=88=B7=E6=96=B0=202=E3=80=81=E4=BD=9C=E5=93=81?=
=?UTF-8?q?=E5=88=97=E8=A1=A8=E6=A0=B7=E5=BC=8F=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/student_work_controller.rb | 30 ++++++++++++++--
app/views/student_work/_student_work.html.erb | 36 +++++++++++++++++++
app/views/student_work/add_score.js.erb | 2 ++
app/views/student_work/index.html.erb | 36 ++-----------------
.../20150519022200_create_student_works.rb | 8 ++---
public/stylesheets/courses.css | 6 ++--
6 files changed, 76 insertions(+), 42 deletions(-)
create mode 100644 app/views/student_work/_student_work.html.erb
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; }