diff --git a/app/controllers/homework_common_controller.rb b/app/controllers/homework_common_controller.rb
index 9d5768948..41d302829 100644
--- a/app/controllers/homework_common_controller.rb
+++ b/app/controllers/homework_common_controller.rb
@@ -150,6 +150,10 @@ class HomeworkCommonController < ApplicationController
@homework.end_time = params[:homework_common][:end_time] || Time.now
@homework.course_id = params[:course_id]
+ homework_detail_manual = @homework.homework_detail_manual || HomeworkDetailManual.new
+ homework_detail_manual.evaluation_start = params[:evaluation_start].blank? ? @homework.end_time + 7 : params[:evaluation_start]
+ homework_detail_manual.evaluation_end = params[:evaluation_end].blank? ? homework_detail_manual.evaluation_start + 7 : params[:evaluation_end]
+
@homework.save_attachments(params[:attachments])
render_attachment_warning_if_needed(@homework)
diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb
index 251fd80c4..90a0f3ed6 100644
--- a/app/controllers/student_work_controller.rb
+++ b/app/controllers/student_work_controller.rb
@@ -77,28 +77,60 @@ class StudentWorkController < ApplicationController
@is_teacher = User.current.allowed_to?(:as_teacher,@course) || User.current.admin?
@is_evaluation = @homework.homework_detail_manual.comment_status == 2 && !@is_teacher #是不是匿评
@show_all = false
- if @is_teacher #老师 || 超级管理员 显示所有列表
- @stundet_works = search_homework_member @homework.student_works.select("student_works.*,IF(final_score is null,null,final_score - absence_penalty - late_penalty) as score").order("#{@order} #{@b_sort}"),@name
- @show_all = true
- elsif @homework.homework_detail_manual.comment_status == 1 #学生 && 未开启匿评 只看到自己的
- @stundet_works = @homework.student_works.select("student_works.*,IF(final_score is null,null,final_score - absence_penalty - late_penalty) as score").where(:user_id => User.current.id)
- elsif @homework.homework_detail_manual.comment_status == 2 #学生 && 开启匿评 看到匿评列表
- my_work = @homework.student_works.where(:user_id => User.current.id)
- @stundet_works = my_work + User.current.student_works_evaluation_distributions.map(&:student_work).select { |work| work.homework_common_id == @homework.id}
- elsif @homework.homework_detail_manual.comment_status == 3 #学生 && 关闭匿评 未提交作品之前列表为空,提交了作品看到所有的
- my_work = @homework.student_works.select("student_works.*,IF(final_score is null,null,final_score - absence_penalty - late_penalty) as score").where(:user_id => User.current.id)
- if my_work.empty?
- @stundet_works = []
+
+ course_group = CourseGroup.find_by_id(@group) if @group
+ if course_group
+ group_students = course_group.users
+ if group_students.empty?
+ student_in_group = '(0)'
else
- @stundet_works = search_homework_member @homework.student_works.select("student_works.*,IF(final_score is null,null,final_score - absence_penalty - late_penalty) as score").order("#{@order} #{@b_sort}"),@name
+ student_in_group = '(' + group_students.map{|user| user.id}.join(',') + ')'
+ end
+ if @is_teacher #老师 || 超级管理员 显示所有列表
+ @stundet_works = search_homework_member @homework.student_works.select("student_works.*,IF(final_score is null,null,final_score - absence_penalty - late_penalty) as score").joins(:user).where("users.id in #{student_in_group}").order("#{@order} #{@b_sort}"),@name
@show_all = true
+ elsif @homework.homework_detail_manual.comment_status == 1 #学生 && 未开启匿评 只看到自己的
+ @stundet_works = @homework.student_works.select("student_works.*,IF(final_score is null,null,final_score - absence_penalty - late_penalty) as score").where(:user_id => User.current.id)
+ elsif @homework.homework_detail_manual.comment_status == 2 #学生 && 开启匿评 看到匿评列表
+ my_work = @homework.student_works.where(:user_id => User.current.id)
+ @stundet_works = my_work + User.current.student_works_evaluation_distributions.map(&:student_work).select { |work| work.homework_common_id == @homework.id}
+ elsif @homework.homework_detail_manual.comment_status == 3 #学生 && 关闭匿评 未提交作品之前列表为空,提交了作品看到所有的
+ my_work = @homework.student_works.select("student_works.*,IF(final_score is null,null,final_score - absence_penalty - late_penalty) as score").where(:user_id => User.current.id)
+ if my_work.empty?
+ @stundet_works = []
+ else
+ @stundet_works = search_homework_member @homework.student_works.select("student_works.*,IF(final_score is null,null,final_score - absence_penalty - late_penalty) as score").joins(:user).where("users.id in #{student_in_group}").order("#{@order} #{@b_sort}"),@name
+ @show_all = true
+ end
+ else
+ @stundet_works = []
end
else
- @stundet_works = []
+ if @is_teacher #老师 || 超级管理员 显示所有列表
+ @stundet_works = search_homework_member @homework.student_works.select("student_works.*,IF(final_score is null,null,final_score - absence_penalty - late_penalty) as score").order("#{@order} #{@b_sort}"),@name
+ @show_all = true
+ elsif @homework.homework_detail_manual.comment_status == 1 #学生 && 未开启匿评 只看到自己的
+ @stundet_works = @homework.student_works.select("student_works.*,IF(final_score is null,null,final_score - absence_penalty - late_penalty) as score").where(:user_id => User.current.id)
+ elsif @homework.homework_detail_manual.comment_status == 2 #学生 && 开启匿评 看到匿评列表
+ my_work = @homework.student_works.where(:user_id => User.current.id)
+ @stundet_works = my_work + User.current.student_works_evaluation_distributions.map(&:student_work).select { |work| work.homework_common_id == @homework.id}
+ elsif @homework.homework_detail_manual.comment_status == 3 #学生 && 关闭匿评 未提交作品之前列表为空,提交了作品看到所有的
+ my_work = @homework.student_works.select("student_works.*,IF(final_score is null,null,final_score - absence_penalty - late_penalty) as score").where(:user_id => User.current.id)
+ if my_work.empty?
+ @stundet_works = []
+ else
+ @stundet_works = search_homework_member @homework.student_works.select("student_works.*,IF(final_score is null,null,final_score - absence_penalty - late_penalty) as score").order("#{@order} #{@b_sort}"),@name
+ @show_all = true
+ end
+ else
+ @stundet_works = []
+ end
end
+
@score = @b_sort == "desc" ? "asc" : "desc"
respond_to do |format|
+ format.js
format.html
format.xls {
send_data(homework_to_xls(@stundet_works), :type => "text/excel;charset=utf-8; header=present",
diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb
index 0783d1805..76643a099 100644
--- a/app/controllers/users_controller.rb
+++ b/app/controllers/users_controller.rb
@@ -468,8 +468,8 @@ class UsersController < ApplicationController
homework_detail_manual = HomeworkDetailManual.new
homework_detail_manual.ta_proportion = homework.homework_type == 1 ? 0.6 : 0.3
homework_detail_manual.comment_status = 1
- homework_detail_manual.evaluation_start = Time.now
- homework_detail_manual.evaluation_end = Time.now
+ homework_detail_manual.evaluation_start = params[:evaluation_start].blank? ? homework.end_time + 7 : params[:evaluation_start]
+ homework_detail_manual.evaluation_end = params[:evaluation_end].blank? ? homework_detail_manual.evaluation_start + 7 : params[:evaluation_end]
homework_detail_manual.evaluation_num = params[:evaluation_num] || 3
homework_detail_manual.absence_penalty = 5
homework.homework_detail_manual = homework_detail_manual
diff --git a/app/views/student_work/_evaluation_title.html.erb b/app/views/student_work/_evaluation_title.html.erb
index bb1919472..cfd9632c2 100644
--- a/app/views/student_work/_evaluation_title.html.erb
+++ b/app/views/student_work/_evaluation_title.html.erb
@@ -1,8 +1,15 @@
-
- -
- 作品信息
+
+ -
+ 作品名称
+ 姓名
+ 学号
- -
- 我的评分
+
+
-
+ 时间
+
+
+ -
+ 我的评分
\ No newline at end of file
diff --git a/app/views/student_work/_evaluation_un_title.html.erb b/app/views/student_work/_evaluation_un_title.html.erb
index 8ca855e9b..9a21e109b 100644
--- a/app/views/student_work/_evaluation_un_title.html.erb
+++ b/app/views/student_work/_evaluation_un_title.html.erb
@@ -1,37 +1,51 @@
-
- -
- 作品信息
+
+ -
+ 作品名称
+ 姓名
+ 学号
- -
- <%= link_to "教师评分",@show_all ? student_work_index_path(:homework => @homework.id,:order => "teacher_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "c_dark f14 fb fl ml10"%>
+
+
-
+ <%= link_to "时间",@show_all ? student_work_index_path(:homework => @homework.id,:order => "created_at", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "c_dark f14 fb fl ml50" ,:remote => true%>
+ <% if @show_all && @order == "created_at"%>
+ <%= link_to "", student_work_index_path(:homework => @homework.id,:order => "created_at", :sort => @score, :name => @name, :group => @group) ,:class => "#{@score == 'desc' ? 'st_up' : 'st_down'} mt10",:remote => true%>
+ <% end%>
+
+
+ -
+ <%= link_to "教师",@show_all ? student_work_index_path(:homework => @homework.id,:order => "teacher_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "c_dark f14 fb fl ml10" ,:remote => true%>
<% if @show_all && @order == "teacher_score"%>
- <%= link_to "", student_work_index_path(:homework => @homework.id,:order => "teacher_score", :sort => @score, :name => @name, :group => @group) ,:class => "#{@score == 'desc' ? 'st_up' : 'st_down'} mt19"%>
+ <%= link_to "", student_work_index_path(:homework => @homework.id,:order => "teacher_score", :sort => @score, :name => @name, :group => @group) ,:class => "#{@score == 'desc' ? 'st_up' : 'st_down'} mt10" ,:remote => true%>
<% end%>
- -
- <%= link_to "教辅评分",@show_all ? student_work_index_path(:homework => @homework.id,:order => "teaching_asistant_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "c_dark f14 fb fl ml10"%>
+
+
-
+ <%= link_to "教辅",@show_all ? student_work_index_path(:homework => @homework.id,:order => "teaching_asistant_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "c_dark f14 fb fl ml10",:remote => true%>
<% if @show_all && @order == "teaching_asistant_score"%>
- <%= link_to "", student_work_index_path(:homework => @homework.id,:order => "teaching_asistant_score", :sort => @score, :name => @name, :group => @group) ,:class => "#{@score == 'desc' ? 'st_up' : 'st_down'} mt19"%>
+ <%= link_to "", student_work_index_path(:homework => @homework.id,:order => "teaching_asistant_score", :sort => @score, :name => @name, :group => @group) ,:class => "#{@score == 'desc' ? 'st_up' : 'st_down'} mt10",:remote => true%>
<% end%>
+
<% if @homework.homework_type == 2%>
- -
- <%= link_to "系统评分",@show_all ? student_work_index_path(:homework => @homework.id,:order => "system_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "c_dark f14 fb fl ml10"%>
+
-
+ <%= link_to "系统",@show_all ? student_work_index_path(:homework => @homework.id,:order => "system_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "c_dark f14 fb fl ml10",:remote => true%>
<% if @show_all && @order == "system_score"%>
- <%= link_to "", student_work_index_path(:homework => @homework.id,:order => "system_score", :sort => @score, :name => @name, :group => @group) ,:class => "#{@score == 'desc' ? 'st_up' : 'st_down'} mt19"%>
+ <%= link_to "", student_work_index_path(:homework => @homework.id,:order => "system_score", :sort => @score, :name => @name, :group => @group) ,:class => "#{@score == 'desc' ? 'st_up' : 'st_down'} mt10",:remote => true%>
<% end%>
<% end%>
- -
- <%= link_to "匿评",@show_all ? student_work_index_path(:homework => @homework.id,:order => "student_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "c_dark f14 fb fl ml10"%>
+
+
-
+ <%= link_to "匿评",@show_all ? student_work_index_path(:homework => @homework.id,:order => "student_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "c_dark f14 fb fl ml10",:remote => true%>
<% if @show_all && @order == "student_score"%>
- <%= link_to "", student_work_index_path(:homework => @homework.id,:order => "student_score", :sort => @score, :name => @name, :group => @group) ,:class => "#{@score == 'desc' ? 'st_up' : 'st_down'} mt19"%>
+ <%= link_to "", student_work_index_path(:homework => @homework.id,:order => "student_score", :sort => @score, :name => @name, :group => @group) ,:class => "#{@score == 'desc' ? 'st_up' : 'st_down'} mt10",:remote => true%>
<% end%>
- -
- <%= link_to "成绩",@show_all ? student_work_index_path(:homework => @homework.id,:order => "score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "c_dark f14 fb fl ml10"%>
+
+
-
+ <%= link_to "成绩",@show_all ? student_work_index_path(:homework => @homework.id,:order => "score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "c_dark f14 fb fl ml10",:remote => true%>
<% if @show_all && @order == "score"%>
- <%= link_to "", student_work_index_path(:homework => @homework.id,:order => "score", :sort => @score, :name => @name, :group => @group) ,:class => "#{@score == 'desc' ? 'st_up' : 'st_down'} mt19"%>
+ <%= link_to "", student_work_index_path(:homework => @homework.id,:order => "score", :sort => @score, :name => @name, :group => @group) ,:class => "#{@score == 'desc' ? 'st_up' : 'st_down'} mt10",:remote => true%>
<% end%>
\ No newline at end of file
diff --git a/app/views/student_work/_evaluation_un_work.html.erb b/app/views/student_work/_evaluation_un_work.html.erb
index d3bac240d..bc9fe2e00 100644
--- a/app/views/student_work/_evaluation_un_work.html.erb
+++ b/app/views/student_work/_evaluation_un_work.html.erb
@@ -1,46 +1,48 @@
- -
+
-
- -
+
-
+ <%= image_tag(url_to_avatar(student_work.user),width:"40", height: "40") %>
+
+ -
<% student_work_name = student_work.name.nil? || student_work.name.empty? ? student_work.user.show_name + '的作品' : student_work.name%>
- <%= link_to student_work_name, student_work_path(student_work),:remote => true,:title => student_work_name, :class => "linkGrey f14"%>
+
+ <%= link_to student_work_name, student_work_path(student_work),:remote => true,:title => student_work_name, :class => "linkGrey f14 StudentName break_word #{@homework.homework_type == 2 ? '' : 'width165'}"%>
+
-
-
-
- -
- 姓名:<%= student_work.user.show_name%>
+
+ -
+ <%= student_work.user.show_name%>
- -
- 学号:
+
-
<%= student_work.user.user_extensions.nil? ? "--" : student_work.user.user_extensions.student_id%>
- -
- 时间:
- <% if Time.parse(@homework.end_time.to_s).strftime("%Y-%m-%d") < Time.parse(student_work.created_at.to_s).strftime("%Y-%m-%d") %>
- 迟交
- <% else%>
- <%= format_time student_work.created_at%>
- <% end %>
-
- -
+
-
+ <%= Time.parse(format_time(student_work.created_at)).strftime("%m-%d %H:%M")%>
+ <% if Time.parse(@homework.end_time.to_s).strftime("%Y-%m-%d") < Time.parse(student_work.created_at.to_s).strftime("%Y-%m-%d") %>
+ [迟交]
+ <% end %>
+
+ -
<%= student_work.teacher_score.nil? ? "--" : format("%.1f",student_work.teacher_score)%>
- -
+
-
<%= student_work.teaching_asistant_score.nil? ? "--" : format("%.1f",student_work.teaching_asistant_score)%>
<% if @homework.homework_type == 2%>
- -
+
-
<%= student_work.system_score.nil? ? "--" : format("%.1f",student_work.system_score)%>
<% end%>
+
-
<%= student_work.student_score.nil? ? "--" : format("%.1f",student_work.student_score)%>
<% unless student_work.student_score.nil?%>
@@ -73,4 +75,5 @@
<% end%>
-
\ No newline at end of file
+
+
diff --git a/app/views/student_work/_evaluation_work.html.erb b/app/views/student_work/_evaluation_work.html.erb
index f8b9addbd..63cb7ea99 100644
--- a/app/views/student_work/_evaluation_work.html.erb
+++ b/app/views/student_work/_evaluation_work.html.erb
@@ -1,51 +1,62 @@
<% is_my_work = student_work.user == User.current%>
- -
+
-
- -
- <% if is_my_work%>
+ <% if is_my_work%>
+
-
+ <%= image_tag(url_to_avatar(student_work.user),width:"40", height: "40") %>
+
+ -
<% student_work_name = student_work.name.nil? || student_work.name.empty? ? student_work.user.show_name + '的作品' : student_work.name%>
- <%= link_to student_work_name, student_work_path(student_work),:remote => true,:title => student_work_name, :class => "linkGrey f14"%>
- <% else%>
- <%= link_to "匿名的作品", student_work_path(student_work),:remote => true,:title => student_work_name, :class => "linkGrey f14"%>
- <% end%>
-
-
- -
-
- -
- 姓名:
- <% if is_my_work%>
- <%= student_work.user.show_name%>
- <% else%>
- 匿名
- <% end%>
+
+ <%= link_to student_work_name, student_work_path(student_work),:remote => true,:title => student_work_name, :class => "linkGrey f14 StudentName break_word width285"%>
+
- -
- 学号:
- <% if is_my_work%>
-
+
-
+
+ -
+ <%= student_work.user.show_name%>
+
+ -
<%= student_work.user.user_extensions.nil? ? "--" : student_work.user.user_extensions.student_id%>
-
- <% else%>
- --
- <% end%>
+
+
- -
- 时间:
- <% if Time.parse(@homework.end_time.to_s).strftime("%Y-%m-%d") < Time.parse(student_work.created_at.to_s).strftime("%Y-%m-%d") %>
- 迟交
- <% else%>
- <%= format_time student_work.created_at%>
- <% end %>
+ <% else%>
+
-
+ <%= image_tag(url_to_avatar(""),width:"40", height: "40") %>
-
-
+ -
+
+ <%= link_to "匿名的作品", student_work_path(student_work),:remote => true,:title => student_work_name, :class => "linkGrey f14 StudentName break_word width285"%>
+
+
+ -
+
+
+ <% end%>
+
+ -
+ <%= Time.parse(format_time(student_work.created_at)).strftime("%m-%d %H:%M")%>
+ <% if Time.parse(@homework.end_time.to_s).strftime("%Y-%m-%d") < Time.parse(student_work.created_at.to_s).strftime("%Y-%m-%d") %>
+ [迟交]
+ <% end %>
+
+
+
<% my_score = student_work_score(student_work,User.current) %>
- -
+
-
<%= my_score.nil? ? "--" : format("%.1f",my_score.score)%>
-
\ No newline at end of file
+
+
diff --git a/app/views/student_work/_student_work_list.html.erb b/app/views/student_work/_student_work_list.html.erb
new file mode 100644
index 000000000..197fecac9
--- /dev/null
+++ b/app/views/student_work/_student_work_list.html.erb
@@ -0,0 +1,36 @@
+
+
+ 作品
+
+ (<%= @stundet_works.count%>)
+
+
+ <%if @is_teacher || @homework.homework_detail_manual.comment_status == 3%>
+
+ <%= select_tag(:student_work_in_group,options_for_select(course_group_list(@course),@group), {:class => "classSplit"}) unless course_group_list(@course).empty? %>
+ <% end%>
+
+
+
+
+ <% if @is_evaluation && !@stundet_works.empty?%>
+ <%= render :partial => "evaluation_title"%>
+ <% else%>
+ <%= render :partial => "evaluation_un_title"%>
+ <% end%>
+
+
+
+<% @stundet_works.each do |student_work|%>
+ <% if @is_evaluation%>
+ <%= render :partial => "evaluation_work", :locals => {:student_work => student_work}%>
+ <% else%>
+ <%= render :partial => "evaluation_un_work", :locals => {:student_work => student_work}%>
+ <% end%>
+
+
+
+<% end%>
\ No newline at end of file
diff --git a/app/views/student_work/index.html.erb b/app/views/student_work/index.html.erb
index 5398b7084..9c48d310b 100644
--- a/app/views/student_work/index.html.erb
+++ b/app/views/student_work/index.html.erb
@@ -56,7 +56,7 @@