From ba740a815bf06644c3cc02f47041260273cbb23a Mon Sep 17 00:00:00 2001 From: cxt <853663049@qq.com> Date: Tue, 17 Mar 2020 10:46:09 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=BE=E5=A0=82=E5=88=97=E8=A1=A8=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E7=BB=9F=E8=AE=A1=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/admins/courses_controller.rb | 4 ++-- app/models/course.rb | 4 ++++ app/views/admins/courses/index.xlsx.axlsx | 8 ++++++-- app/views/admins/courses/shared/_list.html.erb | 14 +++++++++----- app/views/admins/courses/shared/_td.html.erb | 6 +++++- 5 files changed, 26 insertions(+), 10 deletions(-) diff --git a/app/controllers/admins/courses_controller.rb b/app/controllers/admins/courses_controller.rb index 518054e12..c1093d9e7 100644 --- a/app/controllers/admins/courses_controller.rb +++ b/app/controllers/admins/courses_controller.rb @@ -7,13 +7,13 @@ class Admins::CoursesController < Admins::BaseController courses = Admins::CourseQuery.call(params) @ended_courses = courses.where(is_end: 1).size @processed_courses = courses.where(is_end: 0).size - @courses = paginate courses.includes(:school, :students, :attachments, :homework_commons, teacher: :user_extension) + @courses = paginate courses.includes(:school, :students, :teacher_course_members, :informs, :course_videos, :attachments, :homework_commons, teacher: :user_extension) respond_to do |format| format.js format.html format.xlsx do - @courses = courses.includes(:school, :students, :attachments, :homework_commons, :course_acts, teacher: :user_extension) + @courses = courses.includes(:school, :students, :teacher_course_members, :informs, :course_videos, :attachments, :homework_commons, :course_activities, teacher: :user_extension) filename = "课堂列表_#{Time.current.strftime('%Y%m%d%H%M%S')}.xlsx" render xlsx: 'index', filename: filename end diff --git a/app/models/course.rb b/app/models/course.rb index a0daaea22..cb8e3560d 100644 --- a/app/models/course.rb +++ b/app/models/course.rb @@ -406,6 +406,10 @@ class Course < ApplicationRecord homework_commons.select{|homework| homework.homework_type == type}.size end + def student_works_count + StudentWork.joins(:homework_common).where(homework_commons: {course_id: id}).where("work_status > 0").size + end + private #创建课程后,给该用户发送消息 diff --git a/app/views/admins/courses/index.xlsx.axlsx b/app/views/admins/courses/index.xlsx.axlsx index 7cab54482..cb8ab0610 100644 --- a/app/views/admins/courses/index.xlsx.axlsx +++ b/app/views/admins/courses/index.xlsx.axlsx @@ -3,17 +3,21 @@ wb = xlsx_package.workbook wb.styles do |s| blue_cell = s.add_style :bg_color => "FAEBDC", :sz => 10,:height => 25,:b => true, :border => { :style => :thin, :color =>"000000" },:alignment => {wrap_text: true,:horizontal => :center,:vertical => :center} wb.add_worksheet(name: "课堂列表") do |sheet| - sheet.add_row %w(ID 课堂名称 成员 资源 普通作业 分组作业 实训作业 试卷 评测次数 私有 状态 单位 创建者 创建时间 动态时间), :height => 25,:style => blue_cell + sheet.add_row %w(ID 课堂名称 老师 学生 资源 公告 视频 普通作业 分组作业 实训作业 作品数 试卷 评测次数 私有 状态 单位 创建者 创建时间 动态时间), :height => 25,:style => blue_cell @courses.each do |course| data = [ course.id, course.name, - course.course_members_count, + course.teacher_course_members.size, + course.students.size, get_attachment_count(course, 0), + course.informs.size, + course.course_videos.size, course.course_homework_count(1), course.course_homework_count(3), course.course_homework_count(4), + course.student_works_count, course.exercises_count, course.evaluate_count, course.is_public == 1 ? "--" : "√", diff --git a/app/views/admins/courses/shared/_list.html.erb b/app/views/admins/courses/shared/_list.html.erb index 4105c8153..47839c549 100644 --- a/app/views/admins/courses/shared/_list.html.erb +++ b/app/views/admins/courses/shared/_list.html.erb @@ -3,18 +3,22 @@ 序号 ID - 课堂名称 - 成员 + 课堂名称 + 老师 + 学生 资源 + 公告 + 视频 普通作业 分组作业 实训作业 + 作品数 试卷 评测次数 私有 - 状态 - 单位 - 创建者 + 状态 + 单位 + 创建者 <%= sort_tag('创建时间', name: 'created_at', path: admins_courses_path) %> 首页 邮件通知 diff --git a/app/views/admins/courses/shared/_td.html.erb b/app/views/admins/courses/shared/_td.html.erb index 7b72179da..397a69aae 100644 --- a/app/views/admins/courses/shared/_td.html.erb +++ b/app/views/admins/courses/shared/_td.html.erb @@ -3,11 +3,15 @@ <%= link_to(course.name, "/classrooms/#{course.id}", target: '_blank') %> -<%= course.course_members_count %> +<%= course.teacher_course_members.size %> +<%= course.students.size %> <%= get_attachment_count(course, 0) %> +<%= course.informs.size %> +<%= course.course_videos.size %> <%= course.course_homework_count("normal") %> <%= course.course_homework_count("group") %> <%= course.course_homework_count("practice") %> +<%= course.student_works_count %> <%= course.exercises_count %> <%= course.evaluate_count %> <%= course.is_public == 1 ? "--" : "√" %>