From 70f14f851d7a7b13d2053df2071e3c1772ec4e9c Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Thu, 28 May 2015 15:54:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E4=BD=9C=E4=B8=9A=E4=B8=8D?= =?UTF-8?q?=E5=90=8C=E7=B1=BB=E5=9E=8B=E3=80=81=E4=B8=8D=E5=90=8C=E9=98=B6?= =?UTF-8?q?=E6=AE=B5=E3=80=81=E5=BD=93=E5=89=8D=E7=94=A8=E6=88=B7=E8=BA=AB?= =?UTF-8?q?=E4=BB=BD=E5=AF=B9=E4=BD=9C=E5=93=81=E5=88=97=E8=A1=A8=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E8=BF=87=E6=BB=A4=EF=BC=8C=E4=BB=A5=E5=8F=8A=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E7=95=8C=E9=9D=A2=E5=8A=9F=E8=83=BD=E7=9A=84=E8=BF=87?= =?UTF-8?q?=E6=BB=A4=20=E9=83=A8=E5=88=86=E7=95=8C=E9=9D=A2=E6=A0=B7?= =?UTF-8?q?=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 | 14 ++++++++- app/helpers/application_helper.rb | 35 ++++++++++++++++++++++ app/helpers/homework_common_helper.rb | 35 ---------------------- app/views/student_work/_add_score.html.erb | 10 ++++--- app/views/student_work/_show.html.erb | 29 ++++++++++++++---- app/views/student_work/add_score.js.erb | 1 + app/views/student_work/index.html.erb | 35 ++++++++++++++-------- public/stylesheets/courses.css | 8 ++--- 8 files changed, 105 insertions(+), 62 deletions(-) diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb index 4ef64da90..78ab33477 100644 --- a/app/controllers/student_work_controller.rb +++ b/app/controllers/student_work_controller.rb @@ -8,7 +8,18 @@ class StudentWorkController < ApplicationController def index @order,@b_sort,@name = params[:order] || "final_score",params[:sort] || "desc",params[:name] || "" - @stundet_works = search_homework_member @homework.student_works.order("#{@order} #{@b_sort}"),@name + @is_teacher = User.current.allowed_to?(:as_teacher,@course) + #老师 || 非匿评作业 || 匿评结束 显示所有的作品 + if @is_teacher || @homework.homework_type != 1 || @homework.homework_detail_manual.comment_status == 3 + @stundet_works = search_homework_member @homework.student_works.order("#{@order} #{@b_sort}"),@name + else #学生 + if @homework.homework_detail_manual.comment_status == 1 #未开启匿评,只显示我的作品 + @stundet_works = @homework.student_works.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} + end + end @homework_commons = @course.homework_commons.order("created_at desc") @score = @b_sort == "desc" ? "asc" : "desc" respond_to do |format| @@ -70,6 +81,7 @@ class StudentWorkController < ApplicationController def show @score = student_work_score @work,User.current + @is_teacher = User.current.allowed_to?(:as_teacher,@course) respond_to do |format| format.js end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index d05926979..3d178e28e 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -2291,4 +2291,39 @@ module ApplicationHelper end link end + #学生根据传入作业确定显示为编辑作品还是新建作品 + def student_new_homework homework + work = cur_user_works_for_homework homework + if work.nil? + link_to l(:label_commit_homework), new_student_work_path(:homework => homework.id),:class => 'fr mr10 work_edit' + else + if homework.homework_type == 1 && homework.homework_detail_manual && homework.homework_detail_manual.comment_status != 1 #匿评作业,且作业状态不是在开启匿评之前 + "#{l(:label_edit_homework)}".html_safe + else + link_to l(:label_edit_homework), edit_student_work_path(work.id),:class => 'fr mr10 work_edit' + end + end + end + + def student_anonymous_comment homework + if homework.homework_type == 1 && homework.homework_detail_manual + case homework.homework_detail_manual.comment_status + when 1 + "未开启匿评".html_safe + when 2 + "正在匿评中".html_safe + when 3 + "匿评已结束".html_safe + end + elsif homework.homework_type == 0 + "未启用匿评".html_safe + elsif homework.homework_type == 2 + "编程作业".html_safe + end + end + + #获取当前用户在指定作业下提交的作业的集合 + def cur_user_works_for_homework homework + homework.student_works.where("user_id = ?",User.current).first + end end diff --git a/app/helpers/homework_common_helper.rb b/app/helpers/homework_common_helper.rb index f90e14610..5399fd5bf 100644 --- a/app/helpers/homework_common_helper.rb +++ b/app/helpers/homework_common_helper.rb @@ -1,40 +1,5 @@ # encoding: utf-8 module HomeworkCommonHelper - def student_new_homework homework - work = cur_user_works_for_homework homework - if work.nil? - link_to l(:label_commit_homework), new_student_work_path(:homework => homework.id),:class => 'fr mr10 work_edit' - else - if homework.homework_type == 2 && homework.homework_detail_manual && homework.homework_detail_manual.comment_status != 1 #匿评作业,且作业状态不是在开启匿评之前 - "#{l(:label_edit_homework)}".html_safe - else - link_to l(:label_edit_homework), edit_student_work_path(work.id),:class => 'fr mr10 work_edit' - end - end - end - - def student_anonymous_comment homework - if homework.homework_type == 1 && homework.homework_detail_manual - case homework.homework_detail_manual.comment_status - when 1 - "未开启匿评".html_safe - when 2 - "正在匿评中".html_safe - when 3 - "匿评已结束".html_safe - end - elsif homework.homework_type == 0 - "未启用匿评".html_safe - elsif homework.homework_type == 2 - "编程作业".html_safe - end - end - - #获取当前用户在指定作业下提交的作业的集合 - def cur_user_works_for_homework homework - homework.student_works.where("user_id = ?",User.current).first - end - #迟交扣分下拉框 def late_penalty_option type = [] diff --git a/app/views/student_work/_add_score.html.erb b/app/views/student_work/_add_score.html.erb index a1406902f..e091e507d 100644 --- a/app/views/student_work/_add_score.html.erb +++ b/app/views/student_work/_add_score.html.erb @@ -10,10 +10,12 @@
  • - 批阅结果: -
    - <%= render :partial => 'student_work/student_work_attachment_form', :locals => {:work => work,:score => score} %> -
    + <% if @is_teacher%> + 批阅结果: +
    + <%= render :partial => 'student_work/student_work_attachment_form', :locals => {:work => work,:score => score} %> +
    + <%end%> 提交
  • diff --git a/app/views/student_work/_show.html.erb b/app/views/student_work/_show.html.erb index bce3aa5a0..fd5396b7f 100644 --- a/app/views/student_work/_show.html.erb +++ b/app/views/student_work/_show.html.erb @@ -1,10 +1,26 @@
    -
    +
    <%@work.student_works_scores.order("created_at desc").each do |score|%>
    <%= render :partial => 'student_work_score',:locals => {:score => score}%> diff --git a/app/views/student_work/add_score.js.erb b/app/views/student_work/add_score.js.erb index d5e0f7cd3..cb68155d8 100644 --- a/app/views/student_work/add_score.js.erb +++ b/app/views/student_work/add_score.js.erb @@ -6,6 +6,7 @@ $('#score_<%= @work.id%>').peSlider({range: 'min'}); <% else %> $("#work_score_<%= @score.id%>").html("<%= escape_javascript(render :partial => 'student_work_score', :locals => {:score => @score}) %>"); <% end%> +$("#score_list_<%= @work.id%>").removeAttr("style"); $("#student_work_<%= @work.id%>").replaceWith("<%= escape_javascript(render :partial => 'student_work',:locals => {:student_work => @work}) %>"); $(function(){ diff --git a/app/views/student_work/index.html.erb b/app/views/student_work/index.html.erb index b904e3b68..2a6afca76 100644 --- a/app/views/student_work/index.html.erb +++ b/app/views/student_work/index.html.erb @@ -36,18 +36,22 @@ 所有作品(<%= @stundet_works.count%>) - -
    - <% if @homework.student_works.empty?%> - <%= link_to "附件", "javascript:void(0)", class: "down_btn fr", :onclick => "alert('没有学生提交作业,无法下载附件')" %> - <% else%> - <%= link_to "附件", zipdown_assort_path(obj_class: @homework.class, obj_id: @homework, format: :json), - remote: true, class: "down_btn fr", :id => "download_homework_attachments" %> - <% end%> + <% if @is_teacher || @homework.homework_type != 1 || @homework.homework_detail_manual.comment_status == 3%> + + <% end%> + <% if @is_teacher%> +
    + <% if @homework.student_works.empty?%> + <%= link_to "附件", "javascript:void(0)", class: "down_btn fr", :onclick => "alert('没有学生提交作业,无法下载附件')" %> + <% else%> + <%= link_to "附件", zipdown_assort_path(obj_class: @homework.class, obj_id: @homework, format: :json), + remote: true, class: "down_btn fr", :id => "download_homework_attachments" %> + <% end%> - <%= link_to l(:label_list), student_work_index_path(:homework => @homework.id,:order => @order, :sort => @b_sort, :name => @name, :format => 'xls'),:class=>'down_btn fr'%> - 导出全部: -
    + <%= link_to l(:label_list), student_work_index_path(:homework => @homework.id,:order => @order, :sort => @b_sort, :name => @name, :format => 'xls'),:class=>'down_btn fr'%> + 导出全部: +
    + <% end%>
      @@ -102,8 +106,13 @@

      <%= @homework.name%>

      - <%= homework_anonymous_comment(@homework)%> - <%= link_to(l(:button_edit),edit_homework_common_path(@homework), :class => "fr mr10 work_edit") %> + <% if @is_teacher%> + <%= homework_anonymous_comment(@homework)%> + <%= link_to(l(:button_edit),edit_homework_common_path(@homework), :class => "fr mr10 work_edit") %> + <% else%> + <%= student_anonymous_comment @homework %> + <%= student_new_homework @homework %> + <% end %>
      diff --git a/public/stylesheets/courses.css b/public/stylesheets/courses.css index 9d88470c9..4dc925519 100644 --- a/public/stylesheets/courses.css +++ b/public/stylesheets/courses.css @@ -147,6 +147,7 @@ a:hover.work_edit{color: #fff; background: #64bdd9;} .hovertab a{color:#fff; background-color:#64bdd9; text-decoration:none;} .dis{display:block; } .undis{display:none;} +.c_red{ color:#de030d;} .f_12{ font-size:12px;} .w_40{ width:40px; border:1px solid red;} .dis_ul{ height:70px; border-bottom:1px dashed #d4d4d4; margin-bottom:10px;} @@ -354,7 +355,6 @@ a:hover.st_add{ color:#ff8e15;} .upload_box{ width:430px; margin:15px auto;} a:hover.link_file{ background:url(../images/pic_file.png) 0 -25px no-repeat; color:#3ca5c6;} -.r_txt_tit{max-width:480px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;color:#15bccf; float:left; color:#09658c; font-size:14px;} blockquote {background: #eeeeee;padding: 10px;margin-bottom: 10px;word-break: break-all;word-wrap: break-word;} .respond-form{display: none;margin: auto;clear: both;} @@ -505,7 +505,7 @@ a.member_search_edit {width: 43px;background: #15bccf;color: #fff;text-align: ce a.link_file{ background:url(../images/pic_file.png) 0 2px no-repeat; padding-left:20px; color:#64bdd9; } a:hover.link_file{ background:url(../images/pic_file.png) 0 -25px no-repeat; color:#3ca5c6;} -.r_txt_tit{width:510px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;color:#15bccf; float:left; color:#09658c; font-size:14px;} +.r_txt_tit{max-width:450px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;color:#15bccf; float:left; color:#09658c; font-size:14px;} /*日历选择图*/ img.ui-datepicker-trigger { @@ -637,8 +637,8 @@ a:hover.icon_add{background:url(images/icons.png) -20px -310px no-repeat;} .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: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;} +a.hwork_center{ display:block; width:60px; text-align:center; margin-right:5px;overflow: hidden;} +a.hwork_name{ display:block;width:65px; text-align:center; margin-right:10px;overflow: hidden;} .show_hwork{ border:2px solid #64bdd9; width:646px; padding:10px; color:#666666; padding-bottom:0px; } .show_hwork ul li{ margin-bottom:5px;} .show_hwork_arrow{ position:relative; top:2px; left:25px;background:url(../images/course/arrow_up.jpg) 0 0 no-repeat; width:20px; height:11px;}