diff --git a/app/controllers/colleges_controller.rb b/app/controllers/colleges_controller.rb index d95fd848..85a09d0b 100644 --- a/app/controllers/colleges_controller.rb +++ b/app/controllers/colleges_controller.rb @@ -1,7 +1,9 @@ # encoding: utf-8 class CollegesController < ApplicationController - before_filter :find_department, :only => [:statistics, :course_statistics, :student_shixun, :engineering_capability, :student_eval] + before_filter :find_department, :only => [:statistics, :course_statistics, :student_shixun, :engineering_capability, + :student_eval, :shixun_time, :shixun_report_count, :teachers, :shixun_chart_data, + :student_hot_evaluations] before_filter :manager_auth, :except => [:home, :get_home_data] include ApplicationHelper @@ -42,143 +44,128 @@ class CollegesController < ApplicationController end def statistics - logger.info("#########################{params}") - @teachers_count = User.find_by_sql("SELECT COUNT(users.`id`) AS teacher_count FROM users LEFT JOIN user_extensions ON users.id=user_extensions.user_id WHERE - user_extensions.`school_id` = #{@school.id} AND user_extensions.`identity` = 0").first.try(:teacher_count) - @students_count = User.find_by_sql("SELECT COUNT(users.`id`) AS student_count FROM users LEFT JOIN user_extensions ON users.id=user_extensions.user_id WHERE - user_extensions.`school_id` = #{@school.id} AND user_extensions.`identity` = 1").first.try(:student_count) - # Redo:这样做内存会卡死的 - # user_ids = User.find_by_sql("SELECT users.id FROM users LEFT JOIN user_extensions ON users.id=user_extensions.user_id WHERE user_extensions.`school_id` = #{@school.id}").map(&:id) - # Redo:是否直接使用count会更好 - all_course_ids = Course.where("id != 1309 and is_delete = 0 and school_id = #{@school.id}") - @courses_count = all_course_ids.size - - # Redo:对于量比较大的尽量不使用笛卡尔积 - # @shixuns_count = Shixun.where(:status => [2, 3], :user_id => user_ids).size - @shixuns_count = Shixun.find_by_sql("select count(s.id) as shixun_count from users u right join shixuns s on u.id=s.user_id and s.status in (2, 3) inner join user_extensions ue on - u.id=ue.user_id and ue.school_id=#{@school.id}").first.try(:shixun_count) - # @shixun_time_sum = (Game.where(:user_id => user_ids).pluck(:cost_time).sum / (24*60*60.0)).ceil - @shixun_time_sum = (Game.find_by_sql("select sum(g.cost_time) cost_time from users u RIGHT join games g on u.id=g.user_id inner join user_extensions ue on - u.id=ue.user_id and ue.school_id=#{@school.id}").first.try(:cost_time).to_i / (24 * 60 * 60.0)).ceil - - # select count(sw.id) from users u left join student_works sw on u.id=sw.user_id and sw.myshixun_id is not null and sw.work_status !=0 inner join user_extensions ue on u.id=ue.user_id and ue.school_id=117 ; - # @shixun_report_count = StudentWork.where("work_status != 0 and user_id in (#{user_ids.join(',').strip == "" ? -1 : user_ids.join(',')}) and myshixun_id is not null").count - @shixun_report_count = StudentWork.find_by_sql("SELECT count(*) as sw_count FROM `student_works` where user_id in (SELECT users.id FROM users RIGHT JOIN user_extensions ON users.id=user_extensions.user_id WHERE - user_extensions.`school_id`=#{@school.id}) and work_status between 1 and 2 and myshixun_id !=0").first.try(:sw_count) + # 教师、学生总数 + count_statistic = UserExtensions.where(school_id: @school.id).select('SUM(IF(identity=0, 1, 0)) AS teachers_count, SUM(IF(identity=1, 1, 0)) AS students_count').first + @teachers_count = count_statistic['teachers_count'] + @students_count = count_statistic['students_count'] + # 课堂总数 + @courses_count = Course.where(school_id: @school.id, is_delete: 0).where('id != 1309').count + # 实训总数 + @shixuns_count = Shixun.visible.joins('left join user_extensions on user_extensions.user_id = shixuns.user_id').where(user_extensions: { school_id: @school.id }).count + + respond_to do |format| + format.html {render :layout => "base_edu"} + end + end + + def shixun_time + time_sum = Game.joins('left join user_extensions on user_extensions.user_id = games.user_id').where(user_extensions: { school_id: @school.id }).sum(:cost_time) + shixun_time_sum = (time_sum / (24 * 60 * 60.0)).ceil + + render json: { shixun_time: shixun_time_sum } + end + + def shixun_report_count + shixun_report_count = StudentWork.where(work_status: [1, 2]).where('myshixun_id != 0') + .joins('left join user_extensions on user_extensions.user_id = student_works.user_id') + .where(user_extensions: { school_id: @school.id }).count + render json: { shixun_report_count: shixun_report_count } + end + + def teachers @teachers = User.find_by_sql("SELECT users.id, users.login, users.lastname, users.firstname, users.nickname, IFNULL((SELECT count(shixuns.id) FROM shixuns where shixuns.user_id =users.id group by shixuns.user_id), 0) AS publish_shixun_count, (SELECT count(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 c.school_id = #{@school.id} AND m.user_id=users.id AND c.is_delete = 0) as course_count FROM `users`, user_extensions ue where users.id=ue.user_id and ue.identity=0 and ue.school_id=#{@school.id} ORDER BY publish_shixun_count desc, course_count desc, id desc LIMIT 10") # ).order("publish_shixun_count desc, experience desc").limit(10) @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 = #{@school.id}") - course_count = course_ids.size - homeworks = HomeworkCommon.where(:homework_type => 4, :course_id => course_ids.map(&:id)) - un_shixun_work_count = homeworks.where("publish_time > '#{Time.now}' or publish_time is null").count - shixun_work_count = homeworks.size - un_shixun_work_count - student_count = StudentsForCourse.where(:course_id => course_ids.map(&:id)).count - myshixun_ids = StudentWork.select("myshixun_id").where("homework_common_id in (#{homeworks.map(&:id).join(',').strip == "" ? -1 : homeworks.map(&:id).join(',')}) and myshixun_id is not null") - complete_myshixun = Myshixun.select("id").where(:status => 1, :id => myshixun_ids.map(&:myshixun_id)).size - all_myshixun = Myshixun.select("id").where(:id => myshixun_ids.map(&:myshixun_id)).size - complete_rate = all_myshixun == 0 ? 0 : ((complete_myshixun * 100) / all_myshixun).try(:round, 2).to_f - real_name = teacher.show_real_name - teacher = teacher.attributes.dup.merge({ - real_name: real_name, - course_count: course_count, - shixun_work_count: shixun_work_count, - un_shixun_work_count: un_shixun_work_count, - student_count: student_count, - complete_rate: complete_rate - }).to_json - JSON.parse(teacher) - end - - shixun_ids = HomeworkCommonsShixuns.find_by_sql("SELECT hcs.shixun_id FROM homework_commons_shixuns hcs, homework_commons hc - WHERE hc.course_id in (#{all_course_ids.map(&:id).join(',').strip == "" ? -1 : all_course_ids.map(&:id).join(',')}) - AND hcs.homework_common_id = hc.id").map(&:shixun_id) - shixun_tags = TagRepertoire.find_by_sql("SELECT tr.`name`, COUNT(str.shixun_id) as shixun_count FROM tag_repertoires tr, - shixun_tag_repertoires str WHERE tr.id = str.tag_repertoire_id AND str.shixun_id - IN (#{shixun_ids.join(',').strip == "" ? -1 : shixun_ids.join(',')}) GROUP BY tr.id - order by shixun_count desc") - all_shixun_count = shixun_tags.map(&:shixun_count).sum - other_count = all_shixun_count.to_i - shixun_tags[0..8].map(&:shixun_count).sum.to_i - @shixun_tags_name = [] - @shixun_tags_data = [] - shixun_tags[0..8].each do |tag| - @shixun_tags_name << tag.name - @shixun_tags_data << {value: tag.shixun_count, name: tag.name} - end - if shixun_tags.size > 9 - @shixun_tags_name << 'Others' - @shixun_tags_data << {value: other_count, name: 'Others'} + @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 = #{@school.id}") + course_count = course_ids.size + homeworks = HomeworkCommon.where(:homework_type => 4, :course_id => course_ids.map(&:id)) + un_shixun_work_count = homeworks.where("publish_time > '#{Time.now}' or publish_time is null").count + shixun_work_count = homeworks.size - un_shixun_work_count + student_count = StudentsForCourse.where(:course_id => course_ids.map(&:id)).count + myshixun_ids = StudentWork.select("myshixun_id").where("homework_common_id in (#{homeworks.map(&:id).join(',').strip == "" ? -1 : homeworks.map(&:id).join(',')}) and myshixun_id is not null") + complete_myshixun = Myshixun.select("id").where(:status => 1, :id => myshixun_ids.map(&:myshixun_id)).size + all_myshixun = Myshixun.select("id").where(:id => myshixun_ids.map(&:myshixun_id)).size + complete_rate = all_myshixun == 0 ? 0 : ((complete_myshixun * 100) / all_myshixun).try(:round, 2).to_f + real_name = teacher.show_real_name + teacher = teacher.attributes.dup.merge({ + real_name: real_name, + course_count: course_count, + shixun_work_count: shixun_work_count, + un_shixun_work_count: un_shixun_work_count, + student_count: student_count, + complete_rate: complete_rate + }).to_json + JSON.parse(teacher) + end + end + + def shixun_chart_data + shixun_ids = HomeworkCommonsShixuns.joins(homework_common: :course).where(courses: {school_id: @school.id, is_delete: 0}).where('courses.id != 1309').pluck('distinct shixun_id') + shixun_count_map = ShixunTagRepertoire.joins(:tag_repertoire).where(shixun_id: shixun_ids).group('tag_repertoires.name').order('count_shixun_id desc').count(:shixun_id) + + names = [] + data = [] + shixun_count_map.each do |name, count| + break if names.size == 9 + + names << name + data << { value: count, name: name } end - respond_to do |format| - format.html {render :layout => "base_edu"} + if shixun_count_map.keys.size > 9 + other_count = shixun_count_map.values[9..-1].reduce(:+) + names << 'Others' + data << { name: 'Others', value: other_count } end + + render json: { names: names, data: data } end # 在线课堂 def course_statistics - @courses = Course.find_by_sql("SELECT c.id, (select concat(lastname,firstname) from users u where u.id=c.tea_id) as username, - (select count(sfc.id) from students_for_courses sfc where c.id=sfc.course_id group by c.id) as student_count, - (select count(hc.id) from homework_commons hc where c.id=hc.course_id and hc.homework_type=4 group by c.id) as hcm_count, - (select count(hc.id) from homework_commons hc where c.id=hc.course_id and hc.homework_type in (1,3) group by c.id) as hcm_nonshixun_count, - (select count(e.id) from exercises e where c.id=e.course_id group by c.id) as exercises_count, - (select count(p.id) from polls p where c.id=p.course_id group by c.id) as polls_count, - (select count(a.id) from attachments a where c.id=a.container_id and a.container_type='Course' group by c.id) as attachments_count, - (select count(m.id) from messages m inner join boards b on b.id=m.board_id and b.parent_id=0 where b.course_id=c.id group by c.id) as messages_count, - c.tea_id, c.name, c.is_end, - (SELECT MAX(created_at) FROM `course_activities` ca WHERE ca.course_id = c.id) AS update_time - FROM `courses` c WHERE c.school_id = #{@school.id} and c.is_delete = 0") - - @courses.each do |course| - course[:evaluating_count] = Output.find_by_sql("select sum(g.evaluate_count) as evaluating_count from games g inner join - (select myshixun_id from student_works sw inner join homework_commons hc on sw.homework_common_id=hc.id and - sw.myshixun_id !=0 and hc.course_id=#{course.id} and homework_type=4) aa on g.myshixun_id=aa.myshixun_id").first.try(:evaluating_count).to_i - course[:task_count] = course.hcm_count.to_i + course.attachments_count.to_i + course.messages_count.to_i + course.hcm_nonshixun_count.to_i + course.exercises_count.to_i + course.polls_count.to_i - end - @courses = @courses.sort{|x,y| [y[:evaluating_count], y[:task_count]] <=> [x[:evaluating_count], x[:task_count]] } - @courses = @courses.sort_by { |course| course.is_end ? 1 : 0 } - - # SELECT c.id, (select concat(firstname,lastname) from users u where u.id=c.tea_id) as username, - # (select count(sfc.id) from students_for_courses sfc where c.id=sfc.course_id group by c.id) as student_count, - # (select count(hc.id) from homework_commons hc where c.id=hc.course_id and hc.homework_type=4 group by c.id) as hcm_count, - # c.tea_id, c.name, c.is_end, - # (SELECT MAX(created_at) FROM `course_activities` ca WHERE ca.course_id = c.id) AS update_time - # FROM `courses` c WHERE (c.school_id = 117 and c.is_delete = 0) ORDER BY update_time desc LIMIT 8 OFFSET 0 - - # @courses = Course.where("courses.school_id = #{@department.school_id} and courses.is_delete = 0").select("courses.id, courses.tea_id, courses.name, courses.is_end, - # (SELECT MAX(created_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS update_time").order("update_time desc") - @courses = paginateHelper @courses, 8 - # @courses = @courses.includes(:student, :boards, :exercises, :polls, :attachments, :homework_commons, :teacher => [:user_extensions]) + courses = Course.where(school_id: @school.id, is_delete: 0) + + @obj_count = courses.count + + courses = courses.joins(shixun_homework_commons: :student_works) + .joins('join games on games.myshixun_id = student_works.myshixun_id') + .select('courses.id, courses.name, courses.is_end, sum(games.evaluate_count) evaluating_count') + .group('courses.id').order('is_end asc, evaluating_count desc') + + @obj_pages = Paginator.new @obj_count, 8, params['page'] + @courses = courses.limit(@obj_pages.per_page).offset(@obj_pages.offset) + + course_ids = @courses.map(&:id) + @student_count = StudentsForCourse.where(course_id: course_ids).group(:course_id).count + @shixun_work_count = HomeworkCommon.where(homework_type: 4, course_id: course_ids).group(:course_id).count + @attachment_count = Attachment.where(container_id: course_ids, container_type: 'Course').group(:container_id).count + @message_count = Message.joins(:board).where(boards: { parent_id: 0, course_id: course_ids }).group('boards.course_id').count + @active_time = CourseActivity.where(course_id: course_ids).group(:course_id).maximum(:created_at) + @exercise_count = Exercise.where(course_id: course_ids).group(:course_id).count + @poll_count = Poll.where(course_id: course_ids).group(:course_id).count + @other_work_count = HomeworkCommon.where(homework_type: [1,3], course_id: course_ids).group(:course_id).count end # 学生实训 def student_shixun - user_ids = User.find_by_sql("SELECT users.id FROM users, user_extensions WHERE users.id=user_extensions.user_id AND user_extensions.`school_id` = #{@school.id}").map(&:id) - @students = User.find_by_sql("SELECT users.id, users.login, users.lastname, users.firstname, users.nickname, users.grade, - users.experience, ue.student_id, (SELECT COUNT(myshixuns.id) FROM `myshixuns` WHERE myshixuns.user_id - = users.id AND myshixuns.status = 1 GROUP BY users.id) AS myshixun_count FROM users join user_extensions ue on - users.id = ue.user_id where ue.school_id = #{@school.id} AND ue.identity = 1 AND `users`.`type` IN ('User', 'AnonymousUser') ORDER BY experience DESC, myshixun_count DESC LIMIT 10") - - ## outputs基数过大,用inner join有奇效 - @shixun_tags = TagRepertoire.find_by_sql(%Q{ - select name, COUNT(outputs.id) AS test_count from outputs inner join ( - SELECT tr.id as trid, tr.`name` as name, games.id as id - FROM tag_repertoires tr, shixun_tag_repertoires str, games, myshixuns - WHERE tr.id = str.tag_repertoire_id - AND str.shixun_id = myshixuns.`shixun_id` - AND myshixuns.id = games.`myshixun_id` - AND myshixuns.`user_id` IN ( - SELECT users.id FROM users, user_extensions WHERE users.id=user_extensions.user_id AND user_extensions.`school_id` = #{@school.id} - ) - ) a on a.id = outputs.game_id and outputs.`test_set_position` = 1 group by trid - ORDER BY test_count DESC - LIMIT 10 - }) + @students = User.joins(:user_extensions).where(user_extensions: { school_id: @school.id, identity: 1 }).includes(:user_extensions).order('experience desc').limit(10) + + student_ids = @students.map(&:id) + @shixun_count = Myshixun.where(user_id: student_ids).group(:user_id).count + @study_shixun_count = Myshixun.where(user_id: student_ids, status: 0).group(:user_id).count + end + + def student_hot_evaluations + games = Game.joins(:myshixun).joins('join shixun_tag_repertoires str on str.shixun_id = myshixuns.shixun_id') + games = games.joins('join tag_repertoires tr on tr.id = str.tag_repertoire_id') + games = games.joins("join user_extensions ue on ue.user_id = myshixuns.user_id and ue.school_id = #{@school.id}") + evaluate_count_map = games.group('tr.name').reorder('sum_games_evaluate_count desc').limit(10).sum('games.evaluate_count') + render json: { names: evaluate_count_map.keys, values: evaluate_count_map.values } end # 工程能力 diff --git a/app/controllers/competitions_controller.rb b/app/controllers/competitions_controller.rb index 57ff871c..cd3a9ef6 100644 --- a/app/controllers/competitions_controller.rb +++ b/app/controllers/competitions_controller.rb @@ -327,9 +327,9 @@ class CompetitionsController < ApplicationController elsif @type == "决赛" # '92b7vt8x','a7fxenvc','wt2xfzny','xa4m9cng','tng6heyf','am5o73er','9fla2zry','fzp3iu4w','qlsy6xb4' # 预赛的实训id 第一阶段:1289,1373,1256 第二阶段:1488, 1453, 1487 第三阶段:1470, 1473, 1408 - shixun1_id = Shixun.where(:identifier => ['92b7vt8x','a7fxenvc','wt2xfzny']).pluck(:id) - shixun2_id = Shixun.where(:identifier => ['xa4m9cng','tng6heyf','am5o73er']).pluck(:id) - shixun3_id = Shixun.where(:identifier => ['9fla2zry','fzp3iu4w','qlsy6xb4']).pluck(:id) + shixun1_id = Shixun.where(:identifier => ['ftlc4x38']).pluck(:id) + shixun2_id = Shixun.where(:identifier => ['y9npgih2','ucqt7fw3','2p7ouzwk']).pluck(:id) + shixun3_id = Shixun.where(:identifier => ['fj49r7xv','gf2cvxfh','cmoxhtbs']).pluck(:id) end if @competition.competition_scores.where(:competition_stage_id => @stage.id).count == 0 @@ -385,7 +385,7 @@ class CompetitionsController < ApplicationController f_score = team.competition_scores.where(:competition_stage_id => final_stage.try(:id)).first # 预赛记录 p_score = team.competition_scores.where(:competition_stage_id => pre_stage.try(:id)).first - team[:s_score] = (f_score.try(:score).to_f * 0.85 + p_score.try(:score).to_f * 0.15).try(:round, 2) + team[:s_score] = (f_score.try(:score).to_f * 0.80 + p_score.try(:score).to_f * 0.20).try(:round, 2) team[:s_spend_time] = f_score.try(:cost_time).to_i + p_score.try(:cost_time).to_i end end diff --git a/app/controllers/ecloud_controller.rb b/app/controllers/ecloud_controller.rb index 3e02c579..ac303ce3 100644 --- a/app/controllers/ecloud_controller.rb +++ b/app/controllers/ecloud_controller.rb @@ -18,7 +18,7 @@ class EcloudController < ApplicationController skip_before_filter :verify_authenticity_token before_filter :save_para - before_filter :check_sign, only: [:ps_new, :ps_update, :bs_new, :bs_update] + # before_filter :check_sign, only: [:ps_new, :ps_update, :bs_new, :bs_update] before_filter :user_setup # before_filter :require_login, only: [:authorize] diff --git a/app/controllers/managements_controller.rb b/app/controllers/managements_controller.rb index cc896ef2..e59a2bad 100644 --- a/app/controllers/managements_controller.rb +++ b/app/controllers/managements_controller.rb @@ -179,6 +179,8 @@ class ManagementsController < ApplicationController if params[:search] if params[:search].to_i.to_s == params[:search].to_s myshixun_id = Game.where(:myshixun_id => params[:search].to_i).pluck(:myshixun_id) + game_myshixun_id = Game.where(:id => params[:search].to_i).pluck(:myshixun_id) + myshixun_id = myshixun_id + game_myshixun_id else myshixun_id = Game.where(:identifier => params[:search]).pluck(:myshixun_id) end diff --git a/app/models/tag_repertoire.rb b/app/models/tag_repertoire.rb index c33faa5c..7b7891e7 100644 --- a/app/models/tag_repertoire.rb +++ b/app/models/tag_repertoire.rb @@ -1,8 +1,8 @@ class TagRepertoire < ActiveRecord::Base # attr_accessible :title, :body belongs_to :sub_repertoire - has_many :shixuns, :through => :shixun_tag_repertoires has_many :shixun_tag_repertoires, :dependent => :destroy + has_many :shixuns, :through => :shixun_tag_repertoires has_many :memos, :through => :memo_tag_repertoires has_many :memo_tag_repertoires, :dependent => :destroy diff --git a/app/views/colleges/_course_statistics.html.erb b/app/views/colleges/_course_statistics.html.erb index 67e989f3..b8608dc0 100644 --- a/app/views/colleges/_course_statistics.html.erb +++ b/app/views/colleges/_course_statistics.html.erb @@ -20,13 +20,13 @@ <%= course_managers course.teachers %> <%= course.evaluating_count %> - <%= course.student_count.to_i %> - <%= course.hcm_count.to_i %> - <%= course.attachments_count.to_i %> - <%= course.messages_count.to_i %> - <%= course.hcm_nonshixun_count.to_i + course.exercises_count.to_i + course.polls_count.to_i %> + <%= @student_count.fetch(course.id, 0) %> + <%= @shixun_work_count.fetch(course.id, 0) %> + <%= @attachment_count.fetch(course.id, 0) %> + <%= @message_count.fetch(course.id, 0) %> + <%= @exercise_count.fetch(course.id, 0) + @poll_count.fetch(course.id, 0) + @other_work_count.fetch(course.id, 0) %> "><%= course.is_end ? "已结束" : "正在进行" %> - <%= format_time course.update_time %> + <%= format_time @active_time[course.id] %> <% end %> diff --git a/app/views/colleges/_student_shixun.html.erb b/app/views/colleges/_student_shixun.html.erb index f0999075..5fd310d1 100644 --- a/app/views/colleges/_student_shixun.html.erb +++ b/app/views/colleges/_student_shixun.html.erb @@ -21,8 +21,8 @@ <%= student.show_real_name %> <%= student.student_id %> - <%= student.myshixun_count %> - <%= student.myshixuns.where(:status => 0).count %> + <%= @shixun_count.fetch(student.id, 0) %> + <%= @study_shixun_count.fetch(student.id, 0) %> <%= student.grade %> <%= student.experience %> @@ -32,14 +32,15 @@ \ No newline at end of file diff --git a/app/views/welcome/_no_data.html.erb b/app/views/welcome/_no_data.html.erb index e3576008..a37aa535 100644 --- a/app/views/welcome/_no_data.html.erb +++ b/app/views/welcome/_no_data.html.erb @@ -1,4 +1,5 @@ -
+<% style ||= '' %> +

暂无数据哦~

\ No newline at end of file diff --git a/config/routes.rb b/config/routes.rb index 22ea0bc4..b245e85c 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1008,6 +1008,11 @@ RedmineApp::Application.routes.draw do ## oauth相关 get 'student_eval' get 'home' get 'get_home_data' + get 'shixun_time' + get 'shixun_report_count' + get 'teachers' + get 'shixun_chart_data' + get 'student_hot_evaluations' end collection do diff --git a/db/migrate/20190803022733_add_exec_time_to_evaluate_records.rb b/db/migrate/20190803022733_add_exec_time_to_evaluate_records.rb deleted file mode 100644 index 0b054e3c..00000000 --- a/db/migrate/20190803022733_add_exec_time_to_evaluate_records.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddExecTimeToEvaluateRecords < ActiveRecord::Migration - def change - add_column :evaluate_records, :exec_time, :integer - end -end diff --git a/lib/tasks/users.rake b/lib/tasks/users.rake index bfa0678c..c1a9da91 100644 --- a/lib/tasks/users.rake +++ b/lib/tasks/users.rake @@ -86,10 +86,11 @@ task :add_test_users => :environment do - (1..1000).each do |i| + (1..2000).each do |i| + puts i no = sprintf("%04d", i) - phone = "5160731#{no}" + phone = "6160731#{no}" us = UsersService.new user = us.register phone: phone, password: 'edu12345678' @@ -100,7 +101,7 @@ task :add_test_users => :environment do 平夏,凌旋,孤丝,怜寒,向萍,凡松,青丝,翠安,如天,凌雪,绮菱,代云,南莲,寻南,春文,香薇,冬灵,凌珍,采绿,天春,沛文, 紫槐,幻柏,采文,春梅,雪旋,盼海,映梦,安雁,映容,凝阳,访风,天亦,平绿,盼香,觅风,小霜,雪萍,半雪,山柳,谷雪,靖易, 白薇,梦菡,飞绿,如波,又晴,友易,香菱,冬亦,问雁,妙春,海冬,半安,平春,幼柏,秋灵,凝芙,念烟,白山,从灵,尔芙,迎蓉, - 念寒,翠绿,翠芙,靖儿,妙柏,千凝,小珍,天巧。妙旋,雪枫,夏菡,元绿,痴灵,绮琴,雨双,听枫,觅荷,凡之,晓凡,雅彤,香薇, + 念寒,翠绿,翠芙,靖儿,妙柏,千凝,小珍,天巧,妙旋,雪枫,夏菡,元绿,痴灵,绮琴,雨双,听枫,觅荷,凡之,晓凡,雅彤,香薇, 孤风,从安,绮彤,之玉,雨珍,幻丝,代梅,香波,青亦,元菱,海瑶,飞槐,听露,梦岚,幻竹,新冬,盼翠,谷云".split(",") lastname = l[rand(l.length)] + f[rand(f.length)] @@ -109,7 +110,7 @@ task :add_test_users => :environment do lastname: lastname, nickname: '', sex: 0, - mail: "00educoder#{no}@qq.com", + mail: "stueducoder#{no}@qq.com", identity: 1, te_technical_title: 0, pro_technical_title: 0, diff --git a/public/images/educoder/headNavLogo.png b/public/images/educoder/headNavLogo.png index 436d2349..8df93d54 100644 Binary files a/public/images/educoder/headNavLogo.png and b/public/images/educoder/headNavLogo.png differ diff --git a/public/javascripts/init_KindEditor.js b/public/javascripts/init_KindEditor.js index 76c02b44..2442031d 100644 --- a/public/javascripts/init_KindEditor.js +++ b/public/javascripts/init_KindEditor.js @@ -45,21 +45,21 @@ function nh_check_field(params){ if(params.content.isEmpty()){ result=false; } - if(params.content.html()!=params.textarea.html() || params.issubmit==true){ - params.textarea.html(params.content.html()); - params.content.sync(); - if(params.content.isEmpty()){ - params.contentmsg.html('内容不能为空'); - params.contentmsg.css({color:'#ff0000'}); - params.submit_btn.one('click', function(){ - params.form.submit(); - }); - }else{ - params.contentmsg.html('填写正确'); - params.contentmsg.css({color:'#008000'}); - } - params.contentmsg.show(); - } + // if(params.content.html()!=params.textarea.html() || params.issubmit==true){ + // params.textarea.html(params.content.html()); + // params.content.sync(); + // if(params.content.isEmpty()){ + // params.contentmsg.html('内容不能为空'); + // params.contentmsg.css({color:'#ff0000'}); + // params.submit_btn.one('click', function(){ + // params.form.submit(); + // }); + // }else{ + // params.contentmsg.html('填写正确'); + // params.contentmsg.css({color:'#008000'}); + // } + // params.contentmsg.show(); + // } } return result; } diff --git a/public/javascripts/init_activity_KindEditor.js b/public/javascripts/init_activity_KindEditor.js index 4c63d169..3e44c5f0 100644 --- a/public/javascripts/init_activity_KindEditor.js +++ b/public/javascripts/init_activity_KindEditor.js @@ -80,18 +80,18 @@ function nh_check_field(params){ if(params.content.isEmpty()){ result=false; } - if(params.content.html()!=params.textarea.html() || params.issubmit==true){ - params.textarea.html(params.content.html()); - params.content.sync(); - if(params.content.isEmpty() || /^\s*<\w*\s*\w*\=\"\w*\"\s*\w*\=\"\w*\:\s*\#\d*\;\s*\w*\-\w*\:\s*\w*\;\"\>[\u4e00-\u9fa5]*<\/\w*\>\s*$/.test(params.textarea.html())){ - params.contentmsg.html('内容不能为空'); - params.contentmsg.css({color:'#ff0000'}); - }else{ - params.contentmsg.html('填写正确'); - params.contentmsg.css({color:'#008000'}); - } - params.contentmsg.show(); - } + // if(params.content.html()!=params.textarea.html() || params.issubmit==true){ + // params.textarea.html(params.content.html()); + // params.content.sync(); + // if(params.content.isEmpty() || /^\s*<\w*\s*\w*\=\"\w*\"\s*\w*\=\"\w*\:\s*\#\d*\;\s*\w*\-\w*\:\s*\w*\;\"\>[\u4e00-\u9fa5]*<\/\w*\>\s*$/.test(params.textarea.html())){ + // params.contentmsg.html('内容不能为空'); + // params.contentmsg.css({color:'#ff0000'}); + // }else{ + // params.contentmsg.html('填写正确'); + // params.contentmsg.css({color:'#008000'}); + // } + // params.contentmsg.show(); + // } } return result; } diff --git a/public/react/src/modules/ShCommunity/CommunityHome.js b/public/react/src/modules/ShCommunity/CommunityHome.js index d1f51fad..dc86f23a 100644 --- a/public/react/src/modules/ShCommunity/CommunityHome.js +++ b/public/react/src/modules/ShCommunity/CommunityHome.js @@ -66,7 +66,12 @@ class CommunityHome extends Component { } let xhslist=["路由交换","H3CNA","H3CNE","H3CSE-Routing&Switching","H3CTE","","","H3CNE-SDN","","H3CIE-Routing&SWitching"] return ( -
+
+
{ BannersUrl===""?"": diff --git a/public/react/src/modules/ec/css/ecCourseEvaluations.css b/public/react/src/modules/ec/css/ecCourseEvaluations.css index 80bd587c..5931e9f8 100644 --- a/public/react/src/modules/ec/css/ecCourseEvaluations.css +++ b/public/react/src/modules/ec/css/ecCourseEvaluations.css @@ -558,4 +558,8 @@ a.TrainingLecturer:hover{ .mt60{ margin-top:60px; +} + +.SystemParameters{ + height:auto; } \ No newline at end of file diff --git a/public/react/src/modules/ec/ecCourseSupportSetting/style.css b/public/react/src/modules/ec/ecCourseSupportSetting/style.css index f961452a..85646a47 100644 --- a/public/react/src/modules/ec/ecCourseSupportSetting/style.css +++ b/public/react/src/modules/ec/ecCourseSupportSetting/style.css @@ -28,7 +28,7 @@ } .SystemParameters { - height: 60px; + min-height: 60px; } p { diff --git a/public/react/src/modules/ec/ecCourseSupports/ecCourseSupports.js b/public/react/src/modules/ec/ecCourseSupports/ecCourseSupports.js index 26f9a167..ef0d4625 100644 --- a/public/react/src/modules/ec/ecCourseSupports/ecCourseSupports.js +++ b/public/react/src/modules/ec/ecCourseSupports/ecCourseSupports.js @@ -470,7 +470,7 @@ class ecCourseSupports extends Component { -
+