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 @@