From b9eb293006ee3837024d2fb52d5308bcbe1ad36a Mon Sep 17 00:00:00 2001
From: cxt <853663049@qq.com>
Date: Wed, 18 Dec 2019 14:10:30 +0800
Subject: [PATCH 1/3] =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E7=9A=84=E5=AF=BC?=
=?UTF-8?q?=E5=87=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/helpers/export_helper.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/helpers/export_helper.rb b/app/helpers/export_helper.rb
index 47d3bd7b9..ca76ee953 100644
--- a/app/helpers/export_helper.rb
+++ b/app/helpers/export_helper.rb
@@ -483,7 +483,7 @@ module ExportHelper
w_14 = nil
end
w_15 = w.work_score.nil? ? "--" : w.work_score.round(1)
- w_16 = w.update_time ? format_time(w.update_time) : "--" "更新时间"
+ w_16 = w.update_time ? format_time(w.update_time) : "--"
myshixun_complete = myshixun && myshixun.status == 1
w_17 = myshixun_complete && w.cost_time ? (game_spend_time w.cost_time) : "未完成"
teacher_comment = w.shixun_work_comments.select{|comment| comment.challenge_id == 0}.first
From 1f507498af2384a563ec9742cad25ca6db50522a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com>
Date: Wed, 18 Dec 2019 16:50:29 +0800
Subject: [PATCH 2/3] =?UTF-8?q?=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
public/react/src/modules/courses/poll/PollNew.js | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/public/react/src/modules/courses/poll/PollNew.js b/public/react/src/modules/courses/poll/PollNew.js
index 8740a9bbf..3b50695e8 100644
--- a/public/react/src/modules/courses/poll/PollNew.js
+++ b/public/react/src/modules/courses/poll/PollNew.js
@@ -866,6 +866,7 @@ class PollNew extends Component {
let newarr = [...arr];
newarr.splice(indexo, 1);
if(bool === true) {
+ console.log("shangchu1");
this.setState({
adddom: newarr,
q_countst: 0,
@@ -878,6 +879,8 @@ class PollNew extends Component {
})
}else{
+ console.log("shangchu2");
+
this.setState({
adddom: newarr,
q_countst: 0,
@@ -1416,6 +1419,7 @@ class PollNew extends Component {
}
if(bool === true){
+ console.log("tianjiadao1");
this.setState({
q_countst: 1,
bindingid:undefined,
@@ -1423,6 +1427,7 @@ class PollNew extends Component {
newoption: false,
})
}else {
+ console.log("tianjiadao2");
this.setState({
q_countst: 1,
Newdisplay:false,
@@ -2018,6 +2023,7 @@ class PollNew extends Component {
if (result.data.status === 0) {
this.props.showNotification(`已完成`);
thiss.thisinitializationdatanew();
+ console.log("已完成了了了1");
this.setState({
Newdisplay:false,
newoption: false,
@@ -2109,6 +2115,7 @@ class PollNew extends Component {
axios.put(url,datay).then((result) => {
try {
if (result.data.status === 0) {
+ console.log("编辑题目成功1");
this.props.showNotification(`编辑题目成功`);
thiss.thisinitializationdatanew();
this.setState({
@@ -3609,7 +3616,7 @@ class PollNew extends Component {
{
this.state.Newdisplay === true?
- {this.state.adddom === undefined ? "" : this.state.adddom.map((itemo, indexo) => {
+ {this.state.adddom === undefined ? "publishtimeids123123" : this.state.adddom.map((itemo, indexo) => {
// console.log('打印this.state.adddom')
// console.log(this.state.adddom);
let arrid = itemo.question.id;
From dbd1fa02bbb57919e04307dc95ea95240e2f96d9 Mon Sep 17 00:00:00 2001
From: cxt <853663049@qq.com>
Date: Wed, 18 Dec 2019 17:19:51 +0800
Subject: [PATCH 3/3] =?UTF-8?q?=E5=AD=A6=E6=A0=A1=E7=BB=9F=E8=AE=A1?=
=?UTF-8?q?=E9=A1=B5=E9=9D=A2=E7=9A=84=E6=8E=A5=E5=8F=A3=E6=95=B4=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/colleges_controller.rb | 8 ++++--
.../colleges/course_statistics.json.jbuilder | 11 ++++++++
.../colleges/student_shixun.json.jbuilder | 10 +++++++
app/views/colleges/teachers.json.jbuilder | 11 ++++++++
config/routes.rb | 26 +++++++++----------
5 files changed, 51 insertions(+), 15 deletions(-)
create mode 100644 app/views/colleges/course_statistics.json.jbuilder
create mode 100644 app/views/colleges/student_shixun.json.jbuilder
create mode 100644 app/views/colleges/teachers.json.jbuilder
diff --git a/app/controllers/colleges_controller.rb b/app/controllers/colleges_controller.rb
index 4c33ad5e5..71009d2dd 100644
--- a/app/controllers/colleges_controller.rb
+++ b/app/controllers/colleges_controller.rb
@@ -1,7 +1,7 @@
class CollegesController < ApplicationController
include PaginateHelper
- layout 'college'
+ # layout 'college'
before_action :require_login
before_action :check_college_present!
@@ -21,6 +21,7 @@ class CollegesController < ApplicationController
# 实训总数
@shixuns_count = Shixun.visible.joins('left join user_extensions on user_extensions.user_id = shixuns.user_id')
.where(user_extensions: { school_id: current_school.id }).count
+ render json: { teachers_count: @teachers_count, students_count: @students_count, courses_count: @courses_count, shixuns_count: @shixuns_count }
end
def shixun_time
@@ -43,6 +44,8 @@ class CollegesController < ApplicationController
(SELECT count(c.id) FROM courses c, course_members m WHERE c.id != 1309 and m.course_id = c.id AND m.user_id=users.id AND m.role in (1,2,3) and c.school_id = #{current_school.id} AND c.is_delete = 0) as course_count
FROM `users`, user_extensions ue where ue.school_id=#{current_school.id} and users.id=ue.user_id and ue.identity=0 ORDER BY publish_shixun_count desc, course_count desc, id desc LIMIT 10")
# ).order("publish_shixun_count desc, experience desc").limit(10)
+ @teacher_count = UserExtension.where(school_id: current_school.id)
+ .select('SUM(IF(identity=0, 1, 0)) AS teachers_count').first.teachers_count
@teachers =
@teachers.map do |teacher|
course_ids = Course.find_by_sql("SELECT c.id FROM courses c, course_members m WHERE c.id != 1309 and m.course_id = c.id AND m.role in (1,2,3) AND m.user_id=#{teacher.id} AND c.is_delete = 0 and c.school_id = #{current_school.id}")
@@ -94,11 +97,11 @@ class CollegesController < ApplicationController
def course_statistics
courses = Course.where(school_id: current_school.id, is_delete: 0).where.not(id: 1309)
+ @course_count = courses.size
courses = courses.left_joins(practice_homeworks: { student_works: { myshixun: :games } })
.select('courses.id, courses.name, courses.is_end, sum(games.evaluate_count) evaluating_count')
.group('courses.id').order('is_end asc, evaluating_count desc')
- params[:per_page] = 8
@courses = paginate courses
course_ids = @courses.map(&:id)
@@ -114,6 +117,7 @@ class CollegesController < ApplicationController
# 学生实训
def student_shixun
+ @student_count = User.joins(:user_extension).where(user_extensions: { school_id: current_school.id, identity: 1 }).count
@students = User.joins(:user_extension).where(user_extensions: { school_id: current_school.id, identity: 1 }).includes(:user_extension).order('experience desc').limit(10)
student_ids = @students.map(&:id)
diff --git a/app/views/colleges/course_statistics.json.jbuilder b/app/views/colleges/course_statistics.json.jbuilder
new file mode 100644
index 000000000..fcc83177a
--- /dev/null
+++ b/app/views/colleges/course_statistics.json.jbuilder
@@ -0,0 +1,11 @@
+json.courses @courses do |course|
+ json.(course, :id, :name, :is_end, :evaluating_count)
+ json.teachers course.teacher_users.map(&:real_name).join('、')
+ json.student_count @student_count.fetch(course.id, 0)
+ json.shixun_work_count @shixun_work_count.fetch(course.id, 0)
+ json.attachment_count @attachment_count.fetch(course.id, 0)
+ json.message_count @message_count.fetch(course.id, 0)
+ json.other_work_count @exercise_count.fetch(course.id, 0) + @poll_count.fetch(course.id, 0) + @other_work_count.fetch(course.id, 0)
+ json.activity_time @active_time[course.id]&.strftime('%Y-%m-%d %H:%M')
+end
+json.course_count @course_count
\ No newline at end of file
diff --git a/app/views/colleges/student_shixun.json.jbuilder b/app/views/colleges/student_shixun.json.jbuilder
new file mode 100644
index 000000000..431603afa
--- /dev/null
+++ b/app/views/colleges/student_shixun.json.jbuilder
@@ -0,0 +1,10 @@
+json.teachers @students do |student|
+ json.login student.login
+ json.name student.real_name
+ json.student_id student.student_id
+ json.shixun_count @shixun_count.fetch(student.id, 0)
+ json.study_shixun_count @study_shixun_count.fetch(student.id, 0)
+ json.grade student.grade
+ json.experience student.experience
+end
+json.student_count @student_count
\ No newline at end of file
diff --git a/app/views/colleges/teachers.json.jbuilder b/app/views/colleges/teachers.json.jbuilder
new file mode 100644
index 000000000..29b383fa4
--- /dev/null
+++ b/app/views/colleges/teachers.json.jbuilder
@@ -0,0 +1,11 @@
+json.teachers @teachers do |teacher|
+ json.login teacher['login']
+ json.name teacher['real_name']
+ json.course_count teacher['course_count']
+ json.shixun_work_count teacher['shixun_work_count']
+ json.un_shixun_work_count teacher['un_shixun_work_count']
+ json.student_count teacher['student_count']
+ json.complete_rate teacher['complete_rate']
+ json.publish_shixun_count teacher['publish_shixun_count']
+end
+json.teacher_count @teacher_count
\ No newline at end of file
diff --git a/config/routes.rb b/config/routes.rb
index 2ef60b45f..e15b216ce 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -977,6 +977,19 @@ Rails.application.routes.draw do
post :entry
end
end
+
+ resources :colleges, only: [] do
+ member do
+ get :statistics
+ get :course_statistics
+ get :student_shixun
+ get :shixun_time
+ get :shixun_report_count
+ get :teachers
+ get :shixun_chart_data
+ get :student_hot_evaluations
+ end
+ end
end
namespace :admins do
@@ -1287,19 +1300,6 @@ Rails.application.routes.draw do
end
end
- resources :colleges, only: [] do
- member do
- get :statistics
- get :course_statistics
- get :student_shixun
- get :shixun_time
- get :shixun_report_count
- get :teachers
- get :shixun_chart_data
- get :student_hot_evaluations
- end
- end
-
resources :partners, only: [] do
member do
get :customers