班级统计中的项目活跃度增加按作业过滤

This commit is contained in:
cxt 2017-02-14 15:07:38 +08:00
parent 649f87a43f
commit 89eab427aa
4 changed files with 53 additions and 12 deletions

View File

@ -1388,11 +1388,19 @@ class CoursesController < ApplicationController
@members = @course.course_homework_statisticss.reorder("#{@type} #{@order}, total_score #{@order}")
elsif params[:tab] == "3"
@homework_id = params[:homework_id] ? params[:homework_id].to_i : 0
@type = params[:type] ? params[:type] : 'project_act_score'
sql = "SELECT (IFNULL(changeset_num, 0)*4 + issue_num*4 + issue_journal_num*1 + attach_num*5 + board_num*2 + board_message_num*1) AS project_act_score,
if @homework_id == 0
sql = "SELECT (IFNULL(changeset_num, 0)*4 + issue_num*4 + issue_journal_num*1 + attach_num*5 + board_num*2 + board_message_num*1) AS project_act_score,
changeset_num, issue_num, issue_journal_num, attach_num, board_num, board_message_num, pss.project_id FROM project_scores pss
JOIN student_work_projects ON student_work_projects.project_id = pss.project_id AND student_work_projects.course_id = #{@course.id}
GROUP BY pss.project_id ORDER BY #{@type} #{@order}, project_act_score #{@order}"
else
sql = "SELECT (IFNULL(changeset_num, 0)*4 + issue_num*4 + issue_journal_num*1 + attach_num*5 + board_num*2 + board_message_num*1) AS project_act_score,
changeset_num, issue_num, issue_journal_num, attach_num, board_num, board_message_num, pss.project_id FROM project_scores pss
JOIN student_work_projects ON student_work_projects.project_id = pss.project_id AND student_work_projects.course_id = #{@course.id} AND student_work_projects.homework_common_id = #{@homework_id}
GROUP BY pss.project_id ORDER BY #{@type} #{@order}, project_act_score #{@order}"
end
@members = ProjectScore.find_by_sql(sql)
end

View File

@ -928,5 +928,11 @@ module CoursesHelper
result = !m_roles.blank?
result
end
#获取该班级下已关联项目的分组作业
def select_group_homeworks course
student_work_pros = course.student_work_projects.where("project_id != -1 && project_id != 0")
homeworks = @course.homework_commons.where(:id => student_work_pros.map(&:homework_common_id))
end
end

View File

@ -42,14 +42,17 @@
</div>
<div class=" clear ml10 mr10" >
<!--<div class="mb10 clear">-->
<!--<label class=" fl mt5 c_grey02">&nbsp;选择作业&nbsp;&nbsp;:&nbsp;</label>-->
<!--<select class=" fl newupload_select w150" style="width:150px; height:30px; background:#fff;">-->
<!--<option>全部</option>-->
<!--<option>第一作业</option>-->
<!--<option>第二次作业</option>-->
<!--</select>-->
<!--</div>-->
<div class="mb10 clear">
<label class=" fl mt5 c_grey02">&nbsp;选择作业&nbsp;&nbsp;:&nbsp;</label>
<% homeworks = select_group_homeworks @course %>
<% is_teacher = User.current.allowed_to?(:as_teacher,@course) || User.current.admin? %>
<select id="homework_select" class=" fl newupload_select w150" onchange="select_homework_projects();" style="width:150px; height:30px; background:#fff;">
<option value="0">全部</option>
<% homeworks.each do |homework| %>
<option value="<%= homework.id %>">作业<%= (get_hw_index(homework, is_teacher) + 1)%><%= homework.name %></option>
<% end %>
</select>
</div>
<div id="project_table_<%=@course.id %>">
<% if @tab == 3 %>
@ -71,6 +74,9 @@
g('game-setting-content-<%= @tab %>').className='dis';
g('game-setting-tab-nav-<%= @tab %>').className='game-setting-nav-hover';
<% end %>
<% if @homework_id != 0 %>
$("#homework_select option[value='<%= @homework_id %>']").attr("selected",true);
<% end %>
});
function g(o){
@ -83,6 +89,13 @@
}
g('game-setting-content-'+n).className='dis';
g('game-setting-tab-nav-'+n).className='game-setting-nav-hover';
$.get('<%= course_statistics_course_path() %>'+'?tab='+n);
if(n == 3){
$("#homework_select option[value='0']").attr("selected",true);
}
$.get('<%= course_statistics_course_path(@course) %>'+'?tab='+n);
}
function select_homework_projects(){
$.get('<%= course_statistics_course_path(@course) %>'+'?tab=3&homework_id='+$("#homework_select").val());
}
</script>

View File

@ -15,6 +15,7 @@
$("#student_work_tab2").click();
<% elsif @tab == 3 %>
$("#student_work_tab3").click();
$("#project_activities").show();
<% end %>
sd_create_editor_from_data(<%= @homework.id %>, null, "100%", "<%= @homework.class.to_s %>");
});
@ -26,6 +27,11 @@
}
$('#student_work_tab'+n).addClass('selected');
$('#student_work_con'+n).removeClass('undis');
if (n == 3){
$("#project_activities").show();
} else{
$("#project_activities").hide();
}
}
$("#moreProject_<%=@homework.id %>").click(function(){
@ -160,11 +166,19 @@
<li onclick="HoverLi(3);" id="student_work_tab3">
<a href="javascript:void(0);" class="fontGrey3">关联项目列表</a>
</li>
<li style="width:415px;">&nbsp;</li>
<% if !@homework.student_work_projects.empty? %>
<li style="width:415px;">&nbsp;
<%= link_to '项目活跃度', course_statistics_course_path(@homework.course, :tab => 3, :homework_id => @homework.id),
:id => 'project_activities', :class => 'fr fontBlue2 none', :style => 'font-weight: normal;', :target => '_blank' %>
</li>
<% else %>
<li style="width:415px;">&nbsp;</li>
<% end %>
<% else %>
<li style="width:515px;">&nbsp;</li>
<% end %>
</ul>
<div class="cl"></div>
<div id="student_work_con1">
<div class="homepagePostBrief" id="homework_post_brief">
@ -184,7 +198,7 @@
</div>
</div>
<% if @homework.homework_type == 3 && @homework.homework_detail_group.base_on_project == 1 %>
<% if is_group_project_homework %>
<div class="undis" id="student_work_con3">
<% student_work_ids = @homework.student_works.has_committed.blank? ? "(-1)" : "(" + @homework.student_works.has_committed.map{|st| st.id}.join(",") + ")" %>
<% student_work_projects = @homework.student_work_projects.where("student_work_id in #{student_work_ids} or student_work_id is null") %>