diff --git a/app/controllers/homework_common_controller.rb b/app/controllers/homework_common_controller.rb
index 293346365..fa2ce04cf 100644
--- a/app/controllers/homework_common_controller.rb
+++ b/app/controllers/homework_common_controller.rb
@@ -156,7 +156,6 @@ class HomeworkCommonController < ApplicationController
if @homework.homework_type == 2
@homework.homework_detail_programing ||= HomeworkDetailPrograming.new
@homework_detail_programing = @homework.homework_detail_programing
- @homework_detail_programing.ta_proportion = params[:ta_proportion] || 0.6
@homework_detail_programing.language = params[:language_type].to_i
@homework.homework_tests.delete_all
@@ -218,11 +217,11 @@ class HomeworkCommonController < ApplicationController
#关闭匿评
def stop_anonymous_comment
@homework_detail_manual.update_column('comment_status', 3)
- #计算缺评扣分---->计算缺评数量
+ #计算缺评扣分
work_ids = "(" + @homework.student_works.map(&:id).join(",") + ")"
@homework.student_works.each do |student_work|
absence_penalty_count = student_work.user.student_works_evaluation_distributions.where("student_work_id IN #{work_ids}").count - student_work.user.student_works_scores.where("student_work_id IN #{work_ids}").count
- student_work.absence_penalty = absence_penalty_count > 0 ? absence_penalty_count : 0
+ student_work.absence_penalty = absence_penalty_count > 0 ? absence_penalty_count * @homework_detail_manual.absence_penalty : 0
student_work.save
end
diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb
index 474fb81bc..251fd80c4 100644
--- a/app/controllers/student_work_controller.rb
+++ b/app/controllers/student_work_controller.rb
@@ -3,12 +3,11 @@ class StudentWorkController < ApplicationController
include StudentWorkHelper
require 'bigdecimal'
require "base64"
- before_filter :find_homework, :only => [:new, :index, :create, :student_work_absence_penalty, :absence_penalty_list, :evaluation_list, :program_test]
+ before_filter :find_homework, :only => [:new, :index, :create, :student_work_absence_penalty, :absence_penalty_list, :evaluation_list, :program_test,:set_score_rule]
before_filter :find_work, :only => [:edit, :update, :show, :destroy, :add_score, :praise_student_work]
before_filter :member_of_course, :only => [:index, :new, :create, :show, :add_score, :praise_student_work]
before_filter :author_of_work, :only => [:edit, :update, :destroy]
- before_filter :teacher_of_course, :only => [:student_work_absence_penalty, :absence_penalty_list, :evaluation_list]
- protect_from_forgery :except => :set_program_score
+ before_filter :teacher_of_course, :only => [:student_work_absence_penalty, :absence_penalty_list, :evaluation_list, :set_score_rule]
###
def program_test
@@ -72,80 +71,33 @@ class StudentWorkController < ApplicationController
query.update_attributes(:viewed => true)
end
end
+ ##################################################################################################################
@order,@b_sort,@name,@group = params[:order] || "score",params[:sort] || "desc",params[:name] || "",params[:group]
- @is_teacher = User.current.allowed_to?(:as_teacher,@course)
- course_group = CourseGroup.find_by_id(@group) if @group
- if course_group
- group_students = course_group.users
- if group_students.empty?
- student_in_group = '(0)'
+ @homework_commons = @course.homework_commons.order("created_at desc")
+ @is_teacher = User.current.allowed_to?(:as_teacher,@course) || User.current.admin?
+ @is_evaluation = @homework.homework_detail_manual.comment_status == 2 && !@is_teacher #是不是匿评
+ @show_all = false
+ if @is_teacher #老师 || 超级管理员 显示所有列表
+ @stundet_works = search_homework_member @homework.student_works.select("student_works.*,IF(final_score is null,null,final_score - absence_penalty - late_penalty) as score").order("#{@order} #{@b_sort}"),@name
+ @show_all = true
+ elsif @homework.homework_detail_manual.comment_status == 1 #学生 && 未开启匿评 只看到自己的
+ @stundet_works = @homework.student_works.select("student_works.*,IF(final_score is null,null,final_score - absence_penalty - late_penalty) as score").where(:user_id => User.current.id)
+ elsif @homework.homework_detail_manual.comment_status == 2 #学生 && 开启匿评 看到匿评列表
+ my_work = @homework.student_works.where(:user_id => User.current.id)
+ @stundet_works = my_work + User.current.student_works_evaluation_distributions.map(&:student_work).select { |work| work.homework_common_id == @homework.id}
+ elsif @homework.homework_detail_manual.comment_status == 3 #学生 && 关闭匿评 未提交作品之前列表为空,提交了作品看到所有的
+ my_work = @homework.student_works.select("student_works.*,IF(final_score is null,null,final_score - absence_penalty - late_penalty) as score").where(:user_id => User.current.id)
+ if my_work.empty?
+ @stundet_works = []
else
- student_in_group = '(' + group_students.map{|user| user.id}.join(',') + ')'
- end
- #老师 || 非匿评作业 || 匿评结束 显示所有的作品
- @show_all = @is_teacher || @homework.homework_type != 1 || @homework.homework_detail_manual.comment_status == 3 || User.current.admin?
- if @show_all
- if @homework.homework_type == 1 || @is_teacher || User.current.admin? #超级管理员 || 老师 || 匿评结束 显示所有的作品
- if @order == "name"
- @stundet_works = search_homework_member @homework.student_works.select("student_works.*,IF(final_score is null,null,final_score - absence_penalty - late_penalty) as score").joins(:user).where("users.id in #{student_in_group}").order("users.lastname #{@b_sort}, users.firstname #{@b_sort}"),@name
- else
- @stundet_works = search_homework_member @homework.student_works.select("student_works.*,IF(final_score is null,null,final_score - absence_penalty - late_penalty) as score").joins(:user).where("users.id in #{student_in_group}").order("#{@order} #{@b_sort}"),@name
- end
- else #剩余情况: 学生 && 非匿评作业 如果未提交作品,只能看到自己的,提交了作品,能看到所有作品
- my_work = @homework.student_works.select("student_works.*,IF(final_score is null,null,final_score - absence_penalty - late_penalty) as score").where(:user_id => User.current.id)
- if my_work.empty?
- @stundet_works = []
- else
- if @order == "name"
- @stundet_works = search_homework_member @homework.student_works.select("student_works.*,IF(final_score is null,null,final_score - absence_penalty - late_penalty) as score").joins(:user).where("users.id in #{student_in_group}").order("users.lastname #{@b_sort}, users.firstname #{@b_sort}"),@name
- else
- @stundet_works = search_homework_member @homework.student_works.select("student_works.*,IF(final_score is null,null,final_score - absence_penalty - late_penalty) as score").joins(:user).where("users.id in #{student_in_group}").order("#{@order} #{@b_sort}"),@name
- end
- end
- end
- else #学生
- if @homework.homework_detail_manual.comment_status == 1 #未开启匿评,只显示我的作品
- @stundet_works = @homework.student_works.select("student_works.*,IF(final_score is null,null,final_score - absence_penalty - late_penalty) as score").where(:user_id => User.current.id)
- elsif @homework.homework_detail_manual.comment_status == 2 #匿评列表,显示匿评作品和我的作品
- @is_evaluation = true
- my_work = @homework.student_works.where(:user_id => User.current.id)
- @stundet_works = my_work + User.current.student_works_evaluation_distributions.map(&:student_work).select { |work| work.homework_common_id == @homework.id}
- end
+ @stundet_works = search_homework_member @homework.student_works.select("student_works.*,IF(final_score is null,null,final_score - absence_penalty - late_penalty) as score").order("#{@order} #{@b_sort}"),@name
+ @show_all = true
end
else
- #老师 || 非匿评作业 || 匿评结束 显示所有的作品
- @show_all = @is_teacher || @homework.homework_type != 1 || @homework.homework_detail_manual.comment_status == 3 || User.current.admin?
- if @show_all
- if @homework.homework_type == 1 || @is_teacher || User.current.admin? #超级管理员 || 老师 || 匿评结束 显示所有的作品
- if @order == "name"
- @stundet_works = search_homework_member @homework.student_works.select("student_works.*,IF(final_score is null,null,final_score - absence_penalty - late_penalty) as score").joins(:user).order("users.lastname #{@b_sort}, users.firstname #{@b_sort}"),@name
- else
- @stundet_works = search_homework_member @homework.student_works.select("student_works.*,IF(final_score is null,null,final_score - absence_penalty - late_penalty) as score").order("#{@order} #{@b_sort}"),@name
- end
- else #剩余情况: 学生 && 非匿评作业 如果未提交作品,只能看到自己的,提交了作品,能看到所有作品
- my_work = @homework.student_works.select("student_works.*,IF(final_score is null,null,final_score - absence_penalty - late_penalty) as score").where(:user_id => User.current.id)
- if my_work.empty?
- @stundet_works = []
- else
- if @order == "name"
- @stundet_works = search_homework_member @homework.student_works.select("student_works.*,IF(final_score is null,null,final_score - absence_penalty - late_penalty) as score").joins(:user).order("users.lastname #{@b_sort}, users.firstname #{@b_sort}"),@name
- else
- @stundet_works = search_homework_member @homework.student_works.select("student_works.*,IF(final_score is null,null,final_score - absence_penalty - late_penalty) as score").order("#{@order} #{@b_sort}"),@name
- end
- end
- end
- else #学生
- if @homework.homework_detail_manual.comment_status == 1 #未开启匿评,只显示我的作品
- @stundet_works = @homework.student_works.select("student_works.*,IF(final_score is null,null,final_score - absence_penalty - late_penalty) as score").where(:user_id => User.current.id)
- elsif @homework.homework_detail_manual.comment_status == 2 #匿评列表,显示匿评作品和我的作品
- @is_evaluation = true
- my_work = @homework.student_works.where(:user_id => User.current.id)
- @stundet_works = my_work + User.current.student_works_evaluation_distributions.map(&:student_work).select { |work| work.homework_common_id == @homework.id}
- end
- end
+ @stundet_works = []
end
- @homework_commons = @course.homework_commons.order("created_at desc")
@score = @b_sort == "desc" ? "asc" : "desc"
+
respond_to do |format|
format.html
format.xls {
@@ -183,7 +135,7 @@ class StudentWorkController < ApplicationController
render_attachment_warning_if_needed(student_work)
#提交作品时,计算是否迟交
if Time.parse(@homework.end_time.to_s).strftime("%Y-%m-%d") < Time.parse(Time.now.to_s).strftime("%Y-%m-%d")
- student_work.late_penalty = 1
+ student_work.late_penalty = @homework.late_penalty
else
student_work.late_penalty = 0
end
@@ -241,16 +193,15 @@ class StudentWorkController < ApplicationController
def show
@score = student_work_score @work,User.current
- @is_teacher = User.current.allowed_to?(:as_teacher,@course)
+ @is_teacher = User.current.allowed_to?(:as_teacher,@course) || User.current.admin?
+ @student_work_scores = @work.student_works_scores.order("updated_at desc")
respond_to do |format|
format.js
end
end
def destroy
- if @homework.homework_type == 2 #编程作业,作品提交后不可以删除
- render_403
- elsif @work.destroy
+ if @work.destroy
respond_to do |format|
format.html {
redirect_to student_work_index_url(:homework => @homework.id)
@@ -261,10 +212,11 @@ class StudentWorkController < ApplicationController
#添加评分,已评分则为修改评分
def add_score
+ @is_last = params[:is_last] == "true"
render_403 and return if User.current == @work.user #不可以匿评自己的作品
- @is_teacher = User.current.allowed_to?(:as_teacher,@course)
+ @is_teacher = User.current.allowed_to?(:as_teacher,@course) || User.current.admin?
#老师、教辅可以随时评分,学生只能在匿评作业的匿评阶段进行评分
- render_403 and return unless @is_teacher || (@homework.homework_type == 1 && @homework.homework_detail_manual.comment_status == 2)
+ render_403 and return unless @is_teacher || @homework.homework_detail_manual.comment_status == 2
@score = student_work_score @work,User.current
if @score
@score.comment = params[:new_form][:user_message] if params[:new_form] && params[:new_form][:user_message] && params[:new_form][:user_message] != ""
@@ -298,35 +250,11 @@ class StudentWorkController < ApplicationController
case @score.reviewer_role
when 1 #教师评分:最后一个教师评分为最终评分
@work.teacher_score = @score.score
- @work.final_score = @score.score
when 2 #教辅评分 教辅评分显示平均分
@work.teaching_asistant_score = @work.student_works_scores.where(:reviewer_role => 2).average(:score).try(:round, 2).to_f
- if @work.teacher_score.nil?
- if @work.student_score.nil?
- @work.final_score = @work.teaching_asistant_score
- else
- ta_proportion = @homework.homework_detail_manual.ta_proportion if @homework.homework_detail_manual
- ta_proportion = @homework.homework_detail_programing.ta_proportion if @homework.homework_detail_programing
- final_ta_score = BigDecimal.new("#{@work.teaching_asistant_score}") * BigDecimal.new("#{ta_proportion}")
- final_s_score = BigDecimal.new("#{@work.student_score}") * (BigDecimal.new('1.0') - BigDecimal.new("#{ta_proportion}"))
- final_score = final_ta_score + final_s_score
- @work.final_score = format("%.2f",final_score.to_f)
- end
- end
when 3 #学生评分 学生评分显示平均分
@work.student_score = @work.student_works_scores.where(:reviewer_role => 3).average(:score).try(:round, 2).to_f
- if @work.teacher_score.nil?
- if @work.teaching_asistant_score.nil?
- @work.final_score = @work.student_score
- else
- final_ta_score = BigDecimal.new("#{@work.teaching_asistant_score}") * BigDecimal.new("#{@homework.homework_detail_manual.ta_proportion}")
- final_s_score = BigDecimal.new("#{@work.student_score}") * (BigDecimal.new('1.0') - BigDecimal.new("#{@homework.homework_detail_manual.ta_proportion}"))
- final_score = final_ta_score + final_s_score
- @work.final_score = format("%.2f",final_score.to_f)
- end
- end
end
-
if @work.save
respond_to do |format|
format.js
@@ -338,6 +266,7 @@ class StudentWorkController < ApplicationController
#添加评分的回复
def add_score_reply
@score = StudentWorksScore.find params[:score_id]
+ @is_last = params[:is_last] == "true"
@jour = @score.journals_for_messages.new(:user_id => User.current.id,:notes =>params[:message], :reply_id => 0)
if @jour.save
@status = 1
@@ -430,44 +359,53 @@ class StudentWorkController < ApplicationController
end
end
- #设置编程作业得分
- def set_program_score
- stundet_work = StudentWork.find_by_id params[:student_work_id]
- @course = stundet_work.homework_common.course
- student_score_count = 0
- if stundet_work && params[:results] && params[:results].class.to_s == "Array"
- homework_common = stundet_work.homework_common
- params[:results].each do |result|
- homework_tests = homework_common.homework_tests.where("input = '#{result[:input]}' AND output = '#{result[:output]}'")
- homework_tests.each do |homework_test|
- student_work_test = StudentWorkTest.new
- student_work_test.student_work = stundet_work
- student_work_test.homework_test = homework_test
- student_work_test.result = result[:status]
- if student_work_test.result == 0
- student_score_count += 1
- end
- student_work_test.error_msg = params[:compile_error_msg]
- student_work_test.save!
+ #设置评分规则
+ def set_score_rule
+ homework_detail_manual = @homework.homework_detail_manual
+ homework_detail_programing = @homework.homework_detail_programing
+
+ unless @homework.late_penalty.to_s == params[:late_penalty].to_s
+ @homework.late_penalty = params[:late_penalty]
+ @homework.student_works.where("created_at > '#{@homework.end_time} 23:59:59'").each do |student_work|
+ student_work.late_penalty = @homework.late_penalty
+ student_work.save
+ end
+
+ @homework.save
+ end
+
+ unless homework_detail_manual.absence_penalty.to_s == params[:absence_penalty].to_s
+ homework_detail_manual.absence_penalty = params[:absence_penalty]
+ if homework_detail_manual.comment_status == 3 #当前作业处于匿评结束状态,修改缺评扣分才会修改每个作品应扣分的值
+ work_ids = "(" + @homework.student_works.map(&:id).join(",") + ")"
+ @homework.student_works.each do |student_work|
+ absence_penalty_count = student_work.user.student_works_evaluation_distributions.where("student_work_id IN #{work_ids}").count - student_work.user.student_works_scores.where("student_work_id IN #{work_ids}").count
+ student_work.absence_penalty = absence_penalty_count > 0 ? absence_penalty_count * homework_detail_manual.absence_penalty : 0
+ student_work.save
end
end
- unless homework_common.homework_tests.empty?
- stundet_work.student_score = student_score_count * 100.0 / homework_common.homework_tests.count
- if stundet_work.teacher_score.nil?
- if stundet_work.teaching_asistant_score.nil?
- stundet_work.final_score = stundet_work.student_score
- else
- final_ta_score = BigDecimal.new("#{stundet_work.teaching_asistant_score}") * BigDecimal.new("#{homework_common.homework_detail_programing.ta_proportion}")
- final_s_score = BigDecimal.new("#{stundet_work.student_score}") * (BigDecimal.new('1.0') - BigDecimal.new("#{homework_common.homework_detail_programing.ta_proportion}"))
- final_score = final_ta_score + final_s_score
- stundet_work.final_score = format("%.1f",final_score.to_f)
- end
- end
+ homework_detail_manual.save if homework_detail_manual
+ end
- stundet_work.save!
+ teacher_priority = params[:teacher_priority] ? 1 : 0
+ if homework_detail_manual.ta_proportion.to_s != params[:ta_proportion].to_s || @homework.teacher_priority.to_s != teacher_priority.to_s || (homework_detail_programing && homework_detail_programing.ta_proportion.to_s != params[:sy_proportion].to_s)
+ homework_detail_manual.ta_proportion = params[:ta_proportion]
+ homework_detail_programing.ta_proportion = params[:sy_proportion] if homework_detail_programing
+ @homework.teacher_priority = teacher_priority
+
+ @homework.save
+ homework_detail_manual.save if homework_detail_manual
+ homework_detail_programing.save if homework_detail_programing
+
+ @homework.student_works.each do |student_work|
+ set_final_score @homework,student_work
+ student_work.save
end
end
+ respond_to do |format|
+ format.html{redirect_to student_work_index_url(:homework => @homework.id)}
+ end
end
private
@@ -500,15 +438,19 @@ class StudentWorkController < ApplicationController
end
def teacher_of_course
- render_403 unless User.current.allowed_to?(:as_teacher,@course)
+ render_403 unless User.current.allowed_to?(:as_teacher,@course) || User.current.admin?
end
#根据条件过滤作业结果
def search_homework_member homeworks,name
- name = name.downcase
- select_homework = homeworks.select{ |homework|
- homework.user[:login].to_s.downcase.include?(name) || homework.user.user_extensions[:student_id].to_s.downcase.include?(name) || (homework.user[:lastname].to_s.downcase + homework.user[:firstname].to_s.downcase).include?(name)
- }
+ if name == ""
+ select_homework = homeworks
+ else
+ name = name.downcase
+ select_homework = homeworks.select{ |homework|
+ homework.user[:login].to_s.downcase.include?(name) || homework.user.user_extensions[:student_id].to_s.downcase.include?(name) || (homework.user[:lastname].to_s.downcase + homework.user[:firstname].to_s.downcase).include?(name)
+ }
+ end
select_homework
end
@@ -519,25 +461,7 @@ class StudentWorkController < ApplicationController
sheet1 = book.create_worksheet :name => "homework"
blue = Spreadsheet::Format.new :color => :blue, :weight => :bold, :size => 10
sheet1.row(0).default_format = blue
- if @homework.homework_type == 0 #普通作业
- sheet1.row(0).concat([l(:excel_user_id),l(:excel_user_name),l(:excel_nickname),l(:excel_student_id),l(:excel_mail),l(:excel_homework_name),
- l(:excel_t_score),l(:excel_ta_score),l(:excel_f_score),l(:excel_commit_time)])
- count_row = 1
- items.each do |homework|
- sheet1[count_row,0]=homework.user.id
- sheet1[count_row,1] = homework.user.lastname.to_s + homework.user.firstname.to_s
- sheet1[count_row,2] = homework.user.login
- sheet1[count_row,3] = homework.user.user_extensions.student_id
- sheet1[count_row,4] = homework.user.mail
- sheet1[count_row,5] = homework.name
- sheet1[count_row,6] = homework.teacher_score.nil? ? l(:label_without_score) : format("%.2f",homework.teacher_score)
- sheet1[count_row,7] = homework.teaching_asistant_score.nil? ? l(:label_without_score) : format("%.2f",homework.teaching_asistant_score)
- # sheet1[count_row,8] = homework.student_score.nil? ? l(:label_without_score) : format("%.2f",homework.student_score)
- sheet1[count_row,8] = homework.respond_to?("score") ? homework.score.nil? ? l(:label_without_score) : format("%.2f",homework.score) : l(:label_without_score)
- sheet1[count_row,9] = format_time(homework.created_at)
- count_row += 1
- end
- elsif @homework.homework_type == 1 #匿评作业
+ if @homework.homework_type == 1 #匿评作业
sheet1.row(0).concat([l(:excel_user_id),l(:excel_user_name),l(:excel_nickname),l(:excel_student_id),l(:excel_mail),l(:excel_homework_name),
l(:excel_t_score),l(:excel_ta_score), l(:excel_n_score),l(:excel_f_score),l(:excel_commit_time)])
count_row = 1
@@ -557,7 +481,7 @@ class StudentWorkController < ApplicationController
end
elsif @homework.homework_type == 2 #编程作业
sheet1.row(0).concat([l(:excel_user_id),l(:excel_user_name),l(:excel_nickname),l(:excel_student_id),l(:excel_mail),l(:excel_homework_name),
- l(:excel_t_score),l(:excel_ta_score), l(:excel_s_score),l(:excel_f_score),l(:excel_commit_time)])
+ l(:excel_t_score),l(:excel_ta_score), l(:excel_s_score),l(:excel_n_score),l(:excel_f_score),l(:excel_commit_time)])
count_row = 1
items.each do |homework|
sheet1[count_row,0]=homework.user.id
@@ -568,9 +492,10 @@ class StudentWorkController < ApplicationController
sheet1[count_row,5] = homework.name
sheet1[count_row,6] = homework.teacher_score.nil? ? l(:label_without_score) : format("%.2f",homework.teacher_score)
sheet1[count_row,7] = homework.teaching_asistant_score.nil? ? l(:label_without_score) : format("%.2f",homework.teaching_asistant_score)
- sheet1[count_row,8] = homework.student_score.nil? ? l(:label_without_score) : format("%.2f",homework.student_score)
- sheet1[count_row,9] = homework.respond_to?("score") ? homework.score.nil? ? l(:label_without_score) : format("%.2f",homework.score) : l(:label_without_score)
- sheet1[count_row,10] = format_time(homework.created_at)
+ sheet1[count_row,8] = homework.system_score.nil? ? l(:label_without_score) : format("%.2f",homework.system_score)
+ sheet1[count_row,9] = homework.student_score.nil? ? l(:label_without_score) : format("%.2f",homework.student_score)
+ sheet1[count_row,10] = homework.respond_to?("score") ? homework.score.nil? ? l(:label_without_score) : format("%.2f",homework.score) : l(:label_without_score)
+ sheet1[count_row,11] = format_time(homework.created_at)
count_row += 1
end
end
@@ -670,4 +595,103 @@ class StudentWorkController < ApplicationController
end
JSON.parse(res.body)
end
+
+ #成绩计算
+ def set_final_score homework,student_work
+ if homework && homework.homework_detail_manual
+ if homework.homework_type == 1 #匿评作业
+ if homework.teacher_priority == 1 #教师优先
+ if student_work.teacher_score
+ student_work.final_score = student_work.teacher_score
+ else
+ if student_work.teaching_asistant_score.nil?
+ student_work.final_score = student_work.student_score
+ elsif student_work.student_score.nil?
+ student_work.final_score = student_work.teaching_asistant_score
+ else
+ ta_proportion = homework.homework_detail_manual.ta_proportion
+ final_ta_score = BigDecimal.new("#{student_work.teaching_asistant_score}") * BigDecimal.new("#{ta_proportion}")
+ final_s_score = BigDecimal.new("#{student_work.student_score}") * (BigDecimal.new('1.0') - BigDecimal.new("#{ta_proportion}"))
+ final_score = final_ta_score + final_s_score
+ student_work.final_score = format("%.2f",final_score.to_f)
+ end
+ end
+ else #不考虑教师评分
+ if student_work.teaching_asistant_score.nil?
+ student_work.final_score = student_work.student_score
+ elsif student_work.student_score.nil?
+ student_work.final_score = student_work.teaching_asistant_score
+ else
+ ta_proportion = homework.homework_detail_manual.ta_proportion
+ final_ta_score = BigDecimal.new("#{student_work.teaching_asistant_score}") * BigDecimal.new("#{ta_proportion}")
+ final_s_score = BigDecimal.new("#{student_work.student_score}") * (BigDecimal.new('1.0') - BigDecimal.new("#{ta_proportion}"))
+ final_score = final_ta_score + final_s_score
+ student_work.final_score = format("%.2f",final_score.to_f)
+ end
+ end
+ elsif homework.homework_type == 2 && homework.homework_detail_programing #编程作业-----设定:系统评分必定不为空
+ if homework.teacher_priority == 1 #教师优先
+ if student_work.teacher_score
+ student_work.final_score = student_work.teacher_score
+ else
+ if student_work.teaching_asistant_score.nil? #教辅未评分
+ if student_work.student_score.nil?
+ student_work.final_score = student_work.system_score
+ else
+ ta_proportion = homework.homework_detail_programing.ta_proportion + homework.homework_detail_manual.ta_proportion / 2
+ final_sy_score = BigDecimal.new("#{student_work.system_score || 0}") * BigDecimal.new("#{ta_proportion}")
+ final_st_score = BigDecimal.new("#{student_work.student_score}") * (BigDecimal.new('1.0') - BigDecimal.new("#{ta_proportion}"))
+ final_score = final_sy_score + final_st_score
+ student_work.final_score = format("%.2f",final_score.to_f)
+ end
+ elsif student_work.student_score.nil? #学生未评分
+ if student_work.teaching_asistant_score.nil?
+ student_work.final_score = student_work.system_score
+ else
+ ta_proportion = homework.homework_detail_programing.ta_proportion + (1.0 - homework.homework_detail_manual.ta_proportion - homework.homework_detail_programing.ta_proportion) / 2
+ final_sy_score = BigDecimal.new("#{student_work.system_score || 0}") * BigDecimal.new("#{ta_proportion}")
+ final_ts_score = BigDecimal.new("#{student_work.teaching_asistant_score}") * (BigDecimal.new('1.0') - BigDecimal.new("#{ta_proportion}"))
+ final_score = final_sy_score + final_ts_score
+ student_work.final_score = format("%.2f",final_score.to_f)
+ end
+ else
+ final_sy_score = BigDecimal.new("#{student_work.system_score || 0}") * BigDecimal.new("#{homework.homework_detail_programing.ta_proportion}")
+ final_ts_score = BigDecimal.new("#{student_work.teaching_asistant_score}") * BigDecimal.new("#{homework.homework_detail_manual.ta_proportion}")
+ final_st_score = BigDecimal.new("#{student_work.student_score}") * (BigDecimal.new('1.0') - BigDecimal.new("#{homework.homework_detail_programing.ta_proportion}") - BigDecimal.new("#{homework.homework_detail_manual.ta_proportion}"))
+ final_score = final_sy_score + final_ts_score + final_st_score
+ student_work.final_score = format("%.2f",final_score.to_f)
+ end
+ end
+ else #不考虑教师评分
+ if student_work.teaching_asistant_score.nil? #教辅未评分
+ if student_work.student_score.nil?
+ student_work.final_score = student_work.system_score
+ else
+ ta_proportion = homework.homework_detail_programing.ta_proportion + homework.homework_detail_manual.ta_proportion / 2
+ final_sy_score = BigDecimal.new("#{student_work.system_score || 0}") * BigDecimal.new("#{ta_proportion}")
+ final_st_score = BigDecimal.new("#{student_work.student_score}") * (BigDecimal.new('1.0') - BigDecimal.new("#{ta_proportion}"))
+ final_score = final_sy_score + final_st_score
+ student_work.final_score = format("%.2f",final_score.to_f)
+ end
+ elsif student_work.student_score.nil? #学生未评分
+ if student_work.teaching_asistant_score.nil?
+ student_work.final_score = student_work.system_score
+ else
+ ta_proportion = homework.homework_detail_programing.ta_proportion + (1.0 - homework.homework_detail_manual.ta_proportion - homework.homework_detail_programing.ta_proportion) / 2
+ final_sy_score = BigDecimal.new("#{student_work.system_score || 0}") * BigDecimal.new("#{ta_proportion}")
+ final_ts_score = BigDecimal.new("#{student_work.teaching_asistant_score}") * (BigDecimal.new('1.0') - BigDecimal.new("#{ta_proportion}"))
+ final_score = final_sy_score + final_ts_score
+ student_work.final_score = format("%.2f",final_score.to_f)
+ end
+ else
+ final_sy_score = BigDecimal.new("#{student_work.system_score || 0}") * BigDecimal.new("#{homework.homework_detail_programing.ta_proportion}")
+ final_ts_score = BigDecimal.new("#{student_work.teaching_asistant_score}") * BigDecimal.new("#{homework.homework_detail_manual.ta_proportion}")
+ final_st_score = BigDecimal.new("#{student_work.student_score}") * (BigDecimal.new('1.0') - BigDecimal.new("#{homework.homework_detail_programing.ta_proportion}") - BigDecimal.new("#{homework.homework_detail_manual.ta_proportion}"))
+ final_score = final_sy_score + final_ts_score + final_st_score
+ student_work.final_score = format("%.2f",final_score.to_f)
+ end
+ end
+ end
+ end
+ end
end
\ No newline at end of file
diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb
index 91518eaca..cb6555768 100644
--- a/app/controllers/users_controller.rb
+++ b/app/controllers/users_controller.rb
@@ -444,7 +444,8 @@ class UsersController < ApplicationController
homework.end_time = params[:homework_common][:end_time] || Time.now
homework.publish_time = Time.now
homework.homework_type = params[:homework_type].to_i || 1
- homework.late_penalty = 2
+ homework.late_penalty = 10
+ homework.teacher_priority = 1
homework.user_id = User.current.id
homework.course_id = params[:course_id]
@@ -452,19 +453,19 @@ class UsersController < ApplicationController
render_attachment_warning_if_needed(homework)
homework_detail_manual = HomeworkDetailManual.new
- homework_detail_manual.ta_proportion = params[:ta_proportion] || 0.6
+ homework_detail_manual.ta_proportion = homework.homework_type == 1 ? 0.6 : 0.3
homework_detail_manual.comment_status = 1
homework_detail_manual.evaluation_start = Time.now
homework_detail_manual.evaluation_end = Time.now
homework_detail_manual.evaluation_num = params[:evaluation_num] || 3
- homework_detail_manual.absence_penalty = 2
+ homework_detail_manual.absence_penalty = 5
homework.homework_detail_manual = homework_detail_manual
#编程作业相关属性
if homework.homework_type == 2
homework_detail_programing = HomeworkDetailPrograming.new
homework.homework_detail_programing = homework_detail_programing
- homework_detail_programing.ta_proportion = params[:ta_proportion] || 0.6
+ homework_detail_programing.ta_proportion = 0.5
homework_detail_programing.language = params[:language_type].to_i
inputs = params[:program][:input]
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index f507190ca..1982542a9 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -2297,13 +2297,6 @@ module ApplicationHelper
#获取匿评相关连接代码
def homework_anonymous_comment homework
- # if homework.homework_type == 1 && homework.homework_detail_manual #匿评作业
- #
- # elsif homework.homework_type == 2 && homework.homework_detail_programing #编程作业作业
- # link = "编程作业 ".html_safe
- # else
- # link = "启动匿评 ".html_safe
- # end
if Time.parse(homework.end_time.to_s).strftime("%Y-%m-%d") >= Time.now.strftime("%Y-%m-%d")
link = link_to "启动匿评","javascript:void(0)", :class => "postOptionLink", :title => "作业截止日期之前不可以启动匿评"
elsif homework.student_works.count >= 2 #作业份数大于2
@@ -2316,7 +2309,7 @@ module ApplicationHelper
link = link_to "匿评结束","javascript:void(0)", :class => "postOptionLink", :title => "匿评结束"
end
else
- link = link = link_to "启动匿评","javascript:void(0)", :class => "postOptionLink", :title => "学生提交作业数大于2时才可以启动匿评"
+ link = link_to "启动匿评","javascript:void(0)", :class => "postOptionLink", :title => "学生提交作业数大于2时才可以启动匿评"
end
link
end
@@ -2324,14 +2317,18 @@ module ApplicationHelper
def student_new_homework homework
work = cur_user_works_for_homework homework
if work.nil?
- link_to l(:label_commit_homework), new_student_work_path(:homework => homework.id),:class => 'fr mr10 work_edit'
+ link_to "提交作品", new_student_work_path(:homework => homework.id),:class => 'fr mr10 work_edit'
else
if homework.homework_type == 1 && homework.homework_detail_manual && homework.homework_detail_manual.comment_status != 1 #匿评作业,且作业状态不是在开启匿评之前
- "#{l(:label_edit_homework)} ".html_safe
- elsif homework.homework_type == 2 #编程作业不能修改作品
- "作品已交 ".html_safe
+ link_to "作品已交", "javascript:void(0);", :class => 'fr mr10 pr_join_span c_white', :title => "开启匿评后不可修改作品"
+ elsif homework.homework_type == 2 #编程作业修改作品
+ if homework.homework_detail_manual && homework.homework_detail_manual.comment_status != 1
+ link_to "作品已交", "javascript:void(0);", :class => 'fr mr10 pr_join_span c_white', :title => "开启匿评后不可修改作品"
+ else
+ link_to "修改作品", new_student_work_path(:homework => homework.id),:class => 'fr mr10 work_edit'
+ end
else
- link_to l(:label_edit_homework), edit_student_work_path(work.id),:class => 'fr mr10 work_edit c_blue'
+ link_to "修改作品", edit_student_work_path(work.id),:class => 'fr mr10 work_edit'
end
end
end
@@ -2362,7 +2359,7 @@ module ApplicationHelper
if homework.homework_type == 1 && homework.homework_detail_manual && homework.homework_detail_manual.comment_status != 1 #匿评作业,且作业状态不是在开启匿评之前
link_to "作品已交", "", :class => 'c_blue', :title => "开启匿评后不可修改作品"
elsif homework.homework_type == 2 #编程作业不能修改作品
- link_to "作品已交", student_work_index_path(:homework => homework.id),:class => 'c_blue',:title => "编程作业不可修改作品"
+ link_to "修改作品", new_student_work_path(:homework => homework.id),:class => 'c_blue'
else
link_to "修改作品", edit_student_work_path(work.id),:class => 'c_blue'
end
diff --git a/app/helpers/student_work_helper.rb b/app/helpers/student_work_helper.rb
index aa359e273..834b8dd61 100644
--- a/app/helpers/student_work_helper.rb
+++ b/app/helpers/student_work_helper.rb
@@ -99,4 +99,31 @@ module StudentWorkHelper
end
result
end
+
+ #教辅评分比例下拉框
+ def ta_proportion_option
+ type = []
+ i = 0
+ while i <= 100
+ option = []
+ option << i.to_s + "%"
+ option << i.to_f / 100
+ type << option
+ i += 10
+ end
+ type
+ end
+
+ def ta_proportion_option_to num
+ type = []
+ i = 0
+ while i <= num
+ option = []
+ option << i.to_s + "%"
+ option << i.to_f / 100
+ type << option
+ i += 10
+ end
+ type
+ end
end
\ No newline at end of file
diff --git a/app/models/student_work.rb b/app/models/student_work.rb
index 0a5c1b65c..a6d641c0c 100644
--- a/app/models/student_work.rb
+++ b/app/models/student_work.rb
@@ -31,6 +31,7 @@ class StudentWork < ActiveRecord::Base
else
self.system_score = last_test.test_score
end
+ set_final_score self.homework_common,self
end
end
@@ -38,4 +39,102 @@ class StudentWork < ActiveRecord::Base
self.description = last_test.src if last_test
end
+ #成绩计算
+ def set_final_score homework,student_work
+ if homework && homework.homework_detail_manual
+ if homework.homework_type == 1 #匿评作业
+ if homework.teacher_priority == 1 #教师优先
+ if student_work.teacher_score
+ student_work.final_score = student_work.teacher_score
+ else
+ if student_work.teaching_asistant_score.nil?
+ student_work.final_score = student_work.student_score
+ elsif student_work.student_score.nil?
+ student_work.final_score = student_work.teaching_asistant_score
+ else
+ ta_proportion = homework.homework_detail_manual.ta_proportion
+ final_ta_score = BigDecimal.new("#{student_work.teaching_asistant_score}") * BigDecimal.new("#{ta_proportion}")
+ final_s_score = BigDecimal.new("#{student_work.student_score}") * (BigDecimal.new('1.0') - BigDecimal.new("#{ta_proportion}"))
+ final_score = final_ta_score + final_s_score
+ student_work.final_score = format("%.2f",final_score.to_f)
+ end
+ end
+ else #不考虑教师评分
+ if student_work.teaching_asistant_score.nil?
+ student_work.final_score = student_work.student_score
+ elsif student_work.student_score.nil?
+ student_work.final_score = student_work.teaching_asistant_score
+ else
+ ta_proportion = homework.homework_detail_manual.ta_proportion
+ final_ta_score = BigDecimal.new("#{student_work.teaching_asistant_score}") * BigDecimal.new("#{ta_proportion}")
+ final_s_score = BigDecimal.new("#{student_work.student_score}") * (BigDecimal.new('1.0') - BigDecimal.new("#{ta_proportion}"))
+ final_score = final_ta_score + final_s_score
+ student_work.final_score = format("%.2f",final_score.to_f)
+ end
+ end
+ elsif homework.homework_type == 2 && homework.homework_detail_programing #编程作业-----设定:系统评分必定不为空
+ if homework.teacher_priority == 1 #教师优先
+ if student_work.teacher_score
+ student_work.final_score = student_work.teacher_score
+ else
+ if student_work.teaching_asistant_score.nil? #教辅未评分
+ if student_work.student_score.nil?
+ student_work.final_score = student_work.system_score
+ else
+ ta_proportion = homework.homework_detail_programing.ta_proportion + homework.homework_detail_manual.ta_proportion / 2
+ final_sy_score = BigDecimal.new("#{student_work.system_score || 0}") * BigDecimal.new("#{ta_proportion}")
+ final_st_score = BigDecimal.new("#{student_work.student_score}") * (BigDecimal.new('1.0') - BigDecimal.new("#{ta_proportion}"))
+ final_score = final_sy_score + final_st_score
+ student_work.final_score = format("%.2f",final_score.to_f)
+ end
+ elsif student_work.student_score.nil? #学生未评分
+ if student_work.teaching_asistant_score.nil?
+ student_work.final_score = student_work.system_score
+ else
+ ta_proportion = homework.homework_detail_programing.ta_proportion + (1.0 - homework.homework_detail_manual.ta_proportion - homework.homework_detail_programing.ta_proportion) / 2
+ final_sy_score = BigDecimal.new("#{student_work.system_score || 0}") * BigDecimal.new("#{ta_proportion}")
+ final_ts_score = BigDecimal.new("#{student_work.teaching_asistant_score}") * (BigDecimal.new('1.0') - BigDecimal.new("#{ta_proportion}"))
+ final_score = final_sy_score + final_ts_score
+ student_work.final_score = format("%.2f",final_score.to_f)
+ end
+ else
+ final_sy_score = BigDecimal.new("#{student_work.system_score || 0}") * BigDecimal.new("#{homework.homework_detail_programing.ta_proportion}")
+ final_ts_score = BigDecimal.new("#{student_work.teaching_asistant_score}") * BigDecimal.new("#{homework.homework_detail_manual.ta_proportion}")
+ final_st_score = BigDecimal.new("#{student_work.student_score}") * (BigDecimal.new('1.0') - BigDecimal.new("#{homework.homework_detail_programing.ta_proportion}") - BigDecimal.new("#{homework.homework_detail_manual.ta_proportion}"))
+ final_score = final_sy_score + final_ts_score + final_st_score
+ student_work.final_score = format("%.2f",final_score.to_f)
+ end
+ end
+ else #不考虑教师评分
+ if student_work.teaching_asistant_score.nil? #教辅未评分
+ if student_work.student_score.nil?
+ student_work.final_score = student_work.system_score
+ else
+ ta_proportion = homework.homework_detail_programing.ta_proportion + homework.homework_detail_manual.ta_proportion / 2
+ final_sy_score = BigDecimal.new("#{student_work.system_score || 0}") * BigDecimal.new("#{ta_proportion}")
+ final_st_score = BigDecimal.new("#{student_work.student_score}") * (BigDecimal.new('1.0') - BigDecimal.new("#{ta_proportion}"))
+ final_score = final_sy_score + final_st_score
+ student_work.final_score = format("%.2f",final_score.to_f)
+ end
+ elsif student_work.student_score.nil? #学生未评分
+ if student_work.teaching_asistant_score.nil?
+ student_work.final_score = student_work.system_score
+ else
+ ta_proportion = homework.homework_detail_programing.ta_proportion + (1.0 - homework.homework_detail_manual.ta_proportion - homework.homework_detail_programing.ta_proportion) / 2
+ final_sy_score = BigDecimal.new("#{student_work.system_score || 0}") * BigDecimal.new("#{ta_proportion}")
+ final_ts_score = BigDecimal.new("#{student_work.teaching_asistant_score}") * (BigDecimal.new('1.0') - BigDecimal.new("#{ta_proportion}"))
+ final_score = final_sy_score + final_ts_score
+ student_work.final_score = format("%.2f",final_score.to_f)
+ end
+ else
+ final_sy_score = BigDecimal.new("#{student_work.system_score || 0}") * BigDecimal.new("#{homework.homework_detail_programing.ta_proportion}")
+ final_ts_score = BigDecimal.new("#{student_work.teaching_asistant_score}") * BigDecimal.new("#{homework.homework_detail_manual.ta_proportion}")
+ final_st_score = BigDecimal.new("#{student_work.student_score}") * (BigDecimal.new('1.0') - BigDecimal.new("#{homework.homework_detail_programing.ta_proportion}") - BigDecimal.new("#{homework.homework_detail_manual.ta_proportion}"))
+ final_score = final_sy_score + final_ts_score + final_st_score
+ student_work.final_score = format("%.2f",final_score.to_f)
+ end
+ end
+ end
+ end
+ end
end
diff --git a/app/views/homework_common/alert_anonymous_comment.js.erb b/app/views/homework_common/alert_anonymous_comment.js.erb
index 375b333f1..1c354aa45 100644
--- a/app/views/homework_common/alert_anonymous_comment.js.erb
+++ b/app/views/homework_common/alert_anonymous_comment.js.erb
@@ -3,4 +3,4 @@ showModal('ajax-modal', '500px');
$('#ajax-modal').siblings().remove();
$('#ajax-modal').before("" +
" ");
-$('#ajax-modal').parent().css("top","30%").css("left","30%");
\ No newline at end of file
+$('#ajax-modal').parent().css("top","30%").css("left","30%").css("position","fixed");
\ No newline at end of file
diff --git a/app/views/homework_common/index.html.erb b/app/views/homework_common/index.html.erb
index a39f93671..d7723452b 100644
--- a/app/views/homework_common/index.html.erb
+++ b/app/views/homework_common/index.html.erb
@@ -25,9 +25,9 @@
( <%= link_to homework.student_works.count, student_work_index_path(:homework => homework.id), :class => 'c_red'%> )
<% if @is_teacher%>
- <%#= homework_anonymous_comment(homework)%>
- <%#= link_to(l(:label_bid_respond_delete), homework_common_path(homework),:method => 'delete', :confirm => l(:text_are_you_sure), :class => "fr mr10 work_edit") %>
- <%#= link_to(l(:button_edit),edit_homework_common_path(homework), :class => "fr mr10 work_edit") %>
+ <%= homework_anonymous_comment(homework)%>
+ <%= link_to(l(:label_bid_respond_delete), homework_common_path(homework),:method => 'delete', :confirm => l(:text_are_you_sure), :class => "fr mr10 work_edit") %>
+ <%= link_to(l(:button_edit),edit_homework_common_path(homework), :class => "fr mr10 work_edit") %>
<% elsif @is_student%>
<%= student_anonymous_comment homework %>
<%= student_new_homework homework %>
diff --git a/app/views/homework_common/stop_anonymous_comment.js.erb b/app/views/homework_common/stop_anonymous_comment.js.erb
index 9a6131c64..3cbac1bf6 100644
--- a/app/views/homework_common/stop_anonymous_comment.js.erb
+++ b/app/views/homework_common/stop_anonymous_comment.js.erb
@@ -1,2 +1,2 @@
-$("#<%= @homework.id %>_stop_anonymous_comment").replaceWith('匿评结束 ');
+$("#<%= @homework.id %>_stop_anonymous_comment").replaceWith('匿评结束 ');
alert('关闭成功');
\ No newline at end of file
diff --git a/app/views/layouts/base_courses.html.erb b/app/views/layouts/base_courses.html.erb
index 4830431a0..800f2ff9d 100644
--- a/app/views/layouts/base_courses.html.erb
+++ b/app/views/layouts/base_courses.html.erb
@@ -145,12 +145,12 @@
- <%= render_flash_messages %>
<%= yield %>
- <%= call_hook :view_layouts_base_content %>
+ <%#= render_flash_messages %>
+ <%#= call_hook :view_layouts_base_content %>
-
+
diff --git a/app/views/student_work/_add_score_reply.html.erb b/app/views/student_work/_add_score_reply.html.erb
index 2866b2da6..417d3d2c1 100644
--- a/app/views/student_work/_add_score_reply.html.erb
+++ b/app/views/student_work/_add_score_reply.html.erb
@@ -1,4 +1,5 @@
<%= form_for('', :remote => true, :method => :post,:url => add_score_reply_student_work_index_path(:score_id => score.id)) do |f|%>
<%= f.text_area 'message', :class => 'ping_text', :placeholder => l(:text_caracters_maximum,:count=>250),:maxlength => 250 %>
+
回复
<% end%>
\ No newline at end of file
diff --git a/app/views/student_work/_evaluation_student_work_title.html.erb b/app/views/student_work/_evaluation_student_work_title.html.erb
deleted file mode 100644
index f19438f78..000000000
--- a/app/views/student_work/_evaluation_student_work_title.html.erb
+++ /dev/null
@@ -1,47 +0,0 @@
-
- 学号
-
-
- <%= link_to "姓名",@show_all ? student_work_index_path(:homework => @homework.id,:order => "name", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "f14 f_b c_dark fl"%>
- <% if @show_all && @order == "name"%>
- <%= link_to "",student_work_index_path(:homework => @homework.id,:order => "name", :sort => @score, :name => @name, :group => @group) ,:class => @score == 'desc' ? 'st_up' : 'st_down'%>
- <% end%>
-
-
- 作品名称
-
-
- <%= link_to "时间",@show_all ? student_work_index_path(:homework => @homework.id,:order => "created_at", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "f14 f_b c_dark fl"%>
- <% if @show_all && @order == "created_at"%>
- <%= link_to "",student_work_index_path(:homework => @homework.id,:order => "created_at", :sort => @score, :name => @name, :group => @group) ,:class => @score == 'desc' ? 'st_up' : 'st_down'%>
- <% end%>
-
-
- <%= link_to "教师",@show_all ? student_work_index_path(:homework => @homework.id,:order => "teacher_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "f14 f_b c_dark fl"%>
- <% if @show_all && @order == "teacher_score"%>
- <%= link_to "", student_work_index_path(:homework => @homework.id,:order => "teacher_score", :sort => @score, :name => @name, :group => @group) ,:class => @score == 'desc' ? 'st_up' : 'st_down'%>
- <% end%>
-
-
- <%= link_to "教辅",@show_all ? student_work_index_path(:homework => @homework.id,:order => "teaching_asistant_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "f14 f_b c_dark fl"%>
- <% if @show_all && @order == "teaching_asistant_score"%>
- <%= link_to "", student_work_index_path(:homework => @homework.id,:order => "teaching_asistant_score", :sort => @score, :name => @name, :group => @group) ,:class => @score == 'desc' ? 'st_up' : 'st_down'%>
-
- <% end%>
-
-
- <% if @homework.homework_type == 1%>
- <%= link_to "匿评",@show_all ? student_work_index_path(:homework => @homework.id,:order => "student_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "f14 f_b c_dark fl"%>
- <% elsif @homework.homework_type == 2%>
- <%= link_to "系统",@show_all ? student_work_index_path(:homework => @homework.id,:order => "student_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "f14 f_b c_dark fl"%>
- <% end %>
- <% if @show_all && @order == "student_score"%>
- <%= link_to "", student_work_index_path(:homework => @homework.id,:order => "student_score", :sort => @score, :name => @name, :group => @group) ,:class => @score == 'desc' ? 'st_up' : 'st_down'%>
- <% end%>
-
-
- <%= link_to "成绩",@show_all ? student_work_index_path(:homework => @homework.id,:order => "score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "f14 f_b c_dark fl"%>
- <% if @show_all && @order == "score"%>
- <%= link_to "", student_work_index_path(:homework => @homework.id,:order => "score", :sort => @score, :name => @name, :group => @group) ,:class => @score == 'desc' ? 'st_up' : 'st_down'%>
- <% end%>
-
\ No newline at end of file
diff --git a/app/views/student_work/_evaluation_title.html.erb b/app/views/student_work/_evaluation_title.html.erb
new file mode 100644
index 000000000..bb1919472
--- /dev/null
+++ b/app/views/student_work/_evaluation_title.html.erb
@@ -0,0 +1,8 @@
+
\ No newline at end of file
diff --git a/app/views/student_work/_evaluation_un_title.html.erb b/app/views/student_work/_evaluation_un_title.html.erb
new file mode 100644
index 000000000..8ca855e9b
--- /dev/null
+++ b/app/views/student_work/_evaluation_un_title.html.erb
@@ -0,0 +1,37 @@
+
+
+ 作品信息
+
+
+ <%= link_to "教师评分",@show_all ? student_work_index_path(:homework => @homework.id,:order => "teacher_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "c_dark f14 fb fl ml10"%>
+ <% if @show_all && @order == "teacher_score"%>
+ <%= link_to "", student_work_index_path(:homework => @homework.id,:order => "teacher_score", :sort => @score, :name => @name, :group => @group) ,:class => "#{@score == 'desc' ? 'st_up' : 'st_down'} mt19"%>
+ <% end%>
+
+
+ <%= link_to "教辅评分",@show_all ? student_work_index_path(:homework => @homework.id,:order => "teaching_asistant_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "c_dark f14 fb fl ml10"%>
+ <% if @show_all && @order == "teaching_asistant_score"%>
+ <%= link_to "", student_work_index_path(:homework => @homework.id,:order => "teaching_asistant_score", :sort => @score, :name => @name, :group => @group) ,:class => "#{@score == 'desc' ? 'st_up' : 'st_down'} mt19"%>
+ <% end%>
+
+ <% if @homework.homework_type == 2%>
+
+ <%= link_to "系统评分",@show_all ? student_work_index_path(:homework => @homework.id,:order => "system_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "c_dark f14 fb fl ml10"%>
+ <% if @show_all && @order == "system_score"%>
+ <%= link_to "", student_work_index_path(:homework => @homework.id,:order => "system_score", :sort => @score, :name => @name, :group => @group) ,:class => "#{@score == 'desc' ? 'st_up' : 'st_down'} mt19"%>
+ <% end%>
+
+ <% end%>
+
+ <%= link_to "匿评",@show_all ? student_work_index_path(:homework => @homework.id,:order => "student_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "c_dark f14 fb fl ml10"%>
+ <% if @show_all && @order == "student_score"%>
+ <%= link_to "", student_work_index_path(:homework => @homework.id,:order => "student_score", :sort => @score, :name => @name, :group => @group) ,:class => "#{@score == 'desc' ? 'st_up' : 'st_down'} mt19"%>
+ <% end%>
+
+
+ <%= link_to "成绩",@show_all ? student_work_index_path(:homework => @homework.id,:order => "score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "c_dark f14 fb fl ml10"%>
+ <% if @show_all && @order == "score"%>
+ <%= link_to "", student_work_index_path(:homework => @homework.id,:order => "score", :sort => @score, :name => @name, :group => @group) ,:class => "#{@score == 'desc' ? 'st_up' : 'st_down'} mt19"%>
+ <% end%>
+
+
\ No newline at end of file
diff --git a/app/views/student_work/_evaluation_un_work.html.erb b/app/views/student_work/_evaluation_un_work.html.erb
new file mode 100644
index 000000000..caaaa2775
--- /dev/null
+++ b/app/views/student_work/_evaluation_un_work.html.erb
@@ -0,0 +1,76 @@
+
+
+
+
+
+ <% student_work_name = student_work.name.nil? || student_work.name.empty? ? student_work.user.show_name + '的作品' : student_work.name%>
+ <%= link_to student_work_name, student_work_path(student_work),:remote => true,:title => student_work_name, :class => "linkGrey f14"%>
+
+
+
+
+
+ 姓名:<%= student_work.user.show_name%>
+
+
+ 学号:
+ <%= student_work.user.user_extensions.nil? ? "--" : student_work.user.user_extensions.student_id%>
+
+
+ 时间:
+ <% if Time.parse(@homework.end_time.to_s).strftime("%Y-%m-%d") < Time.parse(student_work.created_at.to_s).strftime("%Y-%m-%d") %>
+ 迟交
+ <% else%>
+ <%= format_time student_work.created_at%>
+ <% end %>
+
+
+
+
+
+
+ <%= student_work.teacher_score.nil? ? "--" : format("%.1f",student_work.teacher_score)%>
+
+
+ <%= student_work.teaching_asistant_score.nil? ? "--" : format("%.1f",student_work.teaching_asistant_score)%>
+
+
+ <% if @homework.homework_type == 2%>
+
+
+ <%= student_work.system_score.nil? ? "--" : format("%.1f",student_work.system_score)%>
+
+ <% end%>
+
+ <%= student_work.student_score.nil? ? "--" : format("%.1f",student_work.student_score)%>
+ <% unless student_work.student_score.nil?%>
+
+ (<%= student_work.student_works_scores.where(:reviewer_role => 3).count%>)
+
+
+ 现共有
+ <%= student_work.student_works_scores.where(:reviewer_role => 3).count%>
+ 名学生进行了匿评,平均分为
+ <%= format("%.1f",student_work.student_score)%> 分。
+
+ <% end%>
+
+
+
+ <% score = student_work.respond_to?("score") ? student_work.score : student_work.final_score - student_work.absence_penalty - student_work.late_penalty%>
+
+ <%= score.nil? ? "--" : format("%.1f",score)%>
+ <% unless score.nil?%>
+
+ 作品最终评分为
+ <%= student_work.final_score%> 分。
+ 迟交扣分
+ <%= student_work.late_penalty%> 分,
+ 缺评扣分
+ <%= student_work.absence_penalty%> 分,
+ 最终成绩为
+ <%= format("%.1f",score)%> 分。
+
+ <% end%>
+
+
\ No newline at end of file
diff --git a/app/views/student_work/_evaluation_work.html.erb b/app/views/student_work/_evaluation_work.html.erb
index be07269c3..f8b9addbd 100644
--- a/app/views/student_work/_evaluation_work.html.erb
+++ b/app/views/student_work/_evaluation_work.html.erb
@@ -1,29 +1,51 @@
-" id="student_work_<%= student_work.id%>">
+
<% is_my_work = student_work.user == User.current%>
-
- <% if is_my_work%>
-
- <%= student_work.user.user_extensions.nil? ? "--" : student_work.user.user_extensions.student_id%>
-
- <% else%>
- --
- <% end%>
-
-
- <% if is_my_work%>
- <%= link_to student_work.user.show_name,user_path(student_work.user),:title => student_work.user.show_name, :class => "c_blue02" %>
- <% else%>
- <%= link_to "匿名","javascript:void(0)", :class => "c_blue02"%>
- <% end%>
-
-
- <% student_work_name = student_work.name.nil? || student_work.name.empty? ? '匿名的作品' : student_work.name%>
- <%= link_to student_work_name, student_work_path(student_work),:remote => true, :title => student_work.name, :class => "c_blue02"%>
+
+
+
+ <% if is_my_work%>
+ <% student_work_name = student_work.name.nil? || student_work.name.empty? ? student_work.user.show_name + '的作品' : student_work.name%>
+ <%= link_to student_work_name, student_work_path(student_work),:remote => true,:title => student_work_name, :class => "linkGrey f14"%>
+ <% else%>
+ <%= link_to "匿名的作品", student_work_path(student_work),:remote => true,:title => student_work_name, :class => "linkGrey f14"%>
+ <% end%>
+
+
+
+
+
+ 姓名:
+ <% if is_my_work%>
+ <%= student_work.user.show_name%>
+ <% else%>
+ 匿名
+ <% end%>
+
+
+ 学号:
+ <% if is_my_work%>
+
+ <%= student_work.user.user_extensions.nil? ? "--" : student_work.user.user_extensions.student_id%>
+
+ <% else%>
+ --
+ <% end%>
+
+
+ 时间:
+ <% if Time.parse(@homework.end_time.to_s).strftime("%Y-%m-%d") < Time.parse(student_work.created_at.to_s).strftime("%Y-%m-%d") %>
+ 迟交
+ <% else%>
+ <%= format_time student_work.created_at%>
+ <% end %>
+
+
+
+
<% my_score = student_work_score(student_work,User.current) %>
-
- <%= my_score.nil? ? "--" : format("%.2f",my_score.score)%>
+
+ <%= my_score.nil? ? "--" : format("%.1f",my_score.score)%>
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/views/student_work/_evaluation_work_title.html.erb b/app/views/student_work/_evaluation_work_title.html.erb
deleted file mode 100644
index 0be6228bb..000000000
--- a/app/views/student_work/_evaluation_work_title.html.erb
+++ /dev/null
@@ -1,12 +0,0 @@
-
- 学号
-
-
- 学生姓名
-
-
- 作品名称
-
-
- <%= link_to "我的评分","javascript:void(0)",:class => "c_dark f14 fb fl"%>
-
\ No newline at end of file
diff --git a/app/views/student_work/_jour_replay.html.erb b/app/views/student_work/_jour_replay.html.erb
index 77fb476bf..4b594d7f4 100644
--- a/app/views/student_work/_jour_replay.html.erb
+++ b/app/views/student_work/_jour_replay.html.erb
@@ -6,9 +6,9 @@
<% if jour.user==User.current || User.current.admin? %>
<%= link_to(l(:label_bid_respond_delete), destroy_score_reply_student_work_index_path(:jour_id => jour.id),
- :remote => true, :confirm => l(:text_are_you_sure), :title => l(:button_delete), :class => "fr c_purple") %>
+ :remote => true, :confirm => l(:text_are_you_sure), :title => l(:button_delete), :class => "fr linkBlue mr5") %>
<% end %>
-
+
<%=format_time jour.created_on %>
diff --git a/app/views/student_work/_programing_work_show.html.erb b/app/views/student_work/_programing_work_show.html.erb
index 10e1870ef..b5ff8f064 100644
--- a/app/views/student_work/_programing_work_show.html.erb
+++ b/app/views/student_work/_programing_work_show.html.erb
@@ -1,42 +1,56 @@
-
+
-
- 上交时间:
-
+ 上交时间:
<%=format_time @work.created_at %>
- <% if @work.user != User.current%>
-
+
+ <% if @work.user == User.current && @homework.homework_detail_manual.comment_status == 1 %>
+
+
+ <%= link_to("", student_work_path(@work),:method => 'delete', :confirm => l(:text_are_you_sure), :class => "pic_del") %>
+
+
+ <%= link_to "",new_student_work_path(:homework => @homework.id),:class => "pic_edit"%>
+
+ <% end%>
+ <% if @homework.homework_detail_manual.comment_status == 3 && @work.user != User.current%>
+
<%= render :partial => 'student_work_praise' %>
<% end%>
+
-
- 编程代码:
-
-
- <%= text_format @work.description%>
+
编程代码:
+
+ <%= text_format(@work.description) if @work.description%>
<% if @is_teacher%>
-
+
测试结果:
<% @work.student_work_tests.each_with_index do |test, index| %>
-
第<%= @work.student_work_tests.count - index%>次测试
<%= test.created_at.to_s(:db) %>
+
+ 第<%= @work.student_work_tests.count - index%>次测试
+
+
+ <%= test.created_at.to_s(:db) %>
+
<% if test.status.to_i == -2 %>
-
<%= test.results.first %>
+
+ <%= test.results.first %>
+
<% else %>
@@ -46,9 +60,9 @@
<% if x["status"].to_i != 0 %>
测试错误!
您的输出:
- <%=x["result"]%>
+ <%=x["result"]%>
正确输出:
- <%=x["output"]%>
+ <%=x["output"]%>
<% else %>
测试正确!
@@ -56,27 +70,33 @@
<% end %>
<% end %>
-
+
<% end %>
<% end %>
-
-
-
- <%= render :partial => 'add_score',:locals => {:work => @work,:score => @score}%>
-
<% end%>
+
+
+ <% if @is_teacher || (@homework.homework_detail_manual.comment_status == 2 && @work.user != User.current )%>
+
+
+ <%= render :partial => 'add_score',:locals => {:work => @work,:score => @score}%>
+
+ <% end%>
+
+
-
- <%@work.student_works_scores.order("updated_at desc").each do |score|%>
+
+ <%@student_work_scores.each do |score|%>
- <%= render :partial => 'student_work_score',:locals => {:score => score}%>
+ <%= render :partial => 'student_work_score',:locals => {:score => score,:is_last => score == @student_work_scores.last}%>
<% end%>
-
-
收起
+
+
+
收起
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/views/student_work/_set_score_rule.html.erb b/app/views/student_work/_set_score_rule.html.erb
new file mode 100644
index 000000000..7deed7fb8
--- /dev/null
+++ b/app/views/student_work/_set_score_rule.html.erb
@@ -0,0 +1,63 @@
+<%= form_for('new_form',:url => {:controller => 'student_work',:action => 'set_score_rule',:homework => homework.id},:method => "post") do |f|%>
+
+<% end%>
diff --git a/app/views/student_work/_show.html.erb b/app/views/student_work/_show.html.erb
index f6580659e..2aa14be71 100644
--- a/app/views/student_work/_show.html.erb
+++ b/app/views/student_work/_show.html.erb
@@ -1,72 +1,74 @@
-
-
-
- 上交时间:
- <%=format_time @work.created_at %>
-
+
\ No newline at end of file
diff --git a/app/views/student_work/_student_work_score.html.erb b/app/views/student_work/_student_work_score.html.erb
index 8d10853f8..c800ae8d0 100644
--- a/app/views/student_work/_student_work_score.html.erb
+++ b/app/views/student_work/_student_work_score.html.erb
@@ -1,24 +1,31 @@
-
+
<% show_real_name = @is_teacher || score.user == User.current || score.user.allowed_to?(:as_teacher,@course) %>
<%= link_to image_tag(url_to_avatar(show_real_name ? score.user : ""), :width => "34", :height => "34"), show_real_name ? user_path(score.user) : "javascript:void(0)",:class => "ping_pic fl" %>
-
- <%= link_to show_real_name ? score.user.show_name : "匿名", show_real_name ? user_path(score.user) : "javascript:void(0)", :title => show_real_name ? score.user.show_name : "匿评用户", :class => "c_blue fl" %>
-
(<%= student_work_score_role score%>)
+
+ <%= link_to show_real_name ? score.user.show_name : "匿名", show_real_name ? user_path(score.user) : "javascript:void(0)", :title => show_real_name ? score.user.show_name : "匿评用户", :class => "linkBlue fl" %>
+
+ (<%= student_work_score_role score%>)
+
评分:
-
<%= score.score%>分
-
回复
-
- <%=format_time score.updated_at %>
-
+
+ <%= score.score%>分
+
+
回复
+
+ <%=format_time score.updated_at %>
+
+
<%= score.comment%>
+
<%= render :partial => 'work_attachments', :locals => {:attachments => score.attachments} %>
+
- <%= render :partial => 'add_score_reply',:locals => {:score => score}%>
+ <%= render :partial => 'add_score_reply',:locals => {:score => score,:is_last => is_last}%>
@@ -27,6 +34,6 @@
<%= render :partial => 'jour_replay',:locals => {:jour => jour}%>
<% end%>
+
-
-
\ No newline at end of file
+
diff --git a/app/views/student_work/_student_work_title.html.erb b/app/views/student_work/_student_work_title.html.erb
deleted file mode 100644
index 24e6a1b37..000000000
--- a/app/views/student_work/_student_work_title.html.erb
+++ /dev/null
@@ -1,37 +0,0 @@
-
- 学号
-
-
- <%= link_to "姓名",@show_all ? student_work_index_path(:homework => @homework.id,:order => "name", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "f14 f_b c_dark fl"%>
- <% if @show_all && @order == "name"%>
- <%= link_to "",student_work_index_path(:homework => @homework.id,:order => "name", :sort => @score, :name => @name, :group => @group) ,:class => @score == 'desc' ? 'st_up' : 'st_down'%>
- <% end%>
-
-
- 作品名称
-
-
- <%= link_to "时间",@show_all ? student_work_index_path(:homework => @homework.id,:order => "created_at", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "f14 f_b c_dark fl"%>
- <% if @show_all && @order == "created_at"%>
- <%= link_to "",student_work_index_path(:homework => @homework.id,:order => "created_at", :sort => @score, :name => @name, :group => @group) ,:class => @score == 'desc' ? 'st_up' : 'st_down'%>
- <% end%>
-
-
- <%= link_to "教师",@show_all ? student_work_index_path(:homework => @homework.id,:order => "teacher_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "f14 f_b c_dark fl"%>
- <% if @show_all && @order == "teacher_score"%>
- <%= link_to "", student_work_index_path(:homework => @homework.id,:order => "teacher_score", :sort => @score, :name => @name, :group => @group) ,:class => @score == 'desc' ? 'st_up' : 'st_down'%>
- <% end%>
-
-
- <%= link_to "教辅",@show_all ? student_work_index_path(:homework => @homework.id,:order => "teaching_asistant_score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "f14 f_b c_dark fl"%>
- <% if @show_all && @order == "teaching_asistant_score"%>
- <%= link_to "", student_work_index_path(:homework => @homework.id,:order => "teaching_asistant_score", :sort => @score, :name => @name, :group => @group) ,:class => @score == 'desc' ? 'st_up' : 'st_down'%>
-
- <% end%>
-
-
- <%= link_to "成绩",@show_all ? student_work_index_path(:homework => @homework.id,:order => "score", :sort => @score, :name => @name, :group => @group) : "javascript:void(0)",:class => "f14 f_b c_dark fl"%>
- <% if @show_all && @order == "score"%>
- <%= link_to "", student_work_index_path(:homework => @homework.id,:order => "score", :sort => @score, :name => @name, :group => @group) ,:class => @score == 'desc' ? 'st_up' : 'st_down'%>
- <% end%>
-
\ No newline at end of file
diff --git a/app/views/student_work/_work_attachments.html.erb b/app/views/student_work/_work_attachments.html.erb
index f303897bc..a75f68f70 100644
--- a/app/views/student_work/_work_attachments.html.erb
+++ b/app/views/student_work/_work_attachments.html.erb
@@ -1,8 +1,8 @@
<% attachments.each_with_index do |attachment,i| %>
- <%= link_to_short_attachment attachment, :class => 'link_file', :download => true -%>
- <%= link_to(' '.html_safe, attachment_path(attachment, :format => 'js'), :method => 'delete', :remote => true, :title => '删除', :class => 'remove-upload', :confirm => l(:text_are_you_sure)) if attachment.id && User.current == attachment.author %>
-
(<%= number_to_human_size attachment.filesize %>)
+ <%= link_to_short_attachment attachment, :class => 'link_file_a fl', :download => true -%>
+ <%= link_to(' '.html_safe, attachment_path(attachment, :format => 'js'), :method => 'delete', :remote => true, :title => '删除', :class => 'remove-upload fl', :confirm => l(:text_are_you_sure)) if attachment.id && User.current == attachment.author %>
+
(<%= number_to_human_size attachment.filesize %>)
<% end -%>
diff --git a/app/views/student_work/add_score.js.erb b/app/views/student_work/add_score.js.erb
index 1de92b51a..6cb5bd6d8 100644
--- a/app/views/student_work/add_score.js.erb
+++ b/app/views/student_work/add_score.js.erb
@@ -2,39 +2,16 @@ $("#add_student_score_<%= @work.id%>").html("<%= escape_javascript(render :parti
$('#score_<%= @work.id%>').peSlider({range: 'min'});
<% if @is_new%>
- $("#score_list_<%= @work.id%>").prepend("<%= escape_javascript(render :partial => 'student_work_score', :locals => {:score => @score}) %>
");
+ $("#score_list_<%= @work.id%>").find("div:last").find("ul").addClass("ping_line");
+ $("#score_list_<%= @work.id%>").prepend("<%= escape_javascript(render :partial => 'student_work_score', :locals => {:score => @score,:is_last => true}) %>
");
<% else %>
- $("#work_score_<%= @score.id%>").html("<%= escape_javascript(render :partial => 'student_work_score', :locals => {:score => @score}) %>");
+ $("#work_score_<%= @score.id%>").html("<%= escape_javascript(render :partial => 'student_work_score', :locals => {:score => @score,:is_last => @is_last}) %>");
<% end%>
$("#score_list_<%= @work.id%>").removeAttr("style");
<% if @is_teacher %>
- <% if @homework.homework_type == 1%>
- $("#student_work_<%= @work.id%>").replaceWith("<%= escape_javascript(render :partial => 'evaluation_student_work',:locals => {:student_work => @work}) %>");
- <% elsif @homework.homework_type == 2%>
- $("#student_work_<%= @work.id%>").replaceWith("<%= escape_javascript(render :partial => 'evaluation_student_work',:locals => {:student_work => @work}) %>");
- <% else%>
- $("#student_work_<%= @work.id%>").replaceWith("<%= escape_javascript(render :partial => 'student_work',:locals => {:student_work => @work}) %>");
- <% end%>
+ $("#student_work_<%= @work.id%>").replaceWith("<%= escape_javascript(render :partial => 'evaluation_un_work',:locals => {:student_work => @work}) %>");
<% else %>
$("#student_work_<%= @work.id%>").replaceWith("<%= escape_javascript(render :partial => 'evaluation_work',:locals => {:student_work => @work}) %>");
<% end%>
-
-
-$(function(){
- //匿评评分提示
- $(".student_score_info").bind("mouseover",function(e){
- $(this).find("div").show();
- });
- $(".student_score_info").bind("mouseout",function(e){
- $(this).find("div").hide();
- });
- //最终成绩提示
- $(".student_final_scor_info").bind("mouseover",function(e){
- $(this).find("div").show();
- });
- $(".student_final_scor_info").bind("mouseout",function(e){
- $(this).find("div").hide();
- });
-});
diff --git a/app/views/student_work/add_score_reply.js.erb b/app/views/student_work/add_score_reply.js.erb
index 28704630f..f21870cd5 100644
--- a/app/views/student_work/add_score_reply.js.erb
+++ b/app/views/student_work/add_score_reply.js.erb
@@ -1,4 +1,4 @@
-$("#add_score_reply_<%= @score.id%>").html("<%= escape_javascript(render :partial => 'add_score_reply', :locals => {:score => @score}) %>");
+$("#add_score_reply_<%= @score.id%>").html("<%= escape_javascript(render :partial => 'add_score_reply', :locals => {:score => @score,:is_last => @is_last}) %>");
<% if @status && @status == 1%>
$("#replay_histroy_<%= @score.id%>").prepend("<%= escape_javascript(render :partial => 'jour_replay', :locals => {:jour => @jour}) %>");
$("#add_score_reply_<%= @score.id%>").hide();
diff --git a/app/views/student_work/index.html.erb b/app/views/student_work/index.html.erb
index d128eab67..db704a7de 100644
--- a/app/views/student_work/index.html.erb
+++ b/app/views/student_work/index.html.erb
@@ -1,5 +1,12 @@
-
-
-
+
<%= link_to homework_common.name,student_work_index_path(:homework => homework_common.id),:class => "postGrey"%>
-
+
+ <% if homework_common.homework_detail_manual.comment_status == 1%>
+
未开启匿评
+ <% elsif homework_common.homework_detail_manual.comment_status == 2%>
+
匿评中
+ <% elsif homework_common.homework_detail_manual.comment_status == 3%>
+
匿评已结束
+ <% end%>
<%= user_for_homework_common homework_common,is_teacher %>
<% if homework_common.homework_type == 2 && is_teacher%>
-
- <%= link_to "模拟答题", new_user_commit_homework_users_path(homework_id: homework_common.id, is_test: true), class: 'c_blue test-program-btn', title: '教师可以通过模拟答题设置作业的标准答案' %>
-
+
+ <%= link_to "模拟答题", new_user_commit_homework_users_path(homework_id: homework_common.id, is_test: true), class: 'c_blue test-program-btn', title: '教师可以通过模拟答题设置作业的标准答案' %>
+
+ <% end %>
+ <% if homework_common.homework_type == 2%>
+
+ 语言:
+ <% if homework_common.homework_detail_programing.language.to_i == 1%>
+ C
+ <% elsif homework_common.homework_detail_programing.language.to_i == 2%>
+ C++
+ <% end%>
+
<% end %>
<%= l(:label_end_time)%>:<%= homework_common.end_time%>
diff --git a/app/views/users/new_user_commit_homework.html.erb b/app/views/users/new_user_commit_homework.html.erb
index ab7cb5b59..19a971ece 100644
--- a/app/views/users/new_user_commit_homework.html.erb
+++ b/app/views/users/new_user_commit_homework.html.erb
@@ -49,11 +49,17 @@
diff --git a/config/routes.rb b/config/routes.rb
index 1d2393764..756f744ae 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -119,8 +119,9 @@ RedmineApp::Application.routes.draw do
get 'student_work_absence_penalty'
get 'absence_penalty_list'
get 'evaluation_list'
- post 'set_program_score'
+ # post 'set_program_score'
post 'program_test'
+ post 'set_score_rule'
end
end
diff --git a/db/migrate/20150917022239_add_teacher_priority_to_homework.rb b/db/migrate/20150917022239_add_teacher_priority_to_homework.rb
new file mode 100644
index 000000000..20ab421bc
--- /dev/null
+++ b/db/migrate/20150917022239_add_teacher_priority_to_homework.rb
@@ -0,0 +1,5 @@
+class AddTeacherPriorityToHomework < ActiveRecord::Migration
+ def change
+ add_column :homework_commons,:teacher_priority,:integer,:default => 1
+ end
+end
diff --git a/db/migrate/20150918004521_system_score_default.rb b/db/migrate/20150918004521_system_score_default.rb
new file mode 100644
index 000000000..6195caad9
--- /dev/null
+++ b/db/migrate/20150918004521_system_score_default.rb
@@ -0,0 +1,15 @@
+class SystemScoreDefault < ActiveRecord::Migration
+ def up
+ change_column :student_works,:system_score,:float,:default => 0
+
+
+ # StudentWork.where("system_score is null").each do |student_work|
+ # student_work.system_score = 0
+ # student_work.save
+ # end
+ end
+
+ def down
+ change_column :student_works,:system_score,:float
+ end
+end
diff --git a/db/migrate/20150918005722_about_normal_homework.rb b/db/migrate/20150918005722_about_normal_homework.rb
new file mode 100644
index 000000000..8e0ddf00a
--- /dev/null
+++ b/db/migrate/20150918005722_about_normal_homework.rb
@@ -0,0 +1,20 @@
+class AboutNormalHomework < ActiveRecord::Migration
+ def up
+ HomeworkCommon.where(:homework_type => 0).each do |homework|
+ unless homework.homework_detail_manual
+ homework_detail_manual = HomeworkDetailManual.new
+ homework_detail_manual.ta_proportion = 0.6
+ homework_detail_manual.comment_status = 1
+ homework_detail_manual.evaluation_start = homework.created_at
+ homework_detail_manual.evaluation_end = homework.created_at
+ homework_detail_manual.evaluation_num = 3
+ homework_detail_manual.absence_penalty = 5
+ homework_detail_manual.homework_common_id = homework.id
+ homework_detail_manual.save
+ end
+ end
+ end
+
+ def down
+ end
+end
diff --git a/public/javascripts/course.js b/public/javascripts/course.js
index fc52ef87a..4f091560d 100644
--- a/public/javascripts/course.js
+++ b/public/javascripts/course.js
@@ -427,10 +427,10 @@ function regex_homework_name()
}
}
-//处理迟交扣分
-function check_late_penalty()
+//处理迟交、缺评扣分
+function check_late_penalty(id)
{
- var obj = $("input[name='late_penalty']");
+ var obj = $("#" + id);
var regex = /^\d+$/;
if(regex.test(obj.val()))
{
@@ -482,44 +482,59 @@ function regex_evaluation_num()
//点击是否开启匿评单选框效果
$(function(){
- $("#homework_common_homework_type").click(function(){
- if($("#homework_common_homework_type").attr("checked") == "checked")
- {
- $("#evaluation_setting").slideDown();
- $("#ta_proportion").removeAttr("disabled");
- }
- else
- {
- $("#evaluation_setting").slideUp();
- $("#ta_proportion").attr("disabled","disabled");
- }
- });
+ //$("#homework_common_homework_type").click(function(){
+ // if($("#homework_common_homework_type").attr("checked") == "checked")
+ // {
+ // $("#evaluation_setting").slideDown();
+ // $("#ta_proportion").removeAttr("disabled");
+ // }
+ // else
+ // {
+ // $("#evaluation_setting").slideUp();
+ // $("#ta_proportion").attr("disabled","disabled");
+ // }
+ //});
$("#absence_penalty").change(function(){
$("#absence_penalty_notice").html(" "+ $("#absence_penalty").val() +" ");
});
- $("#ta_proportion").change(function(){
- var ta_proportion = $("#ta_proportion").val();
- $("#student_proportion").val((100 - parseInt(ta_proportion * 100)) + "%");
- });
+ //$("#ta_proportion").change(function(){
+ // var ta_proportion = $("#ta_proportion").val();
+ // $("#student_proportion").val((100 - parseInt(ta_proportion * 100)) + "%");
+ //});
});
-//第一次加载时,如果未开启匿评作业,隐藏显示匿评配置信息
-$(function(){
- if($("#homework_common_homework_type").attr("id") != null && $("#homework_common_homework_type").val() != 2)
- {
- if($("#homework_common_homework_type").attr("checked") == "checked")
- {
- $("#evaluation_setting").show();
- $("#ta_proportion").removeAttr("disabled");
- }
- else
- {
- $("#evaluation_setting").hide();
- $("#ta_proportion").attr("disabled","disabled");
+
+//生成select
+function build_selector(max_num){
+ var html = "
";
+ for(var i = 0; i <= max_num; i += 10){
+ if( i == max_num){
+ html += "" + i + "% ";
+ }else{
+ html += "" + i + "% ";
}
}
-});
+ html += " ";
+ return html;
+}
+
+//第一次加载时,如果未开启匿评作业,隐藏显示匿评配置信息
+//$(function(){
+// if($("#homework_common_homework_type").attr("id") != null && $("#homework_common_homework_type").val() != 2)
+// {
+// if($("#homework_common_homework_type").attr("checked") == "checked")
+// {
+// $("#evaluation_setting").show();
+// $("#ta_proportion").removeAttr("disabled");
+// }
+// else
+// {
+// $("#evaluation_setting").hide();
+// $("#ta_proportion").attr("disabled","disabled");
+// }
+// }
+//});
//老师提交 新建/修改 作业
function submit_homework(id)
@@ -881,41 +896,29 @@ function goTopEx() {
$(function(){
//匿评评分提示
- $(".student_score_info").bind("mouseover",function(e){
- //alert($(this).html());
+ $(".student_score_info").live("mouseover",function(){
$(this).find("div").show();
- //$(this).find("div").css("top",e.pageY);
- //$(this).find("div").css("left",e.pageX);
});
- $(".student_score_info").bind("mouseout",function(e){
- //alert($(this).html());
+ $(".student_score_info").live("mouseout",function(){
$(this).find("div").hide();
});
//最终成绩提示
- $(".student_final_scor_info").bind("mouseover",function(e){
- //alert($(this).html());
+ $(".student_final_scor_info").live("mouseover",function(){
$(this).find("div").show();
- //$(this).find("div").css("top",e.pageY);
- //$(this).find("div").css("left",e.pageX);
});
- $(".student_final_scor_info").bind("mouseout",function(e){
- //alert($(this).html());
+ $(".student_final_scor_info").live("mouseout",function(){
$(this).find("div").hide();
});
$("#about_project label").eq(1).remove();
- //附件下载提示
- $(".zip_download_alert").bind("mouseover",function(e){
- //alert($(this).html());
- $(this).next("div").show();
- //$(this).next("div").css("top",e.pageY);
- //$(this).next("div").css("left",e.pageX);
- });
- $(".zip_download_alert").bind("mouseout",function(e){
- //alert($(this).html());
- $(this).next("div").hide();
- });
+ ////附件下载提示
+ //$(".zip_download_alert").bind("mouseover",function(){
+ // $(this).next("div").show();
+ //});
+ //$(".zip_download_alert").bind("mouseout",function(){
+ // $(this).next("div").hide();
+ //});
});
//匿评弹框取消按钮
diff --git a/public/stylesheets/courses.css b/public/stylesheets/courses.css
index d810c4891..7c1e590db 100644
--- a/public/stylesheets/courses.css
+++ b/public/stylesheets/courses.css
@@ -23,9 +23,49 @@ a:hover.project_txt{ color:#066e9a;}
.noline{ border-bottom:none;}
.news_description{max-height: 360px;overflow:hidden; }
.news_description_none{max-height: none;}
+.wrapper {position:relative;}
+.attachmentContainer {display:inline-block;}
+.deadline {position:absolute; bottom:0px; display:inline-block; right:0px;}
a.news_foot{ border:1px solid #e8eef2; color: #929598; text-align:center; width:600px; height:20px; padding-top:3px; cursor:pointer;}
a:hover.news_foot{ color:#787b7e; border:1px solid #d4d4d4;}
+/*右侧内容新*/
+.ctt2{clear:both; }
+.hworkListBanner {width:720px; height:40px; background:#eaeaea; margin-bottom:10px; margin-left:5px;}
+.hworkListContainer {float:left; clear:both; width:720px; margin-left:5px;}
+.showHwork{ border:2px solid #269ac9; width:696px; padding:10px; color:#666666; padding-bottom:0px; }
+.showHworkP{ width:630px; float:left;}
+.showHwork ul li {margin-bottom: 5px;}
+.hworkPingText{ float:left; border:1px solid #e4e4e4; padding:5px; width:618px; height:35px;}
+.pingBox{ width:676px; padding:10px; background:#f5f3f3;}
+.pingBoxTit{ float:left; width:625px; margin-left:10px;}
+.pingText{border:1px solid #CCCCCC; margin:5px; padding:5px; width:610px; height:20px; }
+.pingBackTit{ float:left; width:573px; margin-left:10px; }
+.hworkUl{ height:50px; border-bottom:1px solid #eaeaea; line-height:50px; vertical-align:middle;}
+.hworkListRow {height:65px; border-bottom:1px solid #eaeaea; line-height:65px; vertical-align:middle;}
+.hworkListRow:hover {background-color:#f6f6f7; cursor:pointer;}
+.hworkUl li{ float:left;}
+.hworkListRow li{ float:left;}
+.hworkList380 {width:375px; text-align:left; height:50px; line-height:50px;padding-left:5px;}
+.hworkList80 {width:80px; text-align:center;}
+.hworkList50 {width:50px; text-align:center;}
+.codeList{ float:right; font-size:12px; color:#484848; padding:0px 3px; width:714px; margin-bottom:10px; }
+.hworkName {max-width:380px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis; float:left; height:16px; line-height:16px;}
+.hworkDetail {max-width:100px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis; float:left; height:14px; line-height:14px; font-size:12px; color:#888888;}
+.hworkDate {max-width:150px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis; float:left; height:14px; line-height:14px; font-size:12px; color:#888888;}
+.hworkMenu {width:100px; background-color:#ffffff; float:left; list-style:none; position:absolute; border:1px solid #eaeaea; border-radius:5px; top:15px; padding:10px 20px; left:-110px; font-size:12px; color:#888888; display:none; line-height:2;}
+a.hworkExport {background:url(../images/homepage_icon2.png) -10px -401px no-repeat; padding-left:23px;}
+a.hworkSetting {background:url(../images/homepage_icon2.png) -10px -450px no-repeat; padding-left:23px;}
+.hworkInfor {font-size:12px; color:#269ac9; width:80px; height:40px; vertical-align:middle; float:left; line-height:40px; text-align:center; font-weight:bold;}
+.infoNi{ width:100px; padding:5px;-moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; box-shadow:0px 0px 5px #194a81; color:#666; background:#fff; text-align:left; line-height:2; position:absolute; margin-top:-24px;margin-left: 40px;}
+.problemTxt {width:660px; margin-left:10px; color:#777777; position:relative;}
+.rTxtTit{width:560px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;color:#15bccf; float:left; color:#269ac9; font-size:14px;}
+.width620{width: 620px;}
+.width625{width: 625px;}
+.width455{width: 455px;}
+.m_width620{max-width: 620px;}
+.width180{width: 180px;}
+
/*邮件邀请*/
.box_main{ width:345px; margin:0 auto;}
@@ -78,7 +118,7 @@ a:hover.talk_pic{border:1px solid #64bdd9;}
a.talk_btn{ background:#64bdd9; width:50px; height:20px; color:#fff; text-align:center; margin-top:12px; padding-top:3px;}
a:hover.talk_btn{ background:#2a9dc1;}
/****讨论区内页***/
-.mt0{ margin-top:0px;}
+.mt0{ margin-top:0px !important;}
.talk_info{ color:#7d7d7d; margin-left:60px; margin-top:10px;}
a.talk_edit{ color:#269ac9; margin-right:5px;}
a:hover.talk_edit{ color:#297fb8;}
@@ -101,6 +141,7 @@ a:hover.grey_btn{ background:#717171; color:#fff;}
.f_b{ font-weight: bold;}
.c_blue{ color:#64bdd9;}
.c_grey{ color:#999999;}
+a.c_grey{ color:#999999;}
.c_grey02{ color:#666666;}
.f_14{ font-size:14px;}
.c_dblue{ color:#3e6d8e;}
@@ -149,6 +190,7 @@ a.un_work_edit{color: white; display:block; padding:1px 5px; background-color: d
.dis{display:block; }
.undis{display:none;}
.c_red{ color:#de030d;}
+input.c_red {padding:0px; text-align:center; border:0;}
.f_12{ font-size:12px;}
.w_40{ width:40px; border:1px solid red;}
.dis_ul{ height:70px; border-bottom:1px dashed #d4d4d4; margin-bottom:10px;}
@@ -242,6 +284,7 @@ a:hover.tijiao{ background:#0f99a9;}
.members_left ul li a{ float:left; text-align:center;}
.members_left ul li span{ float:left; text-align:center; color:#484747;}
.w150{ text-align:center; width:150px;min-height: 10px;}
+.width150{width:150px;min-height: 10px;}
.f_b{ font-weight: bold;}
.members_right label{ margin-left:15px;}
.N_search{ height:20px; border:1px solid #999;}
@@ -300,7 +343,7 @@ a:hover.tijiao{ background:#0f99a9;}
.c_pink{ color:#e65d5e;}
.ni_con_work { width:300px; margin:25px 20px;}
.ni_con_work p{ color:#808181; }
-
+a.xls{ margin-left:5px; color:#136b3b;}
/* 学生列表*/
.st_list{ width:670px;}
.st_search{ }
@@ -521,11 +564,10 @@ img.ui-datepicker-trigger {
/*作业批次下拉*/
div#menu_r {height:41px; font-size:14px; font-weight:bold; margin-bottom:10px;}
div#menu_r ul {float: left;}
-div#menu_r ul.menu_r { background: #64bdd9; padding:0 10px; height:40px; }
+div#menu_r ul.menu_r { background: #269ac9; padding:0 10px; height:40px; }
div#menu_r li {position: relative; z-index: 9; margin: 0; display: block; float: left; }
div#menu_r li:hover>ul { left: -2px;}
div#menu_r a {position: relative;z-index: 10; height: 41px; display: block; float: left;line-height: 41px; text-decoration: none; font-size:14px; }
-div#menu_r {display: block; cursor: pointer; background-repeat: no-repeat;background-position: 95% 0;padding-right: 15px; _padding-right: 20px;}
div#menu_r ul a.parent {background: url(../images/item.png) -20px -30px no-repeat; width:60px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;}
div#menu_r ul a.parent:hover {background: url(../images/item.png) -20px -60px no-repeat;}
div#menu_r ul ul a.parent {background: url(../images/item.png) -20px 6px no-repeat;}
@@ -536,9 +578,9 @@ div#menu_r a { padding: 5px 12px 0 10px;line-height: 30px; color: #fff;}
div#menu_r li.last { background: none; }
/* menu::level2 */
div#menu_r ul ul li { background: none; }
-div#menu_r ul ul { position: absolute;top: 38px; left: -999em; width: 90px; padding: 5px 0 0 0; background:#fff; border:1px solid #15bccf; margin-top:1px;}
-div#menu_r ul ul a {padding: 0 0 0 15px; height: auto; float: none;display: block; line-height: 24px; font-size:12px; font-weight:normal;color:#15bccf;}
-div#menu_r ul ul a:hover { background:#64bdd9; color:#fff;}
+div#menu_r ul ul { position: absolute;top: 38px; left: -999em; width: 90px; padding: 5px 0 0 0; background:#fff; border:1px solid #269ac9; margin-top:1px;}
+div#menu_r ul ul a {padding: 0 0 0 15px; height: auto; float: none;display: block; line-height: 24px; font-size:12px; font-weight:normal;color:#269ac9;}
+div#menu_r ul ul a:hover { background:#297fb8; color:#fff;}
div#menu_r ul ul li.last { margin-left:15px; }
div#menu_r ul ul li {width: 100%;}
@@ -553,7 +595,7 @@ a.wzan_visited{background:url(../images/new_project/public_icon.png) 0px -503px
.newwork_btn a:hover{ background:#329cbd;}
.files_tag{ width:670px; height:22px; overflow:hidden; margin-bottom:10px;}
a.files_tag_icon{ background:#e2f3f9; color:#54aeca; border:1px solid #bbe2ef; padding:1px 10px; float:left; margin-right:10px;margin-bottom:10px; }
-a.files_tag_select{ background:#64bdd9; color:#fff; border:1px solid #64bdd9; padding:1px 10px; float:left; margin-right:10px;margin-bottom:10px;}
+a.files_tag_select{ background:#64bdd9; color:#fff; border:1px solid #bbe2ef; padding:1px 10px; float:left; margin-right:10px;margin-bottom:10px;}
/* 20150423作业评分*/
.ml14{ margin-left:14px;}
@@ -636,40 +678,40 @@ a:hover.icon_remove{background:url(images/icons.png) -20px -338px no-repeat;}
.t_c{ text-align:center;}
.hwork_tit{ width:210px; float:left; }
-.hwork_tit a{ width:205px; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis; }
-.hwork_tit_une{ width:270px; float:left; }
-.hwork_tit_une a{ width:265px; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis; }
+.hwork_tit a{ width:255px; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis; }
+.hwork_tit02{ width:235px; float:left; }
+.hwork_tit02 a{ width:230px; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis; }
.hwork_code{ width:56px; text-align:center; }
-.hwork_code02{ width:60px; text-align:center; }
+.hwork_code02{ width:32px; text-align:center; }
.hwork_tit_e{ width:420px; float:left; }
.hwork_tit_e a{ width:405px; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis; }
.hwork_num{ width:90px; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;min-height: 1px;}
.mr18{ margin-right:18px;}
-a.hwork_center{ display:block; width:60px; margin-right:5px;overflow: hidden; white-space: nowrap; text-overflow:ellipsis;}
-.hwork_name{ display:block;width:80px; overflow: hidden;white-space: nowrap; text-overflow:ellipsis;min-height: 1px;}
-.absence_penalty{ display:block;width:45px; overflow: hidden;white-space: nowrap; text-overflow:ellipsis;min-height: 1px;}
-.border_ce {border: 1px solid #e4e4e4;}
+a.hwork_center{ display:block; width:60px; text-align:center; margin-right:5px;}
.show_hwork{ border:2px solid #64bdd9; width:646px; padding:10px; color:#666666; padding-bottom:0px; }
.show_hwork ul li{ margin-bottom:5px;}
-.show_hwork_arrow{ position:relative; top:2px; left:25px;background:url(../images/course/arrow_up.jpg) 0 0 no-repeat; width:20px; height:11px;}
+.show_hwork_arrow{ position:relative; top:2px; left:165px;background:url(../images/course/arrow_up.jpg) 0 0 no-repeat; width:20px; height:11px;}
.tit_fb{ font-weight:bold; width:66px; text-align:right; display:block; float:left;}
.ml160{ margin-left:160px;}
-.show_hwork_p{ width:580px; float:left;}
-.hwork_ping_text{ float:left; border:1px solid #e4e4e4; padding:5px; width:568px; height:50px;}
-.ping_box{ width:626px; padding:10px; background:#f5f3f3; }
+.show_hwork_p{ width:630px; float:left;}
+.hwork_ping_text{ float:left; border:1px solid #e4e4e4; padding:5px; width:615px; height:35px;}
+.ping_box{ width:676px; padding:10px; background:#f5f3f3; }
a.ping_pic{ display:block; width:34px; height:34px; padding:2px; border:1px solid #e3e3e3;}
a:hover.ping_pic{border:1px solid #64bdd9;}
.ping_box_tit{ float:left; width:575px; margin-left:10px;}
.ping_box_ul{}
.ping_line{ border-bottom:1px dashed #CCCCCC; padding-bottom:8px; margin-bottom:8px;}
-.ping_text{border:1px solid #CCCCCC; margin:5px; padding:5px; width:560px; height:50px; }
-.ping_back_tit{ float:left; width:523px; margin-left:10px; }
+.ping_text{border:1px solid #CCCCCC; margin:5px; padding:5px; width:610px; height:20px; }
+.ping_back_tit{ float:left; width:578px; margin-left:10px; }
a.down_btn{ border:1px solid #CCC; color:#999; padding:0px 5px; font-size:12px; text-align:center; display:block;}
a:hover.down_btn{ background:#14ad5a; color:#fff; border:1px solid #14ad5a;}
-.min_search{ width:140px; height:20px; border:1px solid #d0d0d0; color:#666; background:url(../images/public_icon.png) 185px -193px no-repeat; }
+.fr{ float:right;}
+.min_search{ width:200px; height:20px; border:1px solid #d0d0d0; color:#666; background:url(../images/public_icon.png) 185px -193px no-repeat; cursor:pointer;}
.li_min_search{ float:right; margin-right:-10px;}
-.info_ni_download{ width:100px; padding:5px;position: absolute;display:none;-moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; box-shadow:0px 0px 5px #194a81; color:#666; background:#fff; text-align:left;margin-left: 200px;margin-top: 10px;}
-.info_ni{ width:100px; padding:5px;position: absolute;display:none;-moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; box-shadow:0px 0px 5px #194a81; color:#666; background:#fff; text-align:left;margin-left: 50px;margin-top: -5px;}
+.info_ni{ width:100px; padding:5px;-moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; box-shadow:0px 0px 5px #194a81; color:#666; background:#fff; text-align:left;}
+.hwork_num{ width:90px; text-align:center; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;}
+.hwork_name{width:80px; text-align:center;}
+.mr18{ margin-right:18px;}
/*返回顶部*/
.to_top{width: 19px;height: 74px;position: fixed;top: 50px;right: 1px;color: white;background: #15bccf; line-height: 1.2; padding-top: 10px;padding-left: 5px;font-size: 14px;cursor: pointer;}
.hwork_num_ab{ width:120px; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;min-height: 1px;}
@@ -678,6 +720,7 @@ a:hover.down_btn{ background:#14ad5a; color:#fff; border:1px solid #14ad5a;}
.hwork_time_c{width:40px;color: #6d6d6d}
.hwork_score{ width:62px; text-align:center; }
.absence{width: 50px;text-align: center;}
+
/* 评分插件 */
input#score{ width:40px;}
.ui-slider{position:relative;width:200px;float:left;margin-right:10px;height:14px; margin-top:2px;background:#e2e2e2; }
@@ -685,12 +728,11 @@ input#score{ width:40px;}
.ui-slider .ui-slider-handle:hover,.ui-slider .ui-slider-handle:focus{background:#64bdd9;}
.ui-slider .ui-slider-handle:active{background-image:none;}
.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;top:0;height:100%;background:#64bdd9;left:0;}
-
/* 编程作品 */
.border_ce{ border:1px solid #e4e4e4; }
.border_ce tr td{ height:26px; }
-.td_tit{width:170px; text-align:center;}
-.td_50{width:60px; text-align:center;}
+.td_tit{width:155px; text-align:center;}
+.td_50{width:50px; text-align:center;}
a.work_list_tit{width:580px; display:block; overflow:hidden; font-size:14px; font-weight:bold; white-space: nowrap; text-overflow:ellipsis;}
.work_list_pro{ width:670px;}
.border_l{border-left:1px solid #e4e4e4;}
@@ -760,8 +802,8 @@ a:hover.icon_remove{background:url(images/icons.png) -20px -338px no-repeat;}
.T_C{ text-align:center;}
.SearchIcon{background:url(../images/homepage_icon2.png) 676px -393px no-repeat; }
.SearchIcon:hover{background:url(../images/homepage_icon2.png) 676px -419px no-repeat; }
-a.link_file{ background:url(../images/pic_file.png) 0 2px no-repeat; padding-left:20px; }
-a:hover.link_file{ background:url(../images/pic_file.png) 0 -25px no-repeat; color:#3ca5c6;}
+a.link_file_a{ background:url(../images/pic_file.png) 0 2px no-repeat; padding-left:20px; }
+a:hover.link_file_a{ background:url(../images/pic_file.png) 0 -25px no-repeat; color:#3ca5c6;}
a.remove-upload {background: url(../images/delete.png) no-repeat 1px 50%;width: 1px;display: inline-block;padding-left: 16px;}
a.FilesName{ max-width:540px;overflow:hidden; white-space:nowrap; text-overflow:ellipsis; display:block;}
a.FilesName02{ max-width:665px;overflow:hidden; white-space:nowrap; text-overflow:ellipsis; display:block;}
@@ -769,3 +811,47 @@ a.FilesName02{ max-width:665px;overflow:hidden; white-space:nowrap; text-overflo
.ProResultUl li{ line-height:35px; border-bottom:1px solid #dddddd; }
.DateBorder{border:1px solid #d9d9d9; border-left:none; padding:7px 6px 6px 6px;}
.mb50{margin-bottom: 50px;}
+
+/* 课程主页 */
+.rside_nav{ background:#eaebec; padding:10px 10px;}
+.rside_box{ width:730px; border:1px solid #e7edf0;}
+.rside_top{ height:24px; background:#f5f8fa; border-bottom:1px solid #e7edf0; padding:8px 10px;}
+.rside_work_list{margin:10px; border-bottom:1px dashed #e5e5e5;}
+.imageWrapper {width:50px; height:auto; float:left; color:#999999; text-align:center;}
+.img_blue_icon{ background:url(../images/course/icons.png) 0 -400px no-repeat; width:37px; height:18px; color:#fff; font-size:12px; padding-left:7px; color:#fff; }
+.img_green_icon{ background:url(../images/course/icons.png) 0 -425px no-repeat; width:37px; height:18px; color:#fff; font-size:12px; padding-left:7px; color:#fff; }
+a.rside_work_tit{ font-size:14px; font-weight:bold; color:#3e4040; max-width:430px;overflow:hidden; white-space: nowrap; text-overflow:ellipsis;}
+a:hover.rside_work_tit{ color:#0781b4;}
+.bgrey_icon{ color:#9b9b9b; border:1px solid #b6b6b6; background:#f0f0f0; font-size:12px; padding:0px 3px; }
+.dgrey_icon{ color:#717171; border:1px solid #717171; font-size:12px; padding:0px 3px;}
+.yellow_icon{ color:#ff5c60; border:1px solid #ff5c60; background:#ffffd5; font-size:12px; padding:0px 3px;}
+.arrow_r{background:url(../images/course/icons.png) 0 -450px no-repeat; width:22px; height:13px; }
+.c_dgreen{ color:#0e9e4f;}
+.list_more{ text-align:center; margin:10px 0;}
+.rside_massage_txt{ width:650px; margin-left:10px; }
+a.massage_tit{ max-width:530px;overflow:hidden; white-space: nowrap; text-overflow:ellipsis;}
+a.rside_name{ display:block; max-width:80px;}
+.rside_talk_txt{ width:650px; margin-left:10px; color:#333;}
+.rside_talk_tit{ color:#0781b4; width:490px; display:block; }
+.rside_talkWrapArrow{ display:block; float:right; margin-right:10px;background:url(../images/course/arrow.png) 0 0 no-repeat; height:7px; width:13px;}
+.rside_talkWrapBox{ width:650px; margin-left:60px; }
+.rside_Msg_txt{ float:left; width:580px; margin-left:10px;}
+.rside_talkWrapMsg{ background:#f2f2f2; padding:10px;}
+.rside_talkWrapMsg ul li{}
+.rside_inputFeint{ border:1px solid #d9d9d9; background:#fff; width:623px; height:40px; margin:10px; margin-bottom:5px;color:#666;}
+a.icon_face{background:url(../images/public_icon.png) 0px -671px no-repeat; display:block; height:25px; width:40px; padding-left:25px; padding-top:3px; }
+a:hover.icon_face{background:url(../images/public_icon.png) -79px -671px no-repeat; }
+a.pro_mes_w{ height:20px; display:block; color:#999999;}
+.info_list{ border-top:1px solid #F2F2F2; padding:5px 0;}
+.info_list_r li{ height:20px;}
+.pai_box{background:#fff; padding:10px 0 10px 10px;width:230px; color:#3e4040; }
+
+.rside_work_con{ width:650px;}
+a.c_grey{ color:#999999;}
+a:hover.c_grey{ color:#333;}
+.link_file_a{ display:block; max-width:450px;overflow:hidden; white-space: nowrap; text-overflow:ellipsis;}
+.last_time{width:auto; text-align:right; margin-right:70px;}
+.link_file_box{ width:360px;}
+a.postOptionLink{float: right;color: #64bdd9;display: block;padding: 1px 5px;border: 1px solid #64bdd9;width: initial;}
+a:hover.postOptionLink {color: #fff;background: #64bdd9;}
+
diff --git a/public/stylesheets/new_user.css b/public/stylesheets/new_user.css
index 7d7566903..c15fbbccd 100644
--- a/public/stylesheets/new_user.css
+++ b/public/stylesheets/new_user.css
@@ -223,6 +223,7 @@ a:hover.bgreen_n_btn{background:#08a384;}
.upbtn{ margin:42px 0 0 10px; border:none; color:#999; width:150px;}
.red_btn_cir{ background:#e74c3c; padding:1px 10px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal;font-size:12px;}
.green_btn_cir{ background:#28be6c; padding:1px 10px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal;font-size:12px;}
+.grey_btn_cir{ background:#b2b2b2; padding:1px 10px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal; font-size:12px;}
.blue_btn_cir{ background:#3498db; padding:1px 10px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal;font-size:12px;}
.orange_btn_cir{ background:#e67e22; padding:1px 10px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal; font-size:12px;}
.bgreen_btn_cir{ background:#1abc9c; padding:1px 10px; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; color:#fff; font-weight:normal; font-size:12px;}
@@ -916,6 +917,7 @@ a:hover.icon_remove{background:url(../images/course/icons.png) -20px -338px no-r
.ProResultCon{ padding:10px; color:#888888; line-height:24px; border-bottom:1px solid #dddddd; }
.W50{ width:50px;}
.W200{ width:200px;}
+.m_w530{max-width: 530px;}
.ProResultTable{ color:#888888;}
.T_C{ text-align:center;}
.SearchIcon{background:url(../images/homepage_icon2.png) 676px -393px no-repeat; }
@@ -1140,3 +1142,7 @@ a:hover.tijiao{ background:#0f99a9;}
.c_pink{ color:#e65d5e;}
.ni_con_work { width:300px; margin:25px 20px;}
.ni_con_work p{ color:#808181; }
+
+a.link_file_a{ background:url(../images/pic_file.png) 0 2px no-repeat; padding-left:20px; }
+a:hover.link_file_a{ background:url(../images/pic_file.png) 0 -25px no-repeat; color:#3ca5c6;}
+.link_file_a{ display:block; max-width:450px;overflow:hidden; white-space: nowrap; text-overflow:ellipsis;}
diff --git a/public/stylesheets/public.css b/public/stylesheets/public.css
index e291e503a..dc5ab607f 100644
--- a/public/stylesheets/public.css
+++ b/public/stylesheets/public.css
@@ -1,4 +1,5 @@
/* CSS Document */
+/* 2015-06-26 */
body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td{ margin:0; padding:0;}
body,table,input,textarea,select,button { font-family: "微软雅黑","宋体"; font-size:12px;line-height:1.5; background:#eaebec;}
div,img,tr,td,table{ border:0;}
@@ -8,9 +9,10 @@ a:link,a:visited{color:#7f7f7f;text-decoration:none;}
a:hover,a:active{color:#000;}
a:hover {text-decoration: none; }
textarea {resize: none;}
+.pInline {margin:0px; padding:0px; display:inline-block;}
/*常用*/
-select,input,textarea{ border:1px solid #64bdd9; background:#fff; color:#000; padding-left:5px; }
+select,input,textarea{ border:1px solid #269ac9; background:#fff; color:#000; padding-left:5px; }
.sub_btn{ cursor:pointer; -moz-border-radius:3px; -webkit-border-radius:3px; border:1px solid #707070; color:#000; border-radius:3px; padding:1px 10px; margin-bottom:10px; background:#dbdbdb;}
.sub_btn:hover{ background:#b5e2fa; color:#000; border:1px solid #3c7fb1;}
table{ background:#fff;}
@@ -20,6 +22,7 @@ table{ background:#fff;}
.no_border{ border:none;}
.min_search{ width:150px; height:20px; border:1px solid #d0d0d0; color:#666; background:url(../images/new_project/public_icon.png) 135px -193px no-repeat;}
a.btn_message_free{ background:#ff5722; display:block; text-align:center; color:#fff; padding:3px 0; width:80px; margin-bottom:10px;}
+.db {display:block;}
/* font & color */
h2{ font-size:18px; color:#15bccf;}
h3{ font-size:14px; color:#e8770d;}
@@ -28,6 +31,7 @@ h4{ font-size:14px; color:#3b3b3b;}
.f14{font-size:14px;}
.f16{font-size:16px;}
.f18{font-size:18px;}
+.f20{font-size:20px;}
.fb{font-weight:bold;}
.lh20{line-height:20px;}
.lh22{line-height:22px;}
@@ -49,6 +53,8 @@ h4{ font-size:14px; color:#3b3b3b;}
.break_word{ word-break:break-all; word-wrap: break-word;}
.hidden{overflow:hidden; white-space: nowrap; text-overflow:ellipsis;}
.flow_hidden{ width:300px;overflow:hidden; white-space: nowrap; text-overflow:ellipsis;}
+.white_space{white-space:nowrap;}
+.pr {position:relative;}
/* Spacing */
.ml2{ margin-left:2px;}
@@ -71,10 +77,15 @@ h4{ font-size:14px; color:#3b3b3b;}
.ml100{ margin-left:100px;}
.ml110{ margin-left:110px;}
.ml320{ margin-left:320px;}
+.ml150 { margin-left:150px;}
+.mr-5 {margin-right:-5px;}
.mr5{ margin-right:5px;}
+.mr45 {margin-right:45px;}
+.mr55{ margin-right:55px;}
.mr10{ margin-right:10px;}
-.mr15 {margin-right: 15px;}
+.mr15 {margin-right:15px;}
.mr20{ margin-right:20px;}
+.mr25 {margin-right:25px;}
.mr30{ margin-right:30px;}
.mr40{ margin-right:40px;}
.mr45{margin-right: 45px;}
@@ -82,22 +93,28 @@ h4{ font-size:14px; color:#3b3b3b;}
.mr55{margin-right: 55px;}
.mr70{margin-right: 70px;}
.mw15{margin:0 15px;}
-.mw20{margin:0 20px;}
+.mw20{ margin: 0 20px;}
.mt1{margin-top: 1px;}
+.mt-4 {margin-top:-4px;}
+.mt0 {margin-top:0px !important;}
.mt3{ margin-top:3px;}
.mt5{ margin-top:5px;}
.mt8{ margin-top:8px;}
-.mt10{ margin-top:10px;}
+.mt10{ margin-top:10px !important;}
.mt30{ margin-top: 30px;}
+.mt12 { margin-top:12px;}
+.mt15 {margin-top:15px;}
+.mt19 {margin-top:19px !important;}
+.mb4{ margin-bottom:4px;}
.mb5{ margin-bottom:5px;}
-.mb8{ margin-bottom:8px;}
-.mb10{ margin-bottom:10px;}
+.mb8 {margin-bottom:8px;}
+.mb10{ margin-bottom:10px !important;}
.mb20{ margin-bottom:20px;}
.pl15{ padding-left:15px;}
.w20{ width:20px;}
.w40{width: 40px;}
.w45{ width: 45px;}
-.w50{ width:50px;}
+.w50 {width:50px;}
.w60{ width:60px;}
.w70{ width:70px;}
.w90{ width:90px;}
@@ -107,6 +124,7 @@ h4{ font-size:14px; color:#3b3b3b;}
.w280{ width:280px;}
.w265{ width: 265px;}
.w270{ width: 270px;}
+.w350 {width:350px;}
.w430{ width:470px;}
.w520{ width:520px;}
.w543{ width:543px;}
@@ -122,6 +140,7 @@ h4{ font-size:14px; color:#3b3b3b;}
.h50{ height:50px;}
.h70{ height:70px;}
.h150{ height:150px;}
+.p10 {padding-left:10px; padding-right:10px;}
/* Font & background Color */
a.b_grey{ background: #F5F5F5;}
@@ -165,10 +184,46 @@ a.c_green{ color:#28be6c;}
.b_green{background:#28be6c;}
.b_w{ background:#fff;}
+/*add by Tim*/
+.fontGrey {color:#cecece;}
+.fontGrey2 {color:#888888;}
+.fontGrey3 {color:#484848;}
+.fontBlue {color:#3498db;}
+a.underline {text-decoration:underline;}
+a.fontBlue {color:#297fb8;}
+a.fontGrey {color:#cecece;}
+a.fontGrey2 {color:#888888;}
+a.linkOrange {color:#ff7143;}
+a.linkBlue {color:#269ac9;}
+a.linkBlue:hover {color:#297fb8;}
+a.linkBlue2 {color:#3498db;}
+a.linkBlue2:hover {color:#297fb8;}
+a.buttonBlue {background-color:#269ac9;}
+a.buttonBlue:hover {background-color:#297fb8;}
+a.linkGrey {color:#484848;}
+a.linkGrey:hover {color:#269ac9;}
+a.linkGrey2 {color:#888888;}
+a.linkGrey2:hover {color:#484848;}
+a.linkGrey3 {color:#484848;}
+a.linkGrey3:hover {color:#000000;}
+a.linkGrey4 {color:#484848;}
+a.linkGrey4:hover {color:#297fb8;}
+a.linkGrey5 {color:#484848;}
+a.linkGrey5:hover {color:#3498db;}
+a.linkGrey6 {color:#484848 !important;}
+a.linkGrey6:hover {color:#ffffff !important;}
+a.bBlue {background-color:#3498db;}
+a.bBlue:hover {background-color:#297fb8;}
+a.submit_btn {border:1px solid #3498db; padding:3px 10px; border-radius:3px; color:#3498db;}
+a.submit_btn:hover {background-color:#3498db; color:#ffffff;}
+
/* commonBtn */
.grey_btn{ background:#d9d9d9; color:#656565;font-size:14px; font-weight:normal; text-align:center;padding:2px 10px;}
a.grey_btn{ background:#d9d9d9; color:#656565;font-size:14px; font-weight:normal; text-align:center;padding:2px 10px;}
a:hover.grey_btn{ background:#717171; color:#fff;}
+.grey_n_btn{ background:#d9d9d9; color:#656565; font-weight:normal;padding:2px 10px; text-align:center;}
+a.grey_n_btn{background:#d9d9d9; color:#656565;font-weight:normal; padding:2px 10px; text-align:center;}
+a:hover.grey_n_btn{ background:#717171; color:#fff;}
.green_btn{ background:#28be6c; color:#fff; font-size:14px; font-weight:normal;padding:2px 8px; text-align:center;}
a.green_btn{background:#28be6c;color:#fff;font-size:14px; font-weight:normal; padding:2px 8px; text-align:center;cursor: pointer;}
a:hover.green_btn{ background:#14ad5a;}
@@ -196,6 +251,15 @@ a:hover.blue_u_btn{background:#64bdd9; color:#fff;}
.blue_n_btn{ background:#64bdd9; color:#fff; font-weight:normal;padding:2px 10px; text-align:center;}
a.blue_n_btn{background:#64bdd9;color:#fff;font-weight:normal; padding:2px 10px; text-align:center;}
a:hover.blue_n_btn{ background:#329cbd;}
+.green_n_btn{background:#3cb761; padding:2px 10px; color:#fff;}
+a.green_n_btn{background:#3cb761; padding:2px 10px; color:#fff;}
+a:hover.green_n_btn{ background:#14ad5a;}
+.orange_n_btn{background:#ff5d31; padding:2px 10px; color:#fff;}
+a.orange_n_btn{background:#ff5d31; padding:2px 10px; color:#fff;}
+a:hover.orange_n_btn{background:#d63502;}
+.bgreen_n_btn{background:#1abc9c; padding:2px 10px; color:#fff;}
+a.bgreen_n_btn{background:#1abc9c; padding:2px 10px; color:#fff;}
+a:hover.bgreen_n_btn{background:#08a384;}
.nolink_btn{ background:#BCBCBC; color: #fff; padding:2px 5px;}
.more_btn{-moz-border-radius:3px; -webkit-border-radius:3px; border:1px solid #9DCEFF; color:#9DCEFF; border-radius:3px; padding:0px 3px;}
@@ -225,7 +289,7 @@ a:hover.blue_n_btn{ background:#329cbd;}
/*框架主类容*/
-#Container{ width:940px; margin:0 auto; }
+#Container{ width:1000px; margin:0 auto; }
/*头部导航*/
#Header{ margin:10px 0; background:#15bccf; height:40px; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; }
@@ -234,6 +298,18 @@ a:hover.blue_n_btn{ background:#329cbd;}
#TopNav ul li{ margin-top:8px;}
.topnav_a a{ font-size:14px; font-weight:bold; color:#fff; margin-right:10px;}
.topnav_a a:hover{color: #a1ebff;}
+#userInfo {float:right; display:inline-block; width:130px; padding-top:5px;}
+.userInfoRow2 {margin-top:-5px;}
+.myPractice {display:inline-block;}
+a.parent {background: url(../images/arrowList.png) -30px 3px no-repeat; width:95px; padding-right:50px;}
+a.parent:hover {background: url(../images/arrowList.png) -30px -14px no-repeat; width:95px; padding-right:50px; color:#fe7d68;}
+a.linkToOrange:hover {color:#fe7d68;}
+#userInfo ul li {positon: relative;}
+#userInfo ul li ul {display:none;}
+#userInfo ul li:hover ul {display:block; position:absolute;}
+#userInfo ul li:hover ul li ul {display:none;}
+#userInfo ul li:hover ul li:hover ul {display:block; position:absolute; left:110px; top:6px; width:148px; border:1px solid #15bccf; background-color:#ffffff; padding:5px 0px;}
+#userInfo ul li:hover ul li:hover ul li {max-width:148px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; display:block; padding: 0 10px; line-height:1.5; color:#15bccf;}
#TopUser{}
#TopUser ul li{ margin-top:8px;}
.topuser_a a{ font-size:14px; font-weight:bold; color:#fff; margin-right:10px;}
@@ -275,6 +351,22 @@ div#menu ul ul li {width: 100%;}
div#menu ul ul ul {padding: 0;margin: -38px 0 0 90px !important; width:200px; }
div#menu ul ul ul li a{ width:185px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;color:#15bccf;}
+/*myctrip*/
+.userImage{position:absolute; right:140px; top:5px; width:30px;height:30px; background: url(../images/item.png) 2px 4px no-repeat; line-height:1.4;}
+a.topnav_login_a{color:#fff; display:inline-block;}
+a.topnav_login_a:hover {color:#a1ebff;}
+a.topnav_login_mes{color:#fff; width:10px;height:20px; padding-left:15px; background: url(../images/item.png) -84px -145px no-repeat; display:inline-block; vertical-align:top;}
+a.topnav_login_mes:hover {color:#a1ebff;}
+a.topnav_login_box{ color:#fff; font-size:14px; font-weight:bold; width:90px; display:inline-block;}
+.menuArrow {background:url(../images/item.png) -20px -40px no-repeat;}
+li.menuArrow:hover {background:url(../images/item.png) -20px -70px no-repeat;}
+a.topnav_login_box:hover {color:#a1ebff;}
+.navRow1 {margin:0; padding:0;}
+.navRow2 {margin:0; padding:0;}
+.topnav_login_list{ border:1px solid #269ac9; background:#fff; padding-left:10px; padding-bottom:10px; padding-top:8px; width:60px; left:-7px; position:absolute; z-index:9999; line-height:2;}
+.topnav_login_list a{color:#15bccf;}
+.topnav_login_list li{ }
+
/*主类容*/
#Main{ background:#fff; margin-bottom:10px;}
#content{}
@@ -294,10 +386,322 @@ a:hover.search_btn{ background: #0fa9bb;}
#RSide{ width:670px; margin-left:10px; background:#fff; padding:10px; margin-bottom:10px;}
+/*资源库*/
+.resources {width:728px; background-color:#ffffff; padding:10px 10px 20px 10px; border:1px solid #dddddd;}
+.resourcesBanner {width:730px; height:40px; background-color:#eaeaea; margin-bottom:10px;}
+.bannerName {background:#64bdd9; color:#ffffff; height:40px; line-height:40px; width:90px; text-align:center; font-weight:normal; vertical-align:middle; font-size: 16px; float:left;}
+.resourcesSelect {width:30px; height:34px; float:right; position:relative; margin-top:-6px;}
+.resourcesSelected {width:25px; height:20px; position:relative; background:url(../images/resource_icon_list.png) 0px 0px no-repeat;}
+.resourcesSelected:hover { background:url(../images/resource_icon_list.png) 0px -25px no-repeat;}
+.resourcesIcon {margin-top:15px; display:block; width:25px; height:20px;}
+.resourcesType {width:75px; background-color:#ffffff; float:left; list-style:none; position:absolute; border:1px solid #eaeaea; border-radius:5px; top:15px; padding:10px 20px; left:-90px; font-size:12px; color:#888888; display:none; line-height:2;}
+a.resourcesTypeAll {background:url(../images/homepage_icon.png) -180px -89px no-repeat; padding-left:23px;}
+a.resourcesTypeAtt {background:url(../images/homepage_icon.png) -180px -49px no-repeat; padding-left:23px;}
+a.resourcesGrey {font-size:12px; color:#888888;}
+a.resourcesGrey:hover {font-size:12px; color:#269ac9;}
+.resourcesBanner ul li:hover ul.resourcesType {display:block;}
+ul li:hover ul {display:block;}
+.resourcesUploadBox {float:right; width:103px; height:34px; background-color:#269ac9; line-height:34px; vertical-align:middle; text-align:center; margin-left:12px;}
+.resourcesUploadBox:hover {background-color:#297fb8;}
+a.uploadBoxIcon {background:url(../images/resource_icon_list.png) -35px 10px no-repeat; float:left; display:block; width:81px; height:30px; padding-left:22px; font-size:14px; color:#ffffff;}
+.resourcesSearchloadBox {border:1px solid #e6e6e6; width:225px; float:left; background-color:#ffffff;}
+.searchResource {border:none; outline:none; background-color:#ffffff; width:184px; height:32px; padding-left:10px; display:block; float:left;}
+.searchIcon{width:31px; height:32px; background-color:#ffffff; background:url(../images/resource_icon_list.png) -40px -15px no-repeat; display:block; float:left;}
+.resourcesSearchBanner {width:710px; height:34px; margin-bottom:10px; margin-top:15px; margin-left:auto; margin-right:auto;}
+.resourcesListTab {width:710px; height:40px; background-color:#f6f6f6; border-bottom:1px solid #eaeaea; font-size:14px; color:#7a7a7a; margin-left:auto; margin-right:auto;}
+.resourcesListCheckbox {width:20px; height:40px; line-height:40px; text-align:center; vertical-align:middle;}
+.resourcesCheckbox {padding:0px; margin:0px; margin-top:14px; width:12px; height:12px;}
+.resourcesListName {width:160px; height:40px; line-height:40px; text-align:left;}
+.resourcesListSize {width:105px; height:40px; line-height:40px; text-align:center;}
+.resourcesListType {width:150px; height:40px; line-height:40px; text-align:center;}
+.resourcesListUploader {width:180px; height:40px; line-height:40px; text-align:center;}
+.resourcesListTime {width:95px; height:40px; line-height:40px; text-align:center;}
+.resourcesList {width:710px; height:39px; background-color:#ffffff; border-bottom:1px dashed #eaeaea; color:#9a9a9a; font-size:12px; margin-left:auto; margin-right:auto;}
+.resourcesListOption {width:710px; height:40px; line-height:40px; vertical-align:middle; margin-left:auto; margin-right:auto; background-color:#f6f6f6;}
+.resourcesCheckAll {width:20px; height:40px; line-height:40px; text-align:center; vertical-align:middle; float:left;}
+.resourcesSelectSend {float:right;}
+.resourcesSelectSendButton {width:75px; height:28px; background-color:#ffffff; line-height:28px; vertical-align:middle; margin-top:5px; margin-right:10px; margin-left:15px; text-align:center; border:1px solid #269ac9; border-radius:5px; float:right;}
+a.sendButtonBlue {color:#269ac9;}
+a.sendButtonBlue:hover {color:#ffffff;}
+.resourcesSelectSendButton:hover {background-color:#297fb8;}
+a.resourcesBlack {font-size:12px; color:#4c4c4c;}
+a.resourcesBlack:hover {font-size:12px; color:#000000;}
+.dropdown-menu {
+ position: absolute;
+ top: 100%;
+ left: 0;
+ z-index: 1000;
+ display: none;
+ float: left;
+ min-width: 80px;
+ padding: 5px 0;
+ margin: 2px 0 0;
+ font-size: 12px;
+ text-align: left;
+ background-color: #fff;
+ -webkit-background-clip: padding-box;
+ background-clip: padding-box;
+ border: 1px solid #ccc;
+ border-radius: 4px;
+ -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
+ box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
+}
+.dropdown-menu > li > a {
+ display: block;
+ padding: 3px 20px;
+ clear: both;
+ font-weight: normal;
+ line-height: 1.5;
+ color:#616060;
+ white-space: nowrap;
+}
+.dropdown-menu > li > a:hover{
+ color: #ffffff;
+ text-decoration: none;
+ background-color: #64bdd9;
+ outline:none;
+}
+
+/*发送资源弹窗*/
+/*.resourceShareContainer {width:100%; height:100%; background:#666; filter:alpha(opacity=50); opacity:0.5; -moz-opacity:0.5; position:absolute; left:0; top:0; z-index:-999;}*/
+.resourceSharePopup {width:300px; height:auto; border:3px solid #269ac9; padding-left:16px; padding-bottom:16px; background-color:#ffffff; position:absolute; top:50%; left:50%; margin-left:-150px; z-index:1000;}
+.sendText {font-size:16px; color:#269ac9; line-height:16px; padding-top:20px; width:100px; display:inline-block; font-weight:bold;}
+.resourcesSendTo {float:left; height:20px; margin-top:15px;}
+.resourcesSendType {border:1px solid #e6e6e6; width:60px; height:24px; outline:none; font-size:14px; color:#888888;}
+.resourcePopupClose {width:20px; height:20px; display:inline-block; float:right;}
+.resourceClose {background:url(../images/resource_icon_list.png) 0px -40px no-repeat; width:20px; height:20px; display:inline-block;}
+.resourcesSearchBox {border:1px solid #e6e6e6; width:225px; height:25px; background-color:#ffffff; margin-top:12px; margin-bottom:15px;}
+.searchResourcePopup {border:none; outline:none; background-color:#ffffff; width:184px; height:25px; padding-left:10px; display:inline-block; float:left;}
+.courseSend {width:260px; height:15px; line-height:15px; margin-bottom:10px;}
+.courseSendCheckbox {padding:0px; margin:0px; width:12px; height:12px; margin-right:10px; display:inline-block; margin-top:2px;}
+.sendCourseName {font-size:12px; color:#5f6060;}
+.courseSendSubmit {width:50px; height:25px; line-height:25px; text-align:center; vertical-align:middle; background-color:#269ac9; margin-right:25px; float:left;}
+.courseSendSubmit:hover {background-color:#297fb8;}
+.courseSendCancel {width:50px; height:25px; line-height:25px; text-align:center; vertical-align:middle; background-color:#c1c1c1; float:left}
+.courseSendCancel:hover {background-color:#717171;}
+.courseReferContainer {float:left; max-height:120px; overflow:scroll; overflow-x:hidden; margin-right:16px; margin-bottom:10px;}
+a.sendSourceText {font-size:14px; color:#ffffff; display:block;}
+
+/*上传资源弹窗*/
+.resourceUploadPopup {width:400px; height:auto; border:3px solid #269ac9; padding-left:16px; padding-bottom:16px; background-color:#ffffff; position:absolute; top:50%; left:50%; margin-left:-200px; z-index:1000;}
+.uploadText {font-size:16px; color:#269ac9; line-height:16px; padding-top:15px; width:140px; display:inline-block;}
+.uploadBoxContainer {height:33px; line-height:33px; margin-top:10px; position:relative;}
+.uploadBox {width:100px; height:33px; line-height:33px; text-align:center; vertical-align:middle; background-color:#269ac9; border-radius:3px; float:left; margin-right:12px;}
+.uploadBox:hover {background-color:#297fb8;}
+a.uploadIcon {background:url(../images/resource_icon_list.png) 8px -60px no-repeat; width:100px; height:33px; display:block;}
+.chooseFile {color:#ffffff; display:block; margin-left:32px;}
+.uploadResourceIntr {width:250px; height:33px; float:left; line-height:33px; font-size:12px;}
+.uploadResourceName {width:250px; display:inline-block; line-height:15px; font-size:12px; color:#444444; margin-bottom:2px;}
+.uploadResourceIntr2 {width:250px; display:inline-block; line-height:15px; font-size:12px; color:#444444;}
+.uploadType {margin:10px 0; border:1px solid #e6e6e6; width:100px; height:30px; outline:none; font-size:12px; color:#888888;}
+.uploadKeyword {margin-bottom:10px; outline:none; border:1px solid #e6e6e6; height:30px; width:280px;}
+
+/*评分设置弹窗*/
+.markPopup {width:290px; height:auto; padding:5px 0px 15px 15px; background-color:#ffffff; z-index:1000;}
+.markInput {margin-bottom:10px; outline:none; border:1px solid #e6e6e6; height:30px; width:140px; color:#3d3c3c;}
+.markPercentage {margin:10px 0; border:1px solid #e6e6e6; width:70px; height:30px; outline:none; font-size:12px; color:#3d3c3c;}
+
+
+/*新个人主页框架css*/
+.navContainer {width:100%; margin:0 auto; background-color:#269ac9;}
+.homepageContentContainer {width:100%; margin:0 auto; background-color:#eaebed;}
+.homepageContent {width:1000px; background-color:#eaebed; margin:0 auto;}
+.navHomepage {width:1000px; height:54px; background-color:#269ac9; margin:0 auto;}
+.navHomepageLogo {width:60px; height:54px; line-height:54px; vertical-align:middle; margin-left:2px; margin-right:30px;}
+.navHomepageMenu {margin-right:20px; display:inline-block;height:54px; line-height:54px; vertical-align:middle;}
+.navHomepageMenu:hover {background-color:#297fb8;}
+.navHomepageSearchBoxcontainer {margin-top:11px; }
+.navHomepageSearchBox {width:380px; border:none; outline:none; height:32px; background-color:#ffffff;}
+.navHomepageSearchInput {width:345px; height:32px; outline:none; border:none; float:left; padding-left:5px;; margin:0;}
+.homepageSearchIcon {width:30px; height:32px; background:url(../images/nav_icon.png) -8px 3px no-repeat; float:left;}
+a.homepageSearchIcon:hover {background:url(../images/nav_icon.png) -49px 3px no-repeat;}
+.navSearchTypeBox {width:368px; height:35px; line-height:35px; vertical-align:middle; position:absolute; border:1px solid #98a1a6; background-color:#ffffff; padding-left:10px; display:none; color:#3e3e3e; font-size:14px; top:43px;}
+#navSearchAlert {display:none;}
+.navHomepageNews {width:30px; display:block; float:right; margin-top:8px; position:relative;}
+.homepageNewsIcon {background:url(../images/nav_icon.png) -5px -85px no-repeat; width:30px; height:35px; display:block;}
+.newsActive {width:8px; height:8px; border-radius:50%; border:2px solid #ffffff; background-color:#ff0000; position:absolute; left:17px; top:5px;}
+.navHomepageProfile {width:65px; display:block; float:right; margin-left:33px;}
+.homepageProfileMenuIcon {background:url(../images/nav_icon.png) 30px -155px no-repeat; width:65px; height:54px; position:relative; display:inline-block;}
+.homepageProfileMenuIcon:hover {background:url(../images/nav_icon.png) 30px -122px no-repeat;}
+.navHomepageProfile ul li ul {display:none;}
+.navHomepageProfile ul li:hover ul {display:block;}
+.homepageLeft {width:240px; float:left; margin-right:10px; margin-bottom:10px; margin-top:15px;}
+.homepageRight {width:750px; float:left; margin-top:15px; margin-bottom:10px;}
+.homepagePortraitContainer {width:238px; border:1px solid #dddddd; background-color:#ffffff; padding-bottom:15px;}
+.homepagePortraitImage {width:206px; height:206px; padding:2px; margin:15px 14px 10px 14px; position:relative; border:1px solid #cbcbcb;}
+.homepagePortraitImage:hover {border:1px solid #297fb8;}
+.homepageFollow {background:url(../images/homepage_icon.png) -10px -8px no-repeat; width:20px; height:20px; position:absolute; right:9px; top:9px;}
+.homepageFollowCancel {background:url(../images/homepage_icon.png) -178px -8px no-repeat; width:20px; height:20px; position:absolute; right:9px; top:9px;}
+.homepageEditProfile {width:16px; height:16px; border-radius:2px; background-color:#888888; position:absolute; right:5px; bottom:5px; font-size:12px; filter:alpha(opacity=50); -moz-opacity:0.5; opacity: 0.5;}
+.homepageEditProfileIcon {background:url(../images/homepage_icon.png) -14px -37px no-repeat; width:16px; height:16px; display:block;}
+.homepageImageName {font-size:16px; color:#484848; margin-left:15px; margin-right:8px; height:25px; float:left;}
+.homepageImageSex {top:116px; left:5px; width:20px; height:20px; background:url(../images/homepage_icon.png) -10px -112px no-repeat; float:left;}
+.homepageImageSex2 {top:116px; left:5px; width:20px; height:20px; background:url(../images/homepage_icon.png) -10px -150px no-repeat; float:left;}
+.homepageSignature {font-size:12px; color:#888888; margin-left:15px; margin-top:10px; margin-bottom:12px; width:208px;}
+.homepageImageBlock {margin:0 auto; width:68px; float:left; text-align:center; display:inline-block;}
+.homepageImageNumber {font-size:12px; color:#484848; font-weight:bold;}
+a.homepageImageNumber:hover {color:#15bccf;}
+.homepageImageText {font-size:12px; color:#888888;}
+.homepageVerDiv {height:28px; vertical-align:middle; width:1px; float:left; display:inline-block; background-color:#d1d1d1; margin-top:3px;}
+.homepageLeftMenuContainer {width:238px; border:1px solid #dddddd; border-bottom:none; background-color:#ffffff; margin-top:10px;}
+.homepageLeftMenuBlock {border-bottom:1px solid #dddddd; height:50px; line-height:50px; vertical-align:middle;}
+.homepageLeftMenuCourses {font-size:14px; border-bottom:1px solid #dddddd;}
+.homepageLeftMenuCoursesLine {padding-left:25px; height:38px; line-height:38px; vertical-align:middle;}
+.homepageLeftMenuCoursesLine:hover {background-color:#b3e0ee;}
+a.coursesLineGrey {color:#15bccf; display:block;}
+a.coursesLineGrey:hover {color:#ffffff;}
+.homepageLeftMenuMore {height:18px;}
+.homepageLeftMenuMore:hover {background-color:#b3e0ee;}
+.homepageLeftMenuMoreIcon {background:url(../images/homepage_icon.png) -74px -240px no-repeat; display:block; height:18px;}
+.homepageMenuSetting {display:inline-block; margin-left:155px;}
+a.homepageMenuText {color:#484848; font-size:16px; margin-left:20px;}
+.homepageLeftLabelContainer {width:238px; border:1px solid #dddddd; background-color:#ffffff; margin-top:10px;}
+.homepageLabelText {color:#484848; font-size:16px; margin-left:10px; margin-bottom:12px; display:block;}
+.homepageRightBanner {width:720px; height:34px; margin:0px auto; border-bottom:1px solid #e9e9e9;}
+.NewsBannerName {font-size:16px; color:#4b4b4b; display:block; width:150px; float:left; margin-top:4px;}
+.newsType {width:60px; background-color:#ffffff; float:left; list-style:none; position:absolute; border:1px solid #eaeaea; border-radius:5px; top:15px; padding:5px 10px; left:-40px; font-size:12px; color:#888888; display:none; line-height:2; z-index:9999;}
+.newsReadSetting {width:700px; background-color:#f6f6f6; border-bottom:1px solid #eeeeee; margin:10px auto; height:39px; line-height:39px; vertical-align:middle; font-size:14px; color:#7a7a7a; padding-left:10px;}
+.homepageNewsList {width:710px; height:49px; line-height:49px; vertical-align:middle; border-bottom:1px dashed #eaeaea; margin-left:10px;}
+.homepageNewsPortrait {width:40px; display:block; margin-top:7px;}
+.homepageNewsPublisher {width:80px; max-width:80px; margin-right:10px; font-size:12px; color:#15bccf; display:block; padding-left:5px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis; }
+.homepageNewsType {width:95px; font-size:12px; color:#888888; display:block;}
+.homepageNewsContent {width:395px; max-width:395px; margin-right:10px; font-size:12px; color:#4b4b4b; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis; }
+.homepageNewsTime {width:75px; font-size:12px; color:#888888; display:block; text-align:right;}
+a.homepageWhite {color:#ffffff;}
+a.homepageWhite:hover {color:#a1ebff}
+a.newsGrey {color:#4b4b4b;}
+a.newsGrey:hover {color:#000000;}
+a.replyGrey {color:#888888; display:inline-block;}
+a.replyGrey:hover {color:#4b4b4b;}
+a.newsBlue {color:#269ac9;}
+a.newsBlue:hover {color:#297fb8;}
+a.menuGrey {color:#808080;}
+a.menuGrey:hover {color:#fe7d68;}
+
+/*个人主页右部分*/
+.homepagePostType {width:180px; background-color:#ffffff; float:left; list-style:none; position:absolute; border:1px solid #eaeaea; border-radius:5px; top:15px; padding:5px 10px; left:-170px; font-size:12px; color:#4b4b4b; line-height:2; z-index:9999; display:none;}
+.homepagePostTypeHomework {width:100px;}
+.homepagePostTypeProject {width:80px;}
+a.homepagePostTypeAssignment {background:url(../images/homepage_icon.png) -93px -318px no-repeat; padding-left:23px;}
+a.homepagePostTypeNotice {background:url(../images/homepage_icon.png) -87px -280px no-repeat; padding-left:23px;}
+a.homepagePostTypeForum {background:url(../images/homepage_icon.png) -10px -310px no-repeat; padding-left:23px;}
+a.homepagePostTypeQuiz {background:url(../images/homepage_icon.png) -90px -124px no-repeat; padding-left:23px;}
+a.homepagePostTypeQuestion {background:url(../images/homepage_icon.png) -10px -273px no-repeat; padding-left:23px;}
+a.homepagePostTypeAll {background:url(../images/homepage_icon.png) -10px -360px no-repeat; padding-left:23px;}
+a.postTypeGrey {color:#888888;}
+a.postTypeGrey:hover {color:#269ac9;}
+.homepagePostBrief {width:710px; margin:20px auto 0px auto; position:relative;}
+.homepagePostPortrait {float:left; width:90px;}
+.homepagePostDes {float:left; width:600px; margin-left:20px;}
+.homepagePostTo {font-size:14px; color:#484848; margin-bottom:8px;}
+.homepagePostTitle {font-size:14px; color:#484848; margin-bottom:10px; font-weight:bold;}
+.homepagePostSubmitContainer {height:30px; margin-bottom:10px;}
+.homepagePostSubmit {font-size:14px; color:#888888; width:80px; height:30px; text-align:center; vertical-align:middle; line-height:30px; border:1px solid #dddddd; background-color:#eaeaea; float:left; margin-right:20px;}
+.homepagePostSubmit:hover {background-color:#d8d8d8;}
+.homepagePostIntro {font-size:14px; color:#484848;}
+.homepagePostDeadline {font-size:12px; color:#888888; float:left; height:30px; line-height:30px; vertical-align:middle;}
+.homepagePostReply {width:720px; margin:0px auto; background-color:#f1f1f1; margin-top:10px;}
+.homepagePostReplyBanner {width:708px; height:33px; border:1px solid #e4e4e4; line-height:33px; vertical-align:middle; font-size:12px; color:#888888;}
+.borderBottomNone {border-bottom:none !important;}
+.homepagePostReplyBannerCount{width:255px; display:inline-block; margin-left:20px;}
+.homepagePostReplyBannerTime{width:85px; display:inline-block;}
+.homepagePostReplyBannerMore{width:330px; display:inline-block; text-align:right;}
+.homepagePostReplyInputContainer {width:690px; margin:0px auto;}
+.homepagePostReplyInput {width:680px; height:40px; max-width:680px; max-height:40px; border:1px solid #d9d9d9; outline:none; margin:15px auto 10px auto; padding-left:8px; padding-top:5px;}
+.homepagePostReplyEmotion {background:url(../images/homepage_icon.png) -90px -88px no-repeat; width:50px; height:24px; float:left; padding-left:30px;}
+.homepagePostReplySubmit {float:right; width:45px; height:24px; text-align:center; line-height:24px; vertical-align:middle; font-size:12px; color:#ffffff; background-color:#269ac9;}
+.homepagePostReplySubmit:hover {background-color:#297fb8;}
+a.postReplySubmit {color:#ffffff; display:block;}
+.homepagePostReplyCancel {float:right; width:45px; height:24px; text-align:center; line-height:24px; vertical-align:middle; font-size:12px; color:#888888; background-color:#cecece; margin-left:8px;}
+.homepagePostReplyCancel:hover {background-color:#717171;}
+a.postReplyCancel {color:#888888; display:block;}
+a.postReplyCancel:hover {color:#ffffff;}
+.homepagePostReplyInputContainer2 {width:620px; margin:0px auto;}
+.homepagePostReplyInput2 {width:610px; height:25px; max-width:610px; max-height:25px; border:1px solid #d9d9d9; outline:none; margin:0px auto 10px auto; padding-left:8px; padding-top:5px;}
+.homepagePostReplyContainer {border-bottom:1px solid #e3e3e3; width:690px; margin:0px auto; margin-top:15px; min-height:60px;}
+.homepagePostSetting {position:absolute; width:20px; height:20px; right:0px; top:0px;}
+.homepagePostSettingIcon {background:url(../images/homepage_icon.png) -93px -5px no-repeat; width:20px; height:20px;}
+.homepagePostSettiongText {width:85px; line-height:2; font-size:12px; color:#616060; background-color:#ffffff; border:1px solid #eaeaea; border-radius:3px; position:absolute; left:-68px; top:20px; padding:5px 0px; display:none;}
+.homepagePostSettingIcon:hover {background:url(../images/homepage_icon.png) -93px -44px no-repeat;}
+/*a.postOptionLink {color:#616060; display:block; width:55px; padding:0px 15px;}*/
+/*a.postOptionLink:hover {color:#ffffff; background-color:#15bccf;}*/
+.homepagePostReplyPortrait {float:left; width:45px;}
+.homepagePostReplyDes {float:left; width:620px; margin-left:15px;}
+.homepagePostReplyPublisher {font-size:12px; color:#484848; margin-bottom:5px;}
+.homepagePostReplyContent {font-size:12px; color:#484848; margin-bottom:12px;}
+.homepagePostProjectState {width:42px; height:20px; line-height:20px; border-radius:1px; background-color:#28be6c; color:#ffffff; text-align:center; vertical-align:middle; font-size:12px; display:inline-block; margin-left:5px;}
+.homepagePostAssignTo {float:left; font-size:14px; color:#15bccf; height:30px; line-height:30px; vertical-align:middle;}
+.homepagePostFileAtt {height:22px; line-height:22px; vertical-align:middle; background:url(../images/homepage_icon.png) -85px -150px no-repeat; padding-left:35px; font-size:14px; margin-right:25px;}
+.homepagePostImageAtt {height:22px; line-height:22px; vertical-align:middle; background:url(../images/homepage_icon.png) -86px -195px no-repeat; padding-left:35px; font-size:14px; margin-right:25px;}
+.postAttSize {color:#888888; font-size:12px;}
+a.postGrey {color:#484848;}
+a.postGrey:hover {color:#000000;}
+
+/*课程主页css*/
+.homepageCoursesType {width:75px; background-color:#ffffff; float:left; list-style:none; position:absolute; border:1px solid #eaeaea; border-radius:5px; top:15px; padding:5px 10px; left:-65px; font-size:12px; color:#4b4b4b; line-height:2; z-index:9999; display:none;}
+
+/*注册登陆页面*/
+#loginInBox {display:block; margin-top:143px;}
+#signUpBox {display:none; margin-top:79px;}
+#loginSignButton {height:54px; padding-left:10px; padding-right:10px; text-align:center; line-height:54px; vertical-align:middle; color:#ffffff; font-size:16px;}
+#loginInButton {height:54px; padding-left:10px; padding-right:10px; text-align:center; line-height:54px; vertical-align:middle; color:#ffffff; font-size:16px;}
+#loginSignButton:hover {background-color:#297fb8;}
+#loginInButton:hover {background-color:#297fb8;}
+.loginContentContainer {width:100%; background-color:#269ac9; margin-top:1px; height:580px;}
+.loginContent {width:1000px; margin:0px auto;}
+.loginLeft {width:595px; float:left;}
+.loginLogo {padding-left:208px; padding-top:155px;}
+.loginInro {width:465px; padding-top:55px; padding-left:50px; font-size:16px; color:#ffffff;}
+.loginRight {width:405px; float:left;}
+.loginChooseBox {width:405px; height:54px; background-color:#ffffff; padding-top:18px;}
+.loginChooseList {width:350px; height:30px; font-size:14px; margin:0px auto;}
+.loginChoose {width:55px; height:30px; border-bottom:1px solid #269ac9; text-align:center; font-weight:bold;}
+a.loginChooseTab {color:#484848; height:30px; display:block;}
+.loginInButton {width:315px; height:40px; background-color:#269ac9; margin-left:46px; font-size:14px; text-align:center; line-height:40px; vertical-align:middle; margin-top:20px;}
+.loginInButton:hover {background-color:#297fb8;}
+.loginUpButton {width:315px; height:40px; background-color:#269ac9; margin-left:46px; font-size:14px; text-align:center; line-height:40px; vertical-align:middle; margin-top:30px;}
+.loginUpButton:hover {background-color:#297fb8;}
+.loginChooseBorder {width:295px; height:30px; border-bottom:1px solid #e3e3e3;}
+.loginSign {width:405px; background-color:#ffffff;}
+.loginSignBox {width:308px; height:38px; margin-left:46px; border:1px solid #98a1a6; outline:none;}
+.loginSignOption {margin-left:46px; margin-top:15px;}
+.loginIn {width:405px; background-color:#ffffff; padding-bottom:30px;}
+.loginSignAlert {font-size:12px; color:#fc0000; margin-left:60px;}
+.loginSignRow {height:60px; min-height:60px;}
+
+/*课程选择弹窗*/
+.coursesChoosePopup {width:530px; height:auto; border:3px solid #269ac9; padding-left:20px; padding-bottom:35px; background-color:#ffffff; position:absolute; top:0; left:0; z-index:1000;}
+.coursesSearchBox {border:1px solid #e6e6e6; width:515px; height:25px; background-color:#ffffff; margin-top:12px; margin-bottom:15px;}
+.searchCoursesPopup {border:none; outline:none; background-color:#ffffff; width:470px; height:25px; padding-left:10px; display:inline-block; float:left;}
+.searchIconPopup{width:31px; height:25px; background-color:#ffffff; background:url(../images/homepage_icon.png) -180px -273px no-repeat; display:inline-block; float:left;}
+.searchIconPopup:hover {background:url(../images/homepage_icon.png) -180px -314px no-repeat;}
+
+/*导入作业弹窗*/
+.homeworkPublish {width:260px; height:15px; line-height:15px;}
+.homeworkPublishTime {font-size:12px; color:#b1b1b1; margin-left:22px; margin-bottom:8px;}
+
+/*引用资源库弹窗*/
+.referenceResourcesPopup {width:710px; height:auto; border:3px solid #269ac9; padding-left:20px; padding-right:20px; padding-bottom:35px; background-color:#ffffff; position:absolute; top:50%; left:50%; margin-left:-375px; z-index:1000;}
+.referenceText {font-size:16px; color:#269ac9; line-height:16px; padding-top:20px; display:inline-block; font-weight:bold;}
+.referenceSearchBox {border:1px solid #e6e6e6; width:235px; height:32px; background-color:#ffffff; margin-top:12px; margin-bottom:15px;}
+.searchReferencePopup {border:none; outline:none; background-color:#ffffff; width:190px; height:32px; padding-left:10px; display:inline-block; float:left;}
+.referenceSearchIcon{width:31px; height:25px; background-color:#ffffff; background:url(../images/homepage_icon.png) -170px -135px no-repeat; display:inline-block; float:left;}
+.referenceSearchIcon:hover {background:url(../images/homepage_icon.png) -170px -190px no-repeat;}
+.referenceResourceType {font-size:14px; width:355px; height:34px; line-height:34px; vertical-align:middle; background-color:#f6f6f6; margin-top:15px;}
+.referenceTypeActive {background-color:#269ac9; color:#ffffff !important;}
+a.referenceTypeBlock {color:#888888; display:inline-block; padding:0px 20px;}
+
+
+
/*底部*/
-#Footer{ padding-top:10px; background:#fff; margin-bottom:10px;}
-.copyright{ width:780px; margin:0 auto;height:30px; }
-.footlogo{ width:580px; margin:0 auto;height:50px; }
+#Footer{background-color:#ffffff; margin-bottom:10px; padding-bottom:15px; color:#666666;}
+.footerAboutContainer {width:auto; border-bottom:1px solid #efefef;}
+.footerAbout{ width:585px; margin:0 auto;height:35px; line-height:35px; border-bottom:1px solid #efefef; }
+.languageBox {width:55px; height:20px; margin-left:5px; outline:none; color:#666666; border:1px solid #d9d9d9;}
+.departments{ width:890px; margin:5px auto 0 auto;height:30px;line-height:30px;}
+.copyright{ width:375px; margin:0 auto;height:20px;line-height:20px;}
+a.f_grey {color:#666666;}
+a.f_grey:hover {color:#000000;}
/*意见反馈*/
html{ overflow-x:hidden;}
.scrollsidebar{ position: fixed; bottom:1px; right:1px; background:none; }