个人首页头部及其左侧导航(未完)

This commit is contained in:
daiao 2016-12-06 09:36:13 +08:00
parent efee984c4f
commit 35fdf9a8a7
16 changed files with 389 additions and 85 deletions

View File

@ -50,10 +50,10 @@ gem 'elasticsearch-model'
gem 'elasticsearch-rails'
#rails 3.2.22.2 bug
gem "test-unit", "~>3.0"
# gem "test-unit", "~>3.0"
### profile
gem 'oneapm_rpm'
# gem 'oneapm_rpm'
group :development do
gem 'grape-swagger'

View File

@ -433,7 +433,7 @@ class UsersController < ApplicationController
render_404
return
end
@message_alls = paginateHelper @message_alls,25
@message_alls = paginateHelper @message_alls, 25
respond_to do |format|
format.html{render :layout=>'new_base_user'}
end
@ -1822,6 +1822,16 @@ class UsersController < ApplicationController
principal_types = "JournalsForMessage"
container_type = ''
act_type = ''
# 用户项目数
@my_project_count = user_project_count
# 用户的课程数
@my_course_count = user_course_count
# 用户发布的issue数
@issues_author_is_self_count = issues_author_is_self_count
# 用户收到的issue数
@issues_assigned_is_self_count = issues_assigned_is_self_count
if params[:type].present?
case params[:type]
when "course_homework"

View File

@ -53,6 +53,43 @@ module UsersHelper
end
# 用户项目总数
def user_project_count
@my_projects = @user.projects.where("projects.user_id = #{@user.id}").select("projects.*,(SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS updatetime").order("updatetime DESC")
@my_projects_count = @my_projects.count
@my_joined_projects = @user.projects.where("projects.user_id != #{@user.id}").select("projects.*,(SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS updatetime").order("updatetime DESC")
@my_joined_projects_count = @my_joined_projects.count
@my_project_total = @my_projects_count + @my_joined_projects_count
end
# 用户的课程总数
def user_course_count
@my_course_count = @user.syllabuses.count
sy_courses = @user.courses.visible.not_deleted
syllabus_ids = sy_courses.empty? ? '(-1)' : "(" + sy_courses.map{|course| !course.syllabus_id.nil? && course.syllabus_id}.join(",") + ")"
syllabus_members = SyllabusMember.where("user_id = #{@user.id}")
syllabus_member_ids = syllabus_members.empty? ? "(-1)" : "(" + syllabus_members.map{|syl_mem| syl_mem.syllabus_id}.join(',') + ")"
@join_syllabuses = Syllabus.where("(id in #{syllabus_ids} or id in #{syllabus_member_ids}) and user_id != #{@user.id}")
@my_joined_course_count = @join_syllabuses.count
@user_course_total = @my_joined_course_count + @my_course_count
end
# 用户发布的issue数
def issues_author_is_self_count
@issues = Issue.where( :author_id => @user.id )
@issues_author_is_self_count = @issues.count
end
# 用户收到的issue数
def issues_assigned_is_self_count
@issues = Issue.where( :assigned_to_id => @user.id )
@issues_assigned_is_self_count = @issues.count
end
def get_resource_type type
case type
when 'Course'

View File

@ -7,13 +7,19 @@
<li class="navHomepageMenu fl">
<%= link_to "首页",user_activities_path(User.current), :class => "c_white f16 db p10", :title => "回到个人首页"%>
</li>
<!-- <li class="navHomepageMenu fl">
<%#= link_to "资源库", user_resource_user_path(User.current, :type => 1), :class => "c_white f16 db p10" %>
</li>-->
<li class="navHomepageMenu fl">
<%= link_to "资源库", user_resource_user_path(User.current, :type => 1), :class => "c_white f16 db p10" %>
<a href="javascript:void(0);" title="" class="c_white f16 db p10">课程</a>
</li>
<li class="navHomepageMenu fl">
<a href="javascript:void(0);" title="" class="c_white f16 db p10">项目</a>
</li>
<% if hidden_unproject_infos %>
<li class="navHomepageMenu fl">
<%= link_to "题库", user_homeworks_user_path(User.current), :class => "c_white f16 db p10"%>
</li>
<!-- <li class="navHomepageMenu fl">
<%#= link_to "题库", user_homeworks_user_path(User.current), :class => "c_white f16 db p10"%>
</li>-->
<% memo = Memo.where(:id => 1168).first %>
<% unless memo.nil? %>
<li class="navHomepageMenu fl mr30">
@ -72,10 +78,10 @@
</li>
<% end %>
<li>
<%= link_to "我的组织", user_organizations_user_path(:id => User.current), :class => "menuGrey"%>
<%= link_to '我的项目', {:controller => "users", :action => "user_projectlist", :id => @user}, :id => 'user_project_list', :class => "menuGrey" %>
</li>
<li>
<%= link_to "新建组织", new_organization_path, :class => "menuGrey"%>
<%= link_to "我的组织", user_organizations_user_path(:id => User.current), :class => "menuGrey"%>
</li>
<!--<li><a href="javascript:void(0);" class="menuGrey">账号设置</a> </li>-->
<li>

View File

@ -1,10 +1,10 @@
<span>
<% if user.user_extensions && user.user_extensions.brief_introduction && !user.user_extensions.brief_introduction.empty? %>
<%= user.user_extensions.brief_introduction %>
<% else%>
这个小伙伴很懒,什么都没留下~
<div class="user_info_intro">
<% if !user.user_extensions.school_id.blank? %>
<%= user.user_extensions.school.name %>
<% end %>
</div>
</span>
<% if User.current == user%>
<%= link_to image_tag("../images/signature_edit.png",width:"12px", height: "12px"), "javascript:void(0);", :onclick => "show_edit_user_introduction();"%>
<% end %>
<%# if User.current == user%>
<%#= link_to image_tag("../images/signature_edit.png",width:"12px", height: "12px"), "javascript:void(0);", :onclick => "show_edit_user_introduction();"%>
<%# end %>

View File

@ -1,8 +1,8 @@
<ul>
<% if User.current.logged?%>
<% if User.current == target%>
<li style="width: 119px; float: left; border-right: 1px solid #ddd;"><%= link_to("个人资料", my_account_path, :class => "user_editinfo") %></li>
<li style="width: 118px; float: left;"><%= link_to '个人主页', homepage_user_path(@user), :class => "user_editinfo", :target => '_blank' %></li>
<!-- <li style="width: 119px; float: left; border-right: 1px solid #ddd;"><%#= link_to("个人资料", my_account_path, :class => "user_editinfo") %></li>-->
<li><%= link_to '个人主页', homepage_user_path(@user), :class => "user_editinfo", :target => '_blank' %></li>
<li class="cl"></li>
<% else%>
<li style="width: 119px; float: left; border-right: 1px solid #ddd;">

View File

@ -7,7 +7,7 @@
<meta name="keywords" content="issue,bug,tracker" />
<%= csrf_meta_tag %>
<%= favicon %>
<%= stylesheet_link_tag 'jquery/jquery-ui-1.9.2','css/common', 'css/structure','css/public', 'prettify','css/project','css/courses','css/popup','syllabus','css/moduel',:media => 'all' %>
<%= stylesheet_link_tag 'jquery/jquery-ui-1.9.2','css/common', 'css/structure','css/public', 'prettify','css/project','css/courses','css/popup','syllabus','css/moduel', 'css/user', :media => 'all' %>
<%= stylesheet_link_tag 'rtl', :media => 'all' if l(:direction) == 'rtl' %>
<%= javascript_heads %>
<%= javascript_include_tag "bootstrap","avatars","new_user",'attachments','prettify'%>
@ -104,7 +104,8 @@
<div class="user_leftinfo mb10">
<% if User.current.logged? && User.current == @user%>
<div class="pr" style="width: 80px; margin:0 auto;">
<%=link_to image_tag(url_to_avatar(@user),width:"74", height: "74", :id=>'nh_source_tx'), my_clear_user_avatar_temp_path, :class => "user_leftinfo_img", :remote => true%>
<%=link_to image_tag(url_to_avatar(@user),width:"74", height: "74", :id => 'nh_source_tx'),
my_clear_user_avatar_temp_path, :class => "user_leftinfo_img", :remote => true %>
<div class="homepageEditProfile undis">
<%=link_to '', my_clear_user_avatar_temp_path, :class => 'homepageEditProfileIcon', :remote => true, :title => '点击编辑Logo' %>
</div>
@ -130,7 +131,7 @@
<%= render :partial => 'layouts/user_brief_introduction', :locals => {:user => @user} %>
</div>
</div>
<textarea class="homepageSignatureTextarea none" placeholder="请编辑签名" id="user_brief_introduction_edit" onblur="edit_user_introduction('<%= edit_brief_introduction_user_path(@user.id)%>');"><%= @user.user_extensions.brief_introduction %></textarea>
<!-- <textarea class="homepageSignatureTextarea none" placeholder="请编辑签名" id="user_brief_introduction_edit" onblur="edit_user_introduction('<%#= edit_brief_introduction_user_path(@user.id)%>');"><%#= @user.user_extensions.brief_introduction %></textarea>-->
</div>
<ul class="user_atten clear">
<li>
@ -158,63 +159,85 @@
</div>
</div>
<div class="user_leftnav ">
<div class="home-user-leftnav">
<h3 >课程社区</h3>
<% if hidden_unproject_infos %>
<ul class="users_accordion mb10">
<li id="user_01" class="user_icons_course">
<%= link_to '班级',{:controller => "users", :action => "user_courselist", :id => @user}, :id => "user_course_list" %>
<font class="show-all-sub"><%= link_to '全部',{:controller => "users", :action => "user_courselist", :id => @user}, :style => "color:#aaa;" %></font>
<% courses = @user.favorite_courses.visible.where("is_delete =?", 0).select("courses.*,(SELECT MAX(updated_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS a").order("a desc").limit(10) %>
<div class="<%= courses.empty? ? 'none' : ''%>" id="homepage_left_course_list">
<%=render :partial => 'layouts/homepage_left_course_list', :locals => {:courses => courses} %>
</div>
<ul>
<li class="home-user-leftnav-li icons-class clear">
<%= link_to "课程<span class='issues_nav_tag ml140'>#{@my_course_count}</span>".html_safe, {:controller => "users", :action => "user_courselist", :id => @user}, :id => "user_course_list", :class => "fl" %>
<!-- <div class="user_navmore_box" >
<ul>
<li class="user_navmore_icons">
<ul class="user_navmore_txt02" >
<%# if is_current_user %>
<li>
<%#= link_to "新建课程", new_syllabus_path(:host=> Setting.host_course), :target => "_blank", :class => "user_navmore_li" %>
</li>
<% if is_current_user %>
<li id="user_02" class="user_icons_new">
<%= link_to "新建课程", new_syllabus_path(:host=> Setting.host_course), :target => "_blank", :style => "font-size:14px;" %>
<li>
<%#= link_to "新建班级", new_course_path(:host=> Setting.host_course), :target => "_blank", :class => "user_navmore_li" %>
</li>
<li id="user_03" class="user_icons_new">
<%= link_to "新建班级", new_course_path(:host=> Setting.host_course), :target => "_blank", :style => "font-size:14px;" %>
<li>
<%#= link_to "加入班级", join_private_courses_courses_path, :remote => true, :method => "post", :class => "user_navmore_li" %>
</li>
<li id="user_04" class="user_icons_addclass">
<%= link_to "加入班级",join_private_courses_courses_path,:remote => true, :method => "post", :style => "font-size:14px;" %>
<#% end %>
</ul>
</li>
</ul>
</div>-->
</li>
<% if @user == User.current %>
<li id="user_05" class="user_icons_myhw">
<%=link_to '我的作业', my_homeworks_user_path(@user), :target => "_blank", :style => "font-size:14px;" %>
<li class="home-user-leftnav-li icons-homework clear">
<%=link_to '我的作业', my_homeworks_user_path(@user), :target => "_blank", :class => "fl" %>
</li>
<% end %>
<% end %>
<li class="home-user-leftnav-li icons-doc clear">
<%= link_to "题库", user_homeworks_user_path(User.current), :class => "fl"%>
</li>
<li class="home-user-leftnav-li icons-download clear">
<%= link_to "资源库", user_resource_user_path(User.current, :type => 1), :class => "fl" %>
</li>
</ul>
<% end %>
<ul class="users_accordion mb10">
<li id="user_06" class="user_icons_project">
<%= link_to '项目',{:controller => "users", :action => "user_projectlist", :id => @user}, :id => 'user_project_list'%>
<font class="show-all-sub"><%= link_to '全部',{:controller => "users", :action => "user_projectlist", :id => @user}, :style => "color:#aaa;" %></font>
<% projects = @user.favorite_projects.visible.select("projects.*, (SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS a").order("a desc").limit(10)%>
<div class="<%= projects.empty? ? 'none' : ''%>" id="homepage_left_project_list">
<%=render :partial => 'layouts/homepage_left_project_list', :locals => {:projects => projects} %>
</div>
</li>
<% if is_current_user %>
<li id="user_07" class="user_icons_new">
<%= link_to "新建项目", new_project_path(:host=> Setting.host_name), :target => "_blank", :style => "font-size:14px;" %>
</li>
<li id="user_08" class="user_icons_addproject">
<%= link_to "加入项目", applied_join_project_path, :remote => true, :method => "post", :style => "font-size:14px;" %>
</li>
<li id="user_09" class="user_icons_myissues">
<%= link_to "我的Issue", user_issues_user_path(@user), :style => "font-size:14px;" %>
</li>
<% end %>
<div class="home-user-leftnav">
<h3 >项目社区</h3>
<ul>
<li class="home-user-leftnav-li icons-project clear">
<%= link_to "项目<span class='issues_nav_tag ml140'>#{@my_project_count}</span>".html_safe, {:controller => "users", :action => "user_projectlist", :id => @user}, :id => 'user_project_list', :class => "fl" %>
<!-- <div class="user_navmore_box" >
<ul>
<li class="user_navmore_icons">
<ul class="user_navmore_txt02">
<li>
<%#= link_to "新建项目", new_project_path(:host => Setting.host_name), :target => "_blank", :class => "user_navmore_li" %>
</li>
<li>
<%#= link_to "加入项目", applied_join_project_path, :remote => true, :method => "post", :class => "user_navmore_li" %>
</li>
<li>
<%#= link_to "我的关注", user_watchlist_user_path(@user), :remote => true, :method => "post", :class => "user_navmore_li" %>
</li>
&lt;!&ndash;<li><a href="javascript:void(0);" class="user_navmore_li">发现更多</a></li>&ndash;&gt;
</ul>
</li>
</ul>
</div>-->
</li>
<li class="home-user-leftnav-li icons-issue clear">
<%= link_to "我发布的issue<span class='issues_nav_tag ml80'>#{@issues_author_is_self_count}</span>".html_safe, user_issues_user_path(@user), :class => "fl" %>
</li>
<li class="home-user-leftnav-li icons-issue clear">
<%= link_to "我收到的issue<span class='issues_nav_tag ml80'>#{@issues_assigned_is_self_count}</span>".html_safe, user_issues_user_path(@user), :class => "fl" %>
</li>
</ul>
</div>
<div class="user_leftnav ">
<ul class="users_accordion mb10">
<li id="user_10" class="user_icons_mes">
<%= link_to '留言', feedback_path(@user, :host=> Setting.host_user)%>
</li>
</ul>
</div><!--sy_class_leftnav end-->
</div>
<%# 更新访问数,刷新的时候更新访问次数 %>
<% update_visiti_count @user %>
@ -282,3 +305,60 @@
</script>
</body>
</html>
<div class="user_leftnav ">
<% if hidden_unproject_infos %>
<ul class="users_accordion mb10">
<li id="user_01" class="user_icons_course">
<%= link_to '班级',{:controller => "users", :action => "user_courselist", :id => @user}, :id => "user_course_list" %>
<font class="show-all-sub"><%= link_to '全部',{:controller => "users", :action => "user_courselist", :id => @user}, :style => "color:#aaa;" %></font>
<% courses = @user.favorite_courses.visible.where("is_delete =?", 0).select("courses.*,(SELECT MAX(updated_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS a").order("a desc").limit(10) %>
<div class="<%= courses.empty? ? 'none' : ''%>" id="homepage_left_course_list">
<%=render :partial => 'layouts/homepage_left_course_list', :locals => {:courses => courses} %>
</div>
</li>
<% if is_current_user %>
<li id="user_02" class="user_icons_new">
<%= link_to "新建课程", new_syllabus_path(:host=> Setting.host_course), :target => "_blank", :style => "font-size:14px;" %>
</li>
<li id="user_03" class="user_icons_new">
<%= link_to "新建班级", new_course_path(:host=> Setting.host_course), :target => "_blank", :style => "font-size:14px;" %>
</li>
<li id="user_04" class="user_icons_addclass">
<%= link_to "加入班级",join_private_courses_courses_path,:remote => true, :method => "post", :style => "font-size:14px;" %>
</li>
<% if @user == User.current %>
<li id="user_05" class="user_icons_myhw">
<%=link_to '我的作业', my_homeworks_user_path(@user), :target => "_blank", :style => "font-size:14px;" %>
</li>
<% end %>
<% end %>
</ul>
<% end %>
<ul class="users_accordion mb10">
<li id="user_06" class="user_icons_project">
<%= link_to '项目',{:controller => "users", :action => "user_projectlist", :id => @user}, :id => 'user_project_list'%>
<font class="show-all-sub"><%= link_to '全部',{:controller => "users", :action => "user_projectlist", :id => @user}, :style => "color:#aaa;" %></font>
<% projects = @user.favorite_projects.visible.select("projects.*, (SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS a").order("a desc").limit(10)%>
<div class="<%= projects.empty? ? 'none' : ''%>" id="homepage_left_project_list">
<%=render :partial => 'layouts/homepage_left_project_list', :locals => {:projects => projects} %>
</div>
</li>
<% if is_current_user %>
<li id="user_07" class="user_icons_new">
<%= link_to "新建项目", new_project_path(:host=> Setting.host_name), :target => "_blank", :style => "font-size:14px;" %>
</li>
<li id="user_08" class="user_icons_addproject">
<%= link_to "加入项目", applied_join_project_path, :remote => true, :method => "post", :style => "font-size:14px;" %>
</li>
<li id="user_09" class="user_icons_myissues">
<%= link_to "我的Issue", user_issues_user_path(@user), :style => "font-size:14px;" %>
</li>
<% end %>
</ul>
<ul class="users_accordion mb10">
<li id="user_10" class="user_icons_mes">
<%= link_to '留言', feedback_path(@user, :host=> Setting.host_user)%>
</li>
</ul>
</div><!--sy_class_leftnav end-->

View File

@ -38,7 +38,7 @@
<%= render :partial => 'users/user_message_applied', :locals => {:ma => ma} %>
<% end %>
<ul class="wlist" style=" border:none; padding-top: 15px;">
<%= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true%>
<%= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true %>
</ul>
<% end %>
<!--项目消息-->

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

@ -142,6 +142,7 @@ h4{ font-size:14px;}/*color:#3b3b3b;*/
.ml110{ margin-left:110px;}
.ml125 { margin-left:125px;}
.ml130 { margin-left:130px;}
.ml140 { margin-left:140px;}
.ml150 { margin-left:150px;}
.ml160 {margin-left:160px;}
.ml250 {margin-left:250px;}
@ -805,22 +806,6 @@ a.sy_btn_pink{
}
a:hover.sy_btn_pink{ background: #e64c4c;}
/* 我的缺陷列表*/
.myissues_con{ width:968px; padding:15px; border:1px solid #ddd; background-color:#fff; color:#444; margin: 0 auto; }
.myissues_head{ width: 100%; height: 40px; line-height: 40px; background: #f4f4f4; }
.myissues_head h2{ font-size: 14px;}
select.issues_filter_active { font-weight: bold; color: #333;}
.issues_form_filter select.issues_filter_select_min02{width:60px; }
.issues_form_filter select.issues_filter_select_max{width:90px; }
.issues_list_txt li.issues_list_max{ width:90px }
.btn_newpro_grey{display: inline-block;color: #7b7b7b; border:1px solid #dbdbdb;background:#fff;text-align: center;font-size: 12px; padding:0 15px; height:24px; line-height: 24px; -webkit-border-radius:3px; -moz-border-radius:3px; -o-border-radius:3px; border-radius:3px;}
a:hover.btn_newpro_grey,a:active.btn_newpro_grey{ background: #eaeaea;}
.my_issues_form_filter{ position: absolute; top:0; right: 0;}
.my_issues_form_filter select{ width:70px; height:30px; border:none; font-size:14px; border:none;border-right:none; color: #888; font-size: 12px; line-height: 30px; text-align:center}
.my_issues_form_filter select.issues_filter_select_min{width:50px; }
.my_issues_form_filter select{appearance:none;-moz-appearance:none;-webkit-appearance:none;}
.ke-block pre{
font-size:9pt;
font-family:Courier New,Arial;

View File

@ -1057,3 +1057,19 @@ table.text-file{}
.old:hover{ background:#fffaf1; }
.new{ background: #eaffea;}
.new:hover{ background:#fffaf1; }
/* 我的缺陷列表*/
.myissues_con{ width:968px; padding:15px; border:1px solid #ddd; background-color:#fff; color:#444; margin: 0 auto; }
.myissues_head{ width: 100%; height: 40px; line-height: 40px; background: #f4f4f4; }
.myissues_head h2{ font-size: 14px;}
select.issues_filter_active { font-weight: bold; color: #333;}
.issues_form_filter select.issues_filter_select_min02{width:60px; }
.issues_form_filter select.issues_filter_select_max{width:90px; }
.issues_list_txt li.issues_list_max{ width:90px }
.btn_newpro_grey{display: inline-block;color: #7b7b7b; border:1px solid #dbdbdb;background:#fff;text-align: center;font-size: 12px; padding:0 15px; height:24px; line-height: 24px; -webkit-border-radius:3px; -moz-border-radius:3px; -o-border-radius:3px; border-radius:3px;}
a:hover.btn_newpro_grey,a:active.btn_newpro_grey{ background: #eaeaea;}
.my_issues_form_filter{ position: absolute; top:0; right: 0;}
.my_issues_form_filter select{ width:70px; height:30px; border:none; font-size:14px; border:none;border-right:none; color: #888; font-size: 12px; line-height: 30px; text-align:center}
.my_issues_form_filter select.issues_filter_select_min{width:50px; }
.my_issues_form_filter select{appearance:none;-moz-appearance:none;-webkit-appearance:none;}

View File

@ -0,0 +1,170 @@
/*新版头部css byLB20161125*/
.header-new{ height: 50px; width:100%; background:#3b94d6;}
.header-new-nav{ width: 1000px; margin:0 auto; height: 50px; line-height: 50px; background:#3b94d6;}
.header-new-nav-logo{ display: block; width: 51px; height: 45px; background:url(/images/nav_logo.png) 0 3px no-repeat;}
.header-new-nav-left li{ float: left; height: 50px; line-height: 50px;}
.header-new-nav-left li a{ display: block; padding:0 15px; color: #fff; font-size: 14px; font-weight: normal;}
.header-new-nav-left li a:hover{ background: #fff; color: #3b94d6;}
.header-new-nav-left li a.active{ background: #297ebd; color: #fff;}
.header-new-search{ margin-top: 10px; position: relative;}
.header-new-search-input{ width: 280px; height: 30px; background: #fff; padding:0 5px; border:none;}
.icons-header-search{display: block; width: 20px; height: 20px; background:url(/images/hw/icons_hw.png) 0 -56px no-repeat; position: absolute; right: 5px; top:4px;}
.header-new-nav-right li { float: left; padding:0 10px; }
.icons-header-news{ display: block; width: 20px; height: 20px;background:url(/images/icons-newhomepage.png) 0px 0px no-repeat; }
.icons-header-class{ display: block; width: 20px; height: 20px;background:url(/images/icons-newhomepage.png) 0px -37px no-repeat; }
.icons-header-project{ display: block; width: 20px; height: 20px;background:url(/images/icons-newhomepage.png) 0px -72px no-repeat; }
.header-users{width:40px; height:40px;-webkit-border-radius:50px;-moz-border-radius:50px;-o-border-radius:50px;border-radius:50px;}
.content-new {width:1000px; margin:0 auto; background-color:#eaebed;}
.home-user-left-box{width:240px;}
.home-user-right-box{width:750px;}
/*新版主页左侧css byLB20161125*/
.home-user-leftnav{ background:#fff; width: 238px; border:1px solid #ddd; margin-bottom: 10px;}
.home-user-leftnav h3{ height: 40px; line-height: 40px; border-bottom:1px solid #ddd; color: #333; padding-left: 10px; font-weight: normal; }
.h3-more{ font-size: 12px; color: #888;}
.home-user-leftnav-li{ height: 40px; line-height: 40px; padding-left: 25px; color: #666;background:url(/images/user/home-user-left.png) 5px 5px no-repeat; font-size: 14px; position: relative; }
.home-user-leftnav-li:hover{ background:#f4f4f4 url(/images/user/home-user-left.png) 5px -35px no-repeat;}
.home-user-leftnav-li a:hover{color: #3b94d6;}
.icons-class{background:url(/images/user/home-user-left.png) 5px 5px no-repeat; }
.icons-class:hover{background:url(/images/user/home-user-left.png) 5px -35px no-repeat; }
.icons-project{background:url(/images/user/home-user-left.png) 5px -70px no-repeat; }
.icons-project:hover{background:url(/images/user/home-user-left.png) 5px -105px no-repeat; }
.icons-homework{background:url(/images/user/home-user-left.png) 5px -140px no-repeat; }
.icons-homework:hover{background:url(/images/user/home-user-left.png) 5px -177px no-repeat; }
.icons-doc{background:url(/images/user/home-user-left.png) 5px -215px no-repeat; }
.icons-doc:hover{background:url(/images/user/home-user-left.png) 5px -257px no-repeat; }
.icons-download{background:url(/images/user/home-user-left.png) 5px -292px no-repeat; }
.icons-download:hover{background:url(/images/user/home-user-left.png) 5px -326px no-repeat; }
.icons-issue{background:url(/images/user/home-user-left.png) 5px -360px no-repeat; }
.icons-issue:hover{background:url(/images/user/home-user-left.png) 5px -393px no-repeat; }
.home-user-grey-tag{ display: block; background-color: #eaeaea;padding: 0px 8px; height:20px; line-height:20px;-webkit-border-radius: 15px; -moz-border-radius: 15px; -o-border-radius: 15px; border-radius: 15px; font-size: 12px;}
.user_navmore_txt02 { display:inline-block; font-size:12px; color:#616060; background-color:#f8f8f8; border:1px solid #eaeaea; border-radius:3px; position:absolute; left:17px; top:-3px; padding:5px 0px; display:none; box-shadow: 0px 0px 8px rgba(146, 153, 169, 0.5); z-index:1000; width:75px;}
.user_navmore_txt02 li a.user_navmore_li {font-size:12px;color:#888; display:block; width:50px;height:24px;line-height:24px; }
.user_navmore_txt02 li a{ display:inline-block; padding:0 10px; border:none; height:24px;line-height:24px;color:#888;width:50px; }
.user_navmore_txt02 li:hover,.user_navmore_txt02 li a:hover{background-color:#f0f0f0;}
/*新版主页个性签名css byLB20161125*/
.home-user-intro{ width:728px; border:1px solid #ddd; padding:10px; background: #fff;}
.home-user-intro p{ color: #666; font-size: 14px;}
/*新版主页动态css byLB20161125*/
.home-user-newsbox{width:748px; border:1px solid #ddd; background: #fff;}
.home-user-newsbox h3{ height: 40px; line-height: 40px; border-bottom:1px solid #ddd; color: #333; padding-left: 10px; font-weight: normal; }
a.btn-grey-small{padding: 0px 10px;font-size: 12px; line-height: 20px;background:#dedede; border-radius: 3px;color: #333;}
a.btn-blue-small{padding: 0px 10px;font-size: 12px; line-height: 20px;background:#3b94d6; border-radius: 3px;color: #fff;}
a:hover.btn-grey-small{background:#d0d0d0; }
a:hover.btn-blue-small{background:#297ebd;}
.home-user-news-list{ padding:10px 10px ;border-bottom:1px dashed #ddd;}
.home-user-news-img img{ width: 40px;height: 40px;margin: 5px 0; border-radius: 50px;}
a.home-user-news-name{ display: inline-block; max-width:200px;overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; color: #3b94d6;}
.home-user-news-grey{ color: #888;}
.home-user-news-list-inner{ width: 675px;}
.home-user-news-txt{max-width:600px;overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.home-user-news-del{ height: 20px; display: inline-block; width: 20px; background:url(/images/user/home-user-left.png) 0px -514px no-repeat; }
.home-user-nonews{ width: 200px; margin:100px auto; text-align:center; color:#666; min-height: 350px; }
/*新版发现更多css byLB20161125*/
.content-new-inner{ width: 998px;border:1px solid #ddd; background: #fff; position: relative;}
.content-new-inner h3{height: 40px; line-height: 40px; border-bottom:1px solid #ddd; color: #333; padding-left: 10px; font-weight: normal; font-size: 14px; background: #f6f6f6;}
.content-faxian-list{border-bottom:1px dashed #ddd; padding:10px 0px; width: 100%;}
a.faxian-list-title{ font-size: 14px; color:#333;max-width:720px;overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
a:hover.faxian-list-title{ color: #3b94d6;}
.syllabus_class_private {color: #ff4a1b; border: 1px solid #ff4a1b;}
.syllabus_class_property {font-size: 12px; padding: 0 5px; border-radius: 3px;line-height: 14px;}
.syllabus_class_open {color: #7dd26c;border: 1px solid #7dd26c;}
a.pro_new_topbtn{ padding: 3px 7px; font-size: 12px; line-height: 20px; color: #333;vertical-align: middle;background-color: #fff; border: 1px solid #ddd; border-left: 0; border-top-right-radius: 3px; border-bottom-right-radius: 3px; color: #333;}
a.pro_new_topbtn_left { padding: 3px 10px; font-size: 12px;line-height: 20px; background-image: linear-gradient(#fcfcfc, #eee); border: 1px solid #d5d5d5;border-radius: 3px;border-top-right-radius: 0;border-bottom-right-radius: 0; color: #333; }
a:hover.pro_new_topbtn_left{background-image: linear-gradient(#ededed, #dddddd);}
.pro_new_topnav ul{border-bottom: 3px solid #fff; height: 30px; line-height: 30px;}
.pro_new_topnav ul li{ float: left; height: 30px; line-height: 30px;text-align: center; padding:0 15px; }
.pro_new_topnav_active{border-bottom: 3px solid #3b94d6; }
.hw_more_box {position:absolute; width:24px; height:15px; right:15px; top:15px;}
.hw_more_box ul li:hover ul {display:block; }
.hw_more_icons {background:url(/images/hw/icons_hw.png) 0px -30px no-repeat; width:24px; height:15px; }
.hw_more_icons:hover {background:url(/images/hw/icons_hw.png) -40px -30px no-repeat;}
.hw_more_txt {width:75px; font-size:12px; color:#616060; background-color:#fff; border:1px solid #eaeaea; border-radius:3px; position:absolute; left:-40px; top:15px; padding:5px 0px; display:none; box-shadow: 0px 0px 8px rgba(146, 153, 169, 0.5); z-index:1000;}
.hw_more_txt li a.hw_more_li {font-size:12px;color:#888; display:block; width:75px;height:24px;line-height:24px;text-align:center; }
.hw_more_txt li a.hw_more_li:hover {background-color:#f0f0f0;}
/* 个人主页左侧信息 */
.user_leftinfo{ width:238px;border:1px solid #e5e5e5; background:#fff url(/images/user/user_bg_info.jpg) 0 0 no-repeat; position:relative; }
a.user_leftinfo_img { display:block; width:80px; height:80px; margin:15px auto;}
.user_leftinfo_img img{ width:74px; height:74px;-webkit-border-radius:50px;-moz-border-radius:50px;-o-border-radius:50px;border-radius:50px; border:3px solid #dcdcdc; }
.user_leftinfo_female{ display:block; width:20px; height:20px;background:url(/images/user/icons_user_leftnav.png) 5px -378px no-repeat; position:absolute; top:80px; left:160px;}
.user_leftinfo_male{ display:block; width:20px; height:20px;background:url(/images/user/icons_user_leftnav.png) -25px -378px no-repeat; position:absolute; top:80px; left:160px;}
.user_leftinfo_namebox{ text-align:center; height:16px; line-height:16px; }
.user_leftinfo_name{ display: inline-block; max-width:160px; font-size:14px; font-weight:bold; overflow:hidden;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.user_cirbtn_yellow{ color:#fff; background:#ffb400; padding:0 5px;-webkit-border-radius:10px;-moz-border-radius:10px;-o-border-radius:10px;border-radius:10px; line-height:16px; }
.user_info_inner{ width:210px; margin:0 15px 15px;}
.user_atten li{ width:68px; float:left; border-right:1px solid #e5e5e5; text-align:center; font-size:14px;}
.user_atten li a{ color:#333;}
.user_atten li a:hover{ color:#3b94d6;}
.user_atten li:last-child{ border:none;}
.user_info_intro{ margin:10px auto; width:210px; color:#888; text-align: center;}
a.user_editinfo{border-top:1px solid #e5e5e5; height:30px; line-height:30px; text-align:center; color:#3b94d6; width:100%; display:inline-block;}
/* 个人主页左侧导航 */
.user_leftnav{ width:240px;}
.users_accordion li > a {display: block;padding: 0 10px 0 32px;height:49px;line-height:49px;color: #333;font-size:16px;background: #f8f8f8;border:1px solid #e5e5e5;border-bottom:none;}
.users_accordion > li:hover > a{color: #3b94d6;background: #fff;}
.users_accordion > li:target > a,
.users_accordion > li > a.active {color: #3b94d6;background: #fff;border:1px solid #e5e5e5;border-left:3px solid #3b94d6;border-bottom:none;}
.users_accordion li{ position:relative;}
.users_accordion li > a span {margin-top:15px;font-size:12px;padding: 0 10px;background: #dbdbdb;-webkit-border-radius: 15px;-moz-border-radius: 15px;border-radius: 15px;margin-left:10px;color: #333;}
.users_accordion > li:hover > a span,
.users_accordion > li:target > a span,
.users_accordion > li > a.active span {margin-left:10px;color: #333;background: #dbdbdb;}
/* Images */
.users_accordion > li > a:before {position: absolute;top: 0;left: 0;content: '';width: 24px;height: 50px;margin: 4px 8px;background-repeat: no-repeat;background-image:url(/images/user/icons_user_leftnav.png);background-position: 5px 15px;}
.users_accordion li.user_icons_course > a:before { background-position: 5px 15px; }
.users_accordion li.user_icons_course:hover > a:before,
.users_accordion li.user_icons_course:target > a:before,
.users_accordion li.user_icons_course > a.active:before { background-position: -25px 15px; }
.users_accordion li.user_icons_new > a:before { background-position: 5px -48px; }
.users_accordion li.user_icons_new:hover > a:before,
.users_accordion li.user_icons_new:target > a:before,
.users_accordion li.user_icons_new > a.active:before { background-position: -25px -48px; }
.users_accordion li.user_icons_addclass > a:before { background-position: 5px -87px; }
.users_accordion li.user_icons_addclass:hover > a:before,
.users_accordion li.user_icons_addclass:target > a:before,
.users_accordion li.user_icons_addclass > a.active:before { background-position: -25px -87px; }
.users_accordion li.user_icons_myhw > a:before { background-position: 5px -124px; }
.users_accordion li.user_icons_myhw:hover > a:before,
.users_accordion li.user_icons_myhw:target > a:before,
.users_accordion li.user_icons_myhw > a.active:before { background-position: -25px -124px; }
.users_accordion li.user_icons_project > a:before { background-position: 5px -167px; }
.users_accordion li.user_icons_project:hover > a:before,
.users_accordion li.user_icons_project:target > a:before,
.users_accordion li.user_icons_project > a.active:before { background-position: -25px -167px; }
.users_accordion li.user_icons_addproject > a:before { background-position: 5px -205px; }
.users_accordion li.user_icons_addproject:hover > a:before,
.users_accordion li.user_icons_addproject:target > a:before,
.users_accordion li.user_icons_addproject > a.active:before { background-position: -25px -205px; }
.users_accordion li.user_icons_myissues > a:before { background-position: 5px -246px; }
.users_accordion li.user_icons_myissues:hover > a:before,
.users_accordion li.user_icons_myissues:target > a:before,
.users_accordion li.user_icons_myissues > a.active:before { background-position: -25px -246px; }
.users_accordion li.user_icons_mes > a:before { background-position: 5px -289px; }
.users_accordion li.user_icons_mes:hover > a:before,
.users_accordion li.user_icons_mes:target > a:before,
.users_accordion li.user_icons_mes > a.active:before { background-position: -25px -289px; }
/* Sub Menu */
.user_sub_menu li a {color: #797979;background: #f8f8f8;height:39px;line-height:39px;font-size:14px;}
.user_sub_menu li a:hover,.user_sub_menu li a:target { color:#3b94d6; background:#fff url(/images/user/user_navmore_icons.png) 0px 0px no-repeat;}
.user_sub_menu li a:hover,.user_sub_menu li a:target{}
.user_sub_menu li:last-child a { }
.users_accordion li > .user_sub_menu {display: none;}
.users_accordion li:target > .user_sub_menu {display: block;}
.user_sub_menu > li > span.user_icons_class {padding:0;border:none;display:block;position: absolute;top:18px;left:10px;width:20px;height:20px;background:url(/images/user/icons_user_leftnav.png) 0px -34px no-repeat;}
a.user_navmorebox{ display:block; width:238px; height:20px; position:relative; background:#f8f8f8;border:1px solid #e5e5e5; border-bottom:none;}
a:hover.user_navmorebox{ background:#fff;}
a.user_navmorebox .user_icons_moreclass{display:block;position: absolute;top:5px;left:100px;width:25px;height:10px;background:url(/images/user/icons_user_leftnav.png) 5px -347px no-repeat;}
a.user_navmorebox .user_icons_closeclass{display:block;position: absolute;top:5px;left:100px;width:25px;height:10px;background:url(/images/user/icons_user_leftnav.png) -25px -347px no-repeat;}
/* 个人主页左侧导航更多功能 */
.user_navmore_box {position:absolute; width:15px; height:15px; right:13px; top:17px; cursor:pointer;}
.user_navmore_box ul li:hover ul {display:block; }
.user_navmore_icons {background:url(/images/user/icons_user_leftnav.png) -15px -34px no-repeat; width:19px; height:15px; }
.user_navmore_icons:hover {background:url(/images/user/icons_user_leftnav.png) -30px -34px no-repeat;}
.user_navmore_txt { display:inline-block; font-size:12px; color:#616060; background-color:#f8f8f8; border:1px solid #eaeaea; border-radius:3px; position:absolute; left:17px; top:-3px; padding:5px 0px; display:none; box-shadow: 0px 0px 8px rgba(146, 153, 169, 0.5); z-index:1000; width:115px;}
.user_navmore_txt li a{ display:inline-block; padding:0 10px; border:none; height:24px;line-height:24px;color:#888;width:75px; }
.user_navmore_txt li a.user_navmore_li {font-size:12px;color:#888; display:block; width:75px;height:24px;line-height:24px; }
.user_navmore_txt li a.user_navmore_add{ width:10px;color:#888; padding:0 5px; }
.user_navmore_txt li:hover,.user_navmore_txt li a:hover{background-color:#f0f0f0;}