|
@ -1921,6 +1921,8 @@ module ApplicationHelper
|
|||
forum_link = link_to l(:label_forum_all), {:controller => "forums", :action => "index"}
|
||||
stores_link = link_to l(:label_stores_index), {:controller => 'stores', :action=> 'index'}
|
||||
school_all_school_link = link_to l(:label_school_all), {:controller => 'school', :action => 'index'}
|
||||
project_new_link = link_to l(:label_project_new), {:controller => 'projects', :action => 'new', :host => Setting.project_domain}
|
||||
# project_mine_link = link_to l(:label_my_project), {:controller => 'users', :action => 'user_projects', :host => Setting.project_domain}
|
||||
|
||||
#@nav_dispaly_project_label
|
||||
nav_list = Array.new
|
||||
|
@ -1933,6 +1935,8 @@ module ApplicationHelper
|
|||
nav_list.push(main_contest_link) if @nav_dispaly_main_contest_label && @show_contest == 1
|
||||
|
||||
nav_list.push(courses_link) if @nav_dispaly_course_label && @show_course == 1
|
||||
nav_list.push(project_new_link) if @nav_dispaly_project_label
|
||||
# nav_list.push(project_mine_link) if @nav_dispaly_main_project_label
|
||||
# nav_list.push(projects_link) if @nav_dispaly_project_label
|
||||
#nav_list.push(users_link) if @nav_dispaly_user_label
|
||||
# nav_list.push(contest_link) if @nav_dispaly_contest_label && @show_contest == 1
|
||||
|
|
|
@ -35,6 +35,16 @@ module AttachmentsHelper
|
|||
end
|
||||
end
|
||||
|
||||
def link_to_attachment_project(container, options = {})
|
||||
options.assert_valid_keys(:author, :thumbnails)
|
||||
|
||||
if container.attachments.any?
|
||||
options = {:deletable => container.attachments_deletable?, :author => true}.merge(options)
|
||||
render :partial => 'attachments/project_file_links',
|
||||
:locals => {:attachments => container.attachments, :options => options, :thumbnails => (options[:thumbnails] && Setting.thumbnails_enabled?)}
|
||||
end
|
||||
end
|
||||
|
||||
def link_to_attachments_course(container, options = {})
|
||||
options.assert_valid_keys(:author, :thumbnails)
|
||||
|
||||
|
|
|
@ -1,92 +1,92 @@
|
|||
# encoding: utf-8
|
||||
#
|
||||
# Redmine - project management software
|
||||
# Copyright (C) 2006-2013 Jean-Philippe Lang
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
module MembersHelper
|
||||
def render_principals_for_new_members(project)
|
||||
scope = Principal.active.sorted.not_member_of(project).like(params[:q])
|
||||
principal_count = scope.count
|
||||
principal_pages = Redmine::Pagination::Paginator.new principal_count, 10, params['page'] #by young
|
||||
principals = scope.offset(principal_pages.offset).limit(principal_pages.per_page).all
|
||||
s = content_tag('div', principals_check_box_tags_ex('membership[user_ids][]', principals), :id => 'principals')
|
||||
links = pagination_links_full(principal_pages, principal_count, :per_page_links => false) {|text, parameters, options|
|
||||
link_to text, autocomplete_project_memberships_path(project, parameters.merge(:q => params[:q], :format => 'js')), :remote => true
|
||||
}
|
||||
s + content_tag('div', content_tag('ul', links), :class => 'pagination_new')
|
||||
end
|
||||
|
||||
#获取项目可邀请的成员列表
|
||||
def render_project_members project
|
||||
scope = Principal.active.sorted.not_member_of(project).like(params[:q])
|
||||
principals = paginateHelper scope,10
|
||||
s = content_tag('ul', project_member_check_box_tags_ex('membership[user_ids][]', principals), :class => 'mb5', :style => "margin-left: -40px;")
|
||||
links = pagination_links_full(@obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true){|text, parameters, options|
|
||||
link_to text, autocomplete_project_memberships_path(project, parameters.merge(:q => params[:q],:flag => true, :format => 'js')), :remote => true
|
||||
}
|
||||
s + content_tag('ul', links,:class => 'wlist')
|
||||
end
|
||||
|
||||
# add by nwb
|
||||
# 课程可添加的成员列表
|
||||
def render_principals_for_new_course_members(course)
|
||||
scope = Principal.active.sorted.not_member_of_course(course).like(params[:q])
|
||||
principals = paginateHelper scope,10
|
||||
s = content_tag('ul', project_member_check_box_tags_ex('membership[user_ids][]', principals), :class => 'mb5', :id => 'principals')
|
||||
|
||||
links = pagination_links_full(@obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true) {|text, parameters, options|
|
||||
link_to text, autocomplete_course_memberships_path(course, parameters.merge(:q => params[:q], :format => 'js')), :remote => true
|
||||
}
|
||||
|
||||
s + content_tag('ul', links,:class => 'wlist',:id => "course_member_pagination_links")
|
||||
end
|
||||
|
||||
|
||||
# 当前申请加入的成员名单
|
||||
def render_principals_for_applied_members(project)
|
||||
scope = project.applied_projects.map(&:user)
|
||||
principal_count = scope.count
|
||||
principal_pages = Redmine::Pagination::Paginator.new principal_count, 10, params['page']
|
||||
offset ||= principal_pages.offset
|
||||
principals = scope[offset, 10]
|
||||
#principals = scope.offset(principal_pages.offset).limit(principal_pages.per_page).all
|
||||
#principals = ApplicationController.new.paginateHelper scope,10
|
||||
|
||||
s = content_tag('div', principals_check_box_tags_ex('membership[user_ids][]', principals), :id => 'principals')
|
||||
|
||||
links = pagination_links_full(principal_pages, principal_count, :per_page_links => false) {|text, parameters, options|
|
||||
link_to text, appliedproject_project_memberships_path(project, parameters.merge(:q => params[:q], :format => 'js')), :remote => true
|
||||
}
|
||||
|
||||
s + content_tag('div', content_tag('ul', links), :class => 'applied_new')
|
||||
end
|
||||
|
||||
private
|
||||
def paginateHelper obj, pre_size=20
|
||||
@obj_count = obj.count
|
||||
@obj_pages = Redmine::Pagination::Paginator.new @obj_count, pre_size, params['page']
|
||||
if obj.kind_of? ActiveRecord::Base or obj.kind_of? ActiveRecord::Relation
|
||||
obj.limit(@obj_pages.per_page).offset(@obj_pages.offset)
|
||||
elsif obj.kind_of? Array
|
||||
obj[@obj_pages.offset, @obj_pages.per_page]
|
||||
else
|
||||
logger.error "[ApplicationController] Error : application_controller#paginateHelper ===> unknow category: #{obj.class}"
|
||||
raise RuntimeError, 'unknow type, Please input you type into this helper.'
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
# encoding: utf-8
|
||||
#
|
||||
# Redmine - project management software
|
||||
# Copyright (C) 2006-2013 Jean-Philippe Lang
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
module MembersHelper
|
||||
def render_principals_for_new_members(project)
|
||||
scope = Principal.active.sorted.not_member_of(project).like(params[:q])
|
||||
principal_count = scope.count
|
||||
principal_pages = Redmine::Pagination::Paginator.new principal_count, 10, params['page'] #by young
|
||||
principals = scope.offset(principal_pages.offset).limit(principal_pages.per_page).all
|
||||
s = content_tag('div', principals_check_box_tags_ex('membership[user_ids][]', principals), :id => 'principals')
|
||||
links = pagination_links_full(principal_pages, principal_count, :per_page_links => false) {|text, parameters, options|
|
||||
link_to text, autocomplete_project_memberships_path(project, parameters.merge(:q => params[:q], :format => 'js')), :remote => true
|
||||
}
|
||||
s + content_tag('div', content_tag('ul', links), :class => 'pagination_new')
|
||||
end
|
||||
|
||||
#获取项目可邀请的成员列表
|
||||
def render_project_members project
|
||||
scope = Principal.active.sorted.not_member_of(project).like(params[:q])
|
||||
principals = paginateHelper scope,10
|
||||
s = content_tag('ul', project_member_check_box_tags_ex('membership[user_ids][]', principals), :class => 'mb5', :style => "margin-left: -40px;")
|
||||
links = pagination_links_full(@obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true){|text, parameters, options|
|
||||
link_to text, autocomplete_project_memberships_path(project, parameters.merge(:q => params[:q],:flag => true, :format => 'js')), :remote => true
|
||||
}
|
||||
s + content_tag('ul', links,:class => 'wlist')
|
||||
end
|
||||
|
||||
# add by nwb
|
||||
# 课程可添加的成员列表
|
||||
def render_principals_for_new_course_members(course)
|
||||
scope = Principal.active.sorted.not_member_of_course(course).like(params[:q])
|
||||
principals = paginateHelper scope,10
|
||||
s = content_tag('ul', project_member_check_box_tags_ex('membership[user_ids][]', principals), :class => 'mb5', :id => 'principals')
|
||||
|
||||
links = pagination_links_full(@obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true) {|text, parameters, options|
|
||||
link_to text, autocomplete_course_memberships_path(course, parameters.merge(:q => params[:q], :format => 'js')), :remote => true
|
||||
}
|
||||
|
||||
s + content_tag('ul', links,:class => 'wlist',:id => "course_member_pagination_links")
|
||||
end
|
||||
|
||||
|
||||
# 当前申请加入的成员名单
|
||||
def render_principals_for_applied_members(project)
|
||||
scope = project.applied_projects.map(&:user)
|
||||
principal_count = scope.count
|
||||
principal_pages = Redmine::Pagination::Paginator.new principal_count, 10, params['page']
|
||||
offset ||= principal_pages.offset
|
||||
principals = scope[offset, 10]
|
||||
#principals = scope.offset(principal_pages.offset).limit(principal_pages.per_page).all
|
||||
#principals = ApplicationController.new.paginateHelper scope,10
|
||||
|
||||
s = content_tag('div', principals_check_box_tags_ex('membership[user_ids][]', principals), :id => 'principals')
|
||||
|
||||
links = pagination_links_full(principal_pages, principal_count, :per_page_links => false) {|text, parameters, options|
|
||||
link_to text, appliedproject_project_memberships_path(project, parameters.merge(:q => params[:q], :format => 'js')), :remote => true
|
||||
}
|
||||
|
||||
s + content_tag('div', content_tag('ul', links), :class => 'applied_new')
|
||||
end
|
||||
|
||||
private
|
||||
def paginateHelper obj, pre_size=20
|
||||
@obj_count = obj.count
|
||||
@obj_pages = Redmine::Pagination::Paginator.new @obj_count, pre_size, params['page']
|
||||
if obj.kind_of? ActiveRecord::Base or obj.kind_of? ActiveRecord::Relation
|
||||
obj.limit(@obj_pages.per_page).offset(@obj_pages.offset)
|
||||
elsif obj.kind_of? Array
|
||||
obj[@obj_pages.offset, @obj_pages.per_page]
|
||||
else
|
||||
logger.error "[ApplicationController] Error : application_controller#paginateHelper ===> unknow category: #{obj.class}"
|
||||
raise RuntimeError, 'unknow type, Please input you type into this helper.'
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -304,7 +304,7 @@ module WatchersHelper
|
|||
def exit_project_link(project)
|
||||
link_to(l(:label_exit_project),exit_cur_project_path(project.id),
|
||||
:remote => true, :confirm => l(:lable_sure_exit_project),
|
||||
:style => "color: #fff; display:block;font-size:12px; padding: 0px 5px; margin-right: 10px; height: 20px; line-height: 22px; background: none repeat scroll 0% 0% #64BDD9; TES;padding-top:1px;" )
|
||||
:class => "pr_join_a" )
|
||||
end
|
||||
|
||||
#项目关注、取消关注
|
||||
|
@ -321,7 +321,7 @@ module WatchersHelper
|
|||
:object_id => (objects.size == 1 ? objects.first.id : objects.map(&:id).sort))
|
||||
method = watched ? 'delete' : 'post'
|
||||
link_to text, url, :remote => true, :method => method,
|
||||
:class => "project_watch_new" ,:id=>id
|
||||
:class => "pr_join_a" ,:id=>id
|
||||
end
|
||||
|
||||
#申请加入项目
|
||||
|
@ -339,7 +339,7 @@ module WatchersHelper
|
|||
:user_id => user.id,
|
||||
:project_id => project.id)
|
||||
method = applied ? 'delete' : 'post'
|
||||
link_to text, url, :remote => true, :method => method , :class => "project_watch_new",:id => id
|
||||
link_to text, url, :remote => true, :method => method , :class => "pr_join_a",:id => id
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -0,0 +1,67 @@
|
|||
<span id="attachments_fields" xmlns="http://www.w3.org/1999/html">
|
||||
<% if defined?(container) && container && container.saved_attachments %>
|
||||
<% if isReply %>
|
||||
<% container.saved_attachments.each_with_index do |attachment, i| %>
|
||||
<span id="attachments_p<%= i %>" class="attachment">
|
||||
<%= text_field_tag("attachments[p#{i}][filename]", attachment.filename, :class => 'filename readonly', :readonly=>'readonly')%>
|
||||
<%= text_field_tag("attachments[p#{i}][description]", attachment.description, :maxlength => 255, :placeholder => l(:label_optional_description), :class => 'description', :style=>"display: inline-block;") +
|
||||
link_to(' '.html_safe, attachment_path(attachment, :attachment_id => "p#{i}", :format => 'js'), :method => 'delete', :remote => true, :class => 'remove-upload') %>
|
||||
<%#= render :partial => 'tags/tag', :locals => {:obj => attachment, :object_flag => "6"} %>
|
||||
<span class="ispublic-label"><%= l(:field_is_public)%>:</span>
|
||||
<%= check_box_tag("attachments[p#{i}][is_public_checkbox]", attachment.is_public,attachment.is_public == 1 ? true : false, :class => 'is_public')%>
|
||||
<%= hidden_field_tag "attachments[p#{i}][token]", "#{attachment.token}" %>
|
||||
</span>
|
||||
<% end %>
|
||||
<% else %>
|
||||
<% container.attachments.each_with_index do |attachment, i| %>
|
||||
<span id="attachments_p<%= i %>" class="attachment">
|
||||
<%= text_field_tag("attachments[p#{i}][filename]", attachment.filename, :class => 'filename readonly', :readonly=>'readonly')%>
|
||||
<%= text_field_tag("attachments[p#{i}][description]", attachment.description, :maxlength => 255, :placeholder => l(:label_optional_description), :class => 'description', :style=>"display: inline-block;") +
|
||||
link_to(' '.html_safe, attachment_path(attachment, :attachment_id => "p#{i}", :format => 'js'), :method => 'delete', :remote => true, :class => 'remove-upload') %>
|
||||
<%#= render :partial => 'tags/tag', :locals => {:obj => attachment, :object_flag => "6"} %>
|
||||
<span class="ispublic-label"><%= l(:field_is_public)%>:</span>
|
||||
<%= check_box_tag("attachments[p#{i}][is_public_checkbox]", attachment.is_public,attachment.is_public == 1 ? true : false, :class => 'is_public')%>
|
||||
<%= hidden_field_tag "attachments[p#{i}][token]", "#{attachment.token}" %>
|
||||
</span>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</span></br>
|
||||
<script type='text/javascript'>
|
||||
// function CompatibleSend()
|
||||
// {
|
||||
// var obj=document.getElementById("_file");
|
||||
// var file= $(obj).clone();
|
||||
// file.click();
|
||||
// }
|
||||
</script>
|
||||
<span class="add_attachment">
|
||||
<%#= button_tag "浏览", :type=>"button", :onclick=>"CompatibleSend();" %>
|
||||
<!--%= link_to image_tag(),"javascript:void(0)", :onclick => "_file.click()"%-->
|
||||
<%= button_tag "浏览", :type=>"button", :onclick=>"_file.click()",:class =>"sub_btn",:style => ie8? ? 'display:none' : '' %>
|
||||
<%= file_field_tag 'attachments[dummy][file]',
|
||||
:id => '_file',
|
||||
:class => 'file_selector',
|
||||
:multiple => true,
|
||||
:onchange => 'addInputFiles(this);',
|
||||
:style => 'display:none',
|
||||
:data => {
|
||||
:max_file_size => Setting.attachment_max_size.to_i.kilobytes,
|
||||
:max_file_size_message => l(:error_attachment_too_big, :max_size => number_to_human_size(Setting.attachment_max_size.to_i.kilobytes)),
|
||||
:max_concurrent_uploads => Redmine::Configuration['max_concurrent_ajax_uploads'].to_i,
|
||||
:upload_path => uploads_path(:format => 'js'),
|
||||
:description_placeholder => l(:label_optional_description),
|
||||
:field_is_public => l(:field_is_public),
|
||||
:are_you_sure => l(:text_are_you_sure),
|
||||
:file_count => l(:label_file_count),
|
||||
:delete_all_files => l(:text_are_you_sure_all)
|
||||
} %>
|
||||
<span id="upload_file_count" :class="c_grey"><%= l(:label_no_file_uploaded)%></span>
|
||||
(<%= l(:label_max_size) %>: <%= number_to_human_size(Setting.attachment_max_size.to_i.kilobytes) %>)
|
||||
</span>
|
||||
|
||||
<% content_for :header_tags do %>
|
||||
<%= javascript_include_tag 'attachments' %>
|
||||
<% end %>
|
||||
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
<div class="attachments" style="font-weight:normal;">
|
||||
<% is_float ||= false %>
|
||||
<% for attachment in attachments %>
|
||||
<p style="width: 100%;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">
|
||||
<%if is_float%>
|
||||
<div style="max-width:55%;white-space: nowrap; overflow: hidden; text-overflow: ellipsis;float: left;">
|
||||
<% end%>
|
||||
<span title="<%= attachment.filename%>" id = "attachment_">
|
||||
<% if options[:length] %>
|
||||
<%= link_to_short_attachment attachment, :class => ' link_file_board', :download => true,:length => options[:length] -%>
|
||||
<% else %>
|
||||
<%= link_to_short_attachment attachment, :class => ' link_file_board', :download => true -%>
|
||||
<% end %>
|
||||
</span>
|
||||
<%if is_float%>
|
||||
</div>
|
||||
<% end%>
|
||||
|
||||
<% if attachment.is_text? %>
|
||||
<%= link_to image_tag('magnifier.png'),
|
||||
:controller => 'attachments',
|
||||
:action => 'show',
|
||||
:id => attachment,
|
||||
:filename => attachment.filename%>
|
||||
<% end %>
|
||||
<span title="<%= attachment.description%>">
|
||||
<%= h(truncate(" - #{attachment.description}", length: options[:length] ? options[:length]:15, omission: '...')) unless attachment.description.blank? %>
|
||||
</span>
|
||||
<span class="size">(
|
||||
<%= number_to_human_size attachment.filesize %>)
|
||||
</span>
|
||||
<% if options[:deletable] %>
|
||||
<% if attachment.container_type == 'HomeworkAttach' %>
|
||||
<%= link_to image_tag('delete.png'), {:controller => 'attachments', :action => 'delete_homework', :id => attachment.id},
|
||||
:data => {:confirm => l(:text_are_you_sure)},
|
||||
:method => :delete,
|
||||
:class => 'delete delete-homework-icon',
|
||||
:remote => true,
|
||||
:title => l(:button_delete) %>
|
||||
<% else %>
|
||||
<%= link_to image_tag('delete.png'), attachment_path(attachment),
|
||||
:data => {:confirm => l(:text_are_you_sure)},
|
||||
:method => :delete,
|
||||
:class => 'delete',
|
||||
#:remote => true,
|
||||
#:id => "attachments_" + attachment.id.to_s,
|
||||
:title => l(:button_delete) %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% if options[:wrap] %>
|
||||
<br/>
|
||||
|
||||
<% end %>
|
||||
<% if options[:author] %>
|
||||
<span class="author" title="<%= attachment.author%>">
|
||||
<%= link_to h(truncate(attachment.author.name, length: 10, omission: '...')),user_path(attachment.author) %>,
|
||||
<%= format_time(attachment.created_on) %>
|
||||
</span>
|
||||
<% end %>
|
||||
</p>
|
||||
<% end %>
|
||||
<% if defined?(thumbnails) && thumbnails %>
|
||||
<% images = attachments.select(&:thumbnailable?) %>
|
||||
<% if images.any? %>
|
||||
<div class="thumbnails">
|
||||
<% images.each do |attachment| %>
|
||||
<div><%= thumbnail_tag(attachment) %></div>
|
||||
<% end %>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</div>
|
|
@ -1,4 +1,4 @@
|
|||
<script type="text/javascript">
|
||||
<script type="text/javascript" xmlns="http://www.w3.org/1999/html">
|
||||
function submitProjectBoard()
|
||||
{
|
||||
if(regexSubject()&®exContent())
|
||||
|
@ -37,51 +37,42 @@
|
|||
<% end %>
|
||||
|
||||
<!-- 内容显示部分 -->
|
||||
<div class="project_right">
|
||||
<div class="project_r_h">
|
||||
<h2 class="project_h2"><%= h @board.name %></h2>
|
||||
</div>
|
||||
<div class="talk_top">
|
||||
<div class="fl">项目讨论区共有<span><%= @topic_count %></span>个帖子 </div>
|
||||
<% if @project.enabled_modules.where("name = 'boards'").count > 0 && User.current.member_of?(@project) %>
|
||||
<div class="fl">项目讨论区共有<span><%= @topic_count %></span>个帖子 </div>
|
||||
<% if @project.enabled_modules.where("name = 'boards'").count > 0 && User.current.member_of?(@project) %>
|
||||
<span><%= link_to l(:label_message_new), new_board_message_path(@board),
|
||||
:class => 'problem_new_btn fl',
|
||||
:class => 'problem_new_btn fl c_dorange',
|
||||
:onclick => 'showAndScrollTo("add-message", "message_subject"); return false;' if User.current.logged? %></span>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 帖子内容显示 -->
|
||||
<% if @topics.any? %>
|
||||
<% @topics.each do |topic| %>
|
||||
<% @topics.each do |topic| %>
|
||||
<div class="problem_main">
|
||||
<a>
|
||||
<%= link_to image_tag(url_to_avatar(topic.author), :class => "problem_pic talk_pic fl"), user_path(topic.author) %>
|
||||
</a>
|
||||
<%= link_to image_tag(url_to_avatar(topic.author), :width=>"32",:height=>"32"), user_path(topic.author),:class => 'problem_pic talk_pic fl' %>
|
||||
<div class="talk_txt fl">
|
||||
<div>
|
||||
<span><%= link_to h(topic.subject), board_message_path(@board, topic), title:topic.subject.to_s, :class =>"problem_tit fl" %></span>
|
||||
<% if topic.sticky? %>
|
||||
<span class="talk_up">置顶</span>
|
||||
<% end %>
|
||||
</div>
|
||||
<div class="problem_line">
|
||||
<span>由<%= link_to topic.author, user_path(topic.author), :class =>"problem_name" %></span>
|
||||
<span>添加于<%= format_time topic.created_on %></span>
|
||||
</div>
|
||||
<%= link_to h(topic.subject), board_message_path(@board, topic), title:topic.subject.to_s, :class =>"problem_tit fl" %>
|
||||
<% if topic.sticky? %>
|
||||
<span class="talk_up fl c_red">置顶</span>
|
||||
<% end %>
|
||||
<br/>
|
||||
<p>由<%= link_to topic.author, user_path(topic.author), :class =>"problem_name c_orange" %>添加于<%= format_time topic.created_on %></p>
|
||||
</div>
|
||||
<span class="talk_btn fr">回复<%= link_to (topic.replies_count), board_message_path(@board, topic), :style =>"color:#fff;" %></span>
|
||||
<%=link_to (l(:label_reply) + topic.replies_count.to_s), board_message_path(@board, topic),:class => "talk_btn fr c_white" %>
|
||||
<div class="cl"></div>
|
||||
</div><!--讨论主类容 end-->
|
||||
<% end %>
|
||||
<ul class="wlist">
|
||||
<%= pagination_links_full @topic_pages, @topic_count, :per_page_links => false, :remote => false, :flag => true %>
|
||||
</ul>
|
||||
<% else %>
|
||||
<p class="nodata"><%= l(:label_no_data) %></p>
|
||||
<% end %>
|
||||
<!--讨论主类容 end-->
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<ul class="wlist">
|
||||
<%= pagination_links_full @topic_pages, @topic_count, :per_page_links => false, :remote => false, :flag => true %>
|
||||
</ul>
|
||||
<!--讨论主类容 end-->
|
||||
|
||||
<% other_formats_links do |f| %>
|
||||
<%= f.link_to 'Atom', :url => {:key => User.current.rss_key} %>
|
||||
|
|
|
@ -1,49 +1,49 @@
|
|||
<div class="members_left">
|
||||
<ul style=" border-bottom:none;">
|
||||
<li>
|
||||
<span class="w150 f_b" >
|
||||
用户
|
||||
</span>
|
||||
<span class="w150 f_b">
|
||||
角色
|
||||
</span>
|
||||
<span></span>
|
||||
</li>
|
||||
|
||||
<div id="course_member_list">
|
||||
<%= render :partial => "courses/member" %>
|
||||
</div>
|
||||
</ul>
|
||||
</div><!-- 左边-->
|
||||
<div class="members_right">
|
||||
<p class="c_blue fb mt10 mb5">添加成员</p>
|
||||
<%= form_for(@member, {:as => :membership, :url => course_memberships_path(@course), :remote => true, :method => :post}) do |f| %>
|
||||
<div class="member_search">
|
||||
<input hidden="hidden" value="true" name="flag">
|
||||
<input id="principal_search" class="member_search_input fl" type="text" placeholder="请输入用户名称来搜索好友">
|
||||
<%= javascript_tag "observeSearchfield('principal_search', null, '#{ escape_javascript autocomplete_course_memberships_path(@course, :format => 'js',:flag => true) }')" %>
|
||||
<div class="cl"></div>
|
||||
|
||||
<div id="principals_for_new_member">
|
||||
<%= render_principals_for_new_course_members(@course) %>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
|
||||
<ul class="rolebox mb10 mt10">
|
||||
<li class="fb">
|
||||
<%= l(:label_role_plural) %>:
|
||||
</li>
|
||||
<% @roles.each do |role| %>
|
||||
<li>
|
||||
<%= radio_button_tag 'membership[role_ids][]', role.id, role.name == "学生" || role.name == "Student" %>
|
||||
<label ><%= h role %></label>
|
||||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
<div class="cl mb10"></div>
|
||||
<a href="javascript:void(0)" class="member_btn" onclick="$('#new_membership').submit();">
|
||||
新增成员
|
||||
</a>
|
||||
</div>
|
||||
<% end%>
|
||||
<div class="members_left">
|
||||
<ul style=" border-bottom:none;">
|
||||
<li>
|
||||
<span class="w150 f_b" >
|
||||
用户
|
||||
</span>
|
||||
<span class="w150 f_b">
|
||||
角色
|
||||
</span>
|
||||
<span></span>
|
||||
</li>
|
||||
|
||||
<div id="course_member_list">
|
||||
<%= render :partial => "courses/member" %>
|
||||
</div>
|
||||
</ul>
|
||||
</div><!-- 左边-->
|
||||
<div class="members_right">
|
||||
<p class="c_blue fb mt10 mb5">添加成员</p>
|
||||
<%= form_for(@member, {:as => :membership, :url => course_memberships_path(@course), :remote => true, :method => :post}) do |f| %>
|
||||
<div class="member_search">
|
||||
<input hidden="hidden" value="true" name="flag">
|
||||
<input id="principal_search" class="member_search_input fl" type="text" placeholder="请输入用户名称来搜索好友">
|
||||
<%= javascript_tag "observeSearchfield('principal_search', null, '#{ escape_javascript autocomplete_course_memberships_path(@course, :format => 'js',:flag => true) }')" %>
|
||||
<div class="cl"></div>
|
||||
|
||||
<div id="principals_for_new_member">
|
||||
<%= render_principals_for_new_course_members(@course) %>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
|
||||
<ul class="rolebox mb10 mt10">
|
||||
<li class="fb">
|
||||
<%= l(:label_role_plural) %>:
|
||||
</li>
|
||||
<% @roles.each do |role| %>
|
||||
<li>
|
||||
<%= radio_button_tag 'membership[role_ids][]', role.id, role.name == "学生" || role.name == "Student" %>
|
||||
<label ><%= h role %></label>
|
||||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
<div class="cl mb10"></div>
|
||||
<a href="javascript:void(0)" class="member_btn" onclick="$('#new_membership').submit();">
|
||||
新增成员
|
||||
</a>
|
||||
</div>
|
||||
<% end%>
|
||||
</div><!-- 右边 end-->
|
|
@ -1,69 +1,28 @@
|
|||
<div class="autoscroll">
|
||||
<ul>
|
||||
<% issue_list(issues) do |issue, level| -%>
|
||||
<% issue_list(issues) do |issue, level| -%>
|
||||
<% if @query.grouped? && (group = @query.group_by_column.value(issue)) != previous_group %>
|
||||
<% reset_cycle %>
|
||||
<% previous_group = group %>
|
||||
<% end %>
|
||||
<div style="">
|
||||
<li id="issue-<%= issue.id %>" class="hascontextmenu-1 <%= issue.css_classes %> <%= level > 0 ? "idnt idnt-#{level}" : nil %>">
|
||||
<% column_content = ( query.inline_columns.map {|column| "#{column_content_new(column, issue)}"}) %>
|
||||
<% if issue.tracker_id == 1 %>
|
||||
<%= image_tag("/images/task.png", :class => "img-tag-issues") %>
|
||||
<% end %>
|
||||
<% if issue.tracker_id == 2 %>
|
||||
<%= image_tag("/images/feature.png", :class => "img-tag-issues") %>
|
||||
<% end %>
|
||||
<% if issue.tracker_id == 3 %>
|
||||
<%= image_tag("/images/support.png", :class => "img-tag-issues") %>
|
||||
<% end %>
|
||||
<% if issue.tracker_id == 4 %>
|
||||
<%= image_tag("/images/issues.png", :class => "img-tag-issues") %>
|
||||
<% end %>
|
||||
|
||||
<ul class="issue_list">
|
||||
<% unless issue.author.nil? || issue.author.name == "Anonymous" %>
|
||||
<ul class="list-group-item-meta" style="word-break: break-all;word-wrap: break-word;width: 100%;">
|
||||
<!-- 在这里添加赞和踩-->
|
||||
<span id="praise_tread" style="float: right">
|
||||
<%= render :partial => "/praise_tread/praise_tread",:locals =>
|
||||
{:obj => issue,:show_flag => true,:user_id =>User.current.id,:horizontal => false}%>
|
||||
</span>
|
||||
<span>
|
||||
<%= link_to issue.author.name, user_path(issue.author), :class => "bid_user_u" %>
|
||||
</span>
|
||||
<%= l(:label_post_on)%>
|
||||
<% a = [] %>
|
||||
<% a << column_content[1] %>
|
||||
<%# a << "##{column_content[0]}" << "(#{raw column_content[2]}):" << column_content[4] %>
|
||||
<% a << "#{issue.source_from}" << "(#{raw column_content[2]}):" << column_content[4] %>
|
||||
<%= link_to a.join(' '), issue_path(issue.id), :class => "issue-link" , :target =>"_blank"%>
|
||||
|
||||
<ul class="list-group-item-meta">
|
||||
<div class="wiki" style="width: 100%;word-break: break-all;word-wrap: break-word;">
|
||||
<%= textilizable issue, :description %>
|
||||
</div>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul class="list-group-item-meta" style="margin-top: -15px;">
|
||||
<% unless issue.assigned_to_id.nil? %>
|
||||
<span>
|
||||
<%= l(:field_assigned_to)%>
|
||||
</span>
|
||||
<%= raw column_content[5] %>
|
||||
<% end %>
|
||||
<%= l(:label_updated_time_on, format_date(issue.updated_on)).html_safe %>
|
||||
<div class="find-comment-class">
|
||||
<span>
|
||||
<%= link_to l(:label_find_all_comments), issue_path(issue.id) %>
|
||||
</span>
|
||||
<%= l(:label_comments_count, :count => issue.journals.all.count) %>
|
||||
</div>
|
||||
</ul>
|
||||
<% end -%>
|
||||
</ul>
|
||||
</li>
|
||||
<!-- CONTENT LIST -->
|
||||
<div class="problem_main">
|
||||
<!--< id="issue-<%#= issue.id %>" class="hascontextmenu-1 <%#= issue.css_classes %> <%#= level > 0 ? "idnt idnt-#{level}" : nil %>" >-->
|
||||
<% column_content = ( query.inline_columns.map {|column| "#{column_content_new(column, issue)}"}) %>
|
||||
<% unless issue.author.nil? || issue.author.name == "Anonymous" %>
|
||||
<a class="problem_pic fl"><%= image_tag(url_to_avatar(issue.author), :width => "42", :height => "42") %></a>
|
||||
<div class="problem_txt fl">
|
||||
<%= link_to issue.author.name, user_path(issue.author), :class => "problem_name c_orange fl" %>
|
||||
<span class="fl"><%= l(:label_post_on_issue) %>(<%= "#{raw column_content[2]}" %>):</span>
|
||||
<%=link_to column_content[4], issue_path(issue.id), :class => "problem_tit fl" %><br />
|
||||
<p><%= textilizable issue, :description %></p><br/>
|
||||
<p>
|
||||
<% unless issue.assigned_to_id.nil? %>
|
||||
<%= l(:field_assigned_to) %>
|
||||
<%=link_to issue.assigned_to(@user), user_path(issue.assigned_to(@user)), :class => "problem_name c_orange f1" %>
|
||||
<% end %>
|
||||
<%= l(:label_updated_time_on, format_date(issue.updated_on)).html_safe %>
|
||||
</p>
|
||||
</div>
|
||||
<% end %>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<% end -%>
|
||||
</ul>
|
||||
</div>
|
||||
<% end -%>
|
|
@ -79,11 +79,12 @@
|
|||
</p>
|
||||
<% else %>
|
||||
<%= render :partial => 'issues/list', :locals => {:issues => @issues, :query => @query} %>
|
||||
<div class="pagination">
|
||||
<ul><%= pagination_links_full @issue_pages, @issue_count %></ul>
|
||||
</div>
|
||||
<ul class="wlist">
|
||||
<%= pagination_links_full @issue_pages, @issue_count, :per_page_links => false, :remote => false, :flag => true %>
|
||||
</ul>
|
||||
|
||||
<% end %>
|
||||
<div style="float: right; padding-top: 30px">
|
||||
<div style="float: left; padding-top: 30px">
|
||||
<% other_formats_links do |f| %>
|
||||
<%= f.link_to 'Atom', :url => params.merge(:key => User.current.rss_key) %>
|
||||
<%= f.link_to 'CSV', :url => params, :onclick => "showModal('csv-export-options', '330px'); return false;" %>
|
||||
|
|
|
@ -10,230 +10,199 @@
|
|||
<meta name="keywords" content="issue,bug,tracker" />
|
||||
<%= csrf_meta_tag %>
|
||||
<%= favicon %>
|
||||
<%= stylesheet_link_tag 'jquery/jquery-ui-1.9.2', 'application', 'nyan', :media => 'all' %>
|
||||
<%= stylesheet_link_tag 'rtl', :media => 'all' if l(:direction) == 'rtl' %>
|
||||
<%= javascript_heads %>
|
||||
<%= heads_for_theme %>
|
||||
<%= hubspot_head %>
|
||||
<%= stylesheet_link_tag 'public', 'pleft', 'project' %>
|
||||
<%= javascript_include_tag 'project', 'header' %>
|
||||
<%= call_hook :view_layouts_base_html_head %>
|
||||
<!-- page specific tags -->
|
||||
<%= yield :header_tags -%>
|
||||
</head>
|
||||
<!--add by huang-->
|
||||
<body class="<%= h body_css_classes %>">
|
||||
<div id="wrapper">
|
||||
<div id="wrapper2">
|
||||
<div id="wrapper3">
|
||||
<%= render :partial => 'layouts/base_header'%>
|
||||
<div id="main">
|
||||
<div class="top-content">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="info_font" style="width: 240px;" rowspan="2"><a href="http://<%= Setting.host_name%>" style="color: #15bccf;"> <%= l(:label_projects_community)%> </a></td>
|
||||
<td style="width: 430px; color: #15bccf"><strong><%= l(:label_user_location) %> : </strong></td>
|
||||
<td rowspan="2" width="250px">
|
||||
<div class="top-content-search">
|
||||
<script type="text/javascript">
|
||||
function regexName()
|
||||
{
|
||||
var name = $.trim($("#name").val());
|
||||
if(name.length == 0)
|
||||
{
|
||||
$("#project_name_span").text("<%= l(:label_search_conditions_not_null) %>");
|
||||
$("#project_name_span").css('color','#ff0000');
|
||||
$("#project_name_span").focus();
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#project_name_span").text("");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// 项目描述超过展开
|
||||
$(function(){
|
||||
$(".subNav").click(function(){
|
||||
$(this).toggleClass("currentDd").siblings(".subNav").removeClass("currentDd")
|
||||
$(this).toggleClass("currentDt").siblings(".subNav").removeClass("currentDt")
|
||||
|
||||
// 修改数字控制速度, slideUp(500)控制卷起速度
|
||||
$(this).next(".navContent").slideToggle(500).siblings(".navContent").slideUp(500);
|
||||
})
|
||||
})
|
||||
<body>
|
||||
<div id="Container">
|
||||
<%= render :partial => 'layouts/new_header'%>
|
||||
<div class="cl"></div>
|
||||
|
||||
function show_more_msg()
|
||||
{$("#course_description").toggleClass("course_description_none");}
|
||||
</script>
|
||||
|
||||
<%= form_tag(projects_search_path, :method => :get, :id => "project_search_form") do %>
|
||||
<%= text_field_tag 'name', params[:name], :size => 20, :onkeyup => "regexName();", :style => "float:left" %>
|
||||
<%= hidden_field_tag 'project_type', params[:project_type] %>
|
||||
<%#= submit_tag l(:label_search), :class => "enterprise", :name => nil %>
|
||||
<a href="#" onclick="submitSerch();" class="ButtonColor m3p10" style="float:left;padding-top: 3px; margin: 0px;padding-bottom:0px;" > <%= l(:label_search)%> </a>
|
||||
<br />
|
||||
<span id="project_name_span" style="float: left"></span>
|
||||
<% end %>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p class="top-content-list">
|
||||
<%= link_to l(:label_home),home_path %> >
|
||||
<%= link_to @project, project_path(@project) %>
|
||||
</p></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<!-- 左边侧栏内容 -->
|
||||
<div id="sidebar">
|
||||
<div class="project_left">
|
||||
<div class="project_info">
|
||||
<div class="pr_info_logo fl mr10 mb5">
|
||||
<%= image_tag(url_to_avatar(@project), :style => 'width:61px; height:61px;') %>
|
||||
</div>
|
||||
<div class="pr_info_id fl mb5">
|
||||
<%= l(:label_project_id)%><%= @project.id %>
|
||||
</div>
|
||||
<!--关注、申请加入/退出项目-->
|
||||
<div id="join_exit_project_div">
|
||||
<%= render 'layouts/join_exit_project' %>
|
||||
</div>
|
||||
<!-- 项目得分 -->
|
||||
<div class="cl"></div>
|
||||
<div class="pr_info_name f1">
|
||||
<%= link_to @project.name, project_path(@project), :style => "color:#3E4040"%>
|
||||
<% if !@project.is_public? %>
|
||||
<span class="img_private"><%= l(:label_private)%></span>
|
||||
<% end %>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
<div class="pr_info_score">
|
||||
<% if @project.project_type == 0 %>
|
||||
<%= l(:label_project_score)%> :
|
||||
<%= link_to(format("%.2f" ,project_scores(@project) ).to_i, {:controller => 'projects',
|
||||
:action => 'show_projects_score',
|
||||
:remote => true,
|
||||
:id => @project.id },
|
||||
:style => "color: #EC6300;") %>
|
||||
<% end %>
|
||||
</div>
|
||||
<div class="pr_info_foot">
|
||||
<%= l(:label_member) %>(<span class="info_foot_num" >
|
||||
<%= link_to "#{@project.members.count}", project_member_path(@project), :style => "color:#3CA5C6;font-weight:bold" %></span>)
|
||||
<span>| </span>
|
||||
<%= l(:label_user_watcher) %>(<span class="info_foot_num">
|
||||
<%= link_to "#{@project.watcher_users.count}", {:controller=>"projects", :action=>"watcherlist", :id => @project.id}, :style => "color:#3CA5C6;font-weight:bold" %></span>)
|
||||
<span>| </span>
|
||||
<%= l(:project_module_attachments) %>(<span class="info_foot_num" >
|
||||
<!--TopBar begin-->
|
||||
<div id="TopBar">
|
||||
<div class="topbar_info02 fl">
|
||||
<h2>
|
||||
<a href="http://<%= Setting.host_name %>" target="_blank" class="c_blue">
|
||||
<%= l(:label_projects_community) %>
|
||||
</a>
|
||||
</h2>
|
||||
<p>
|
||||
<%= l(:label_user_location) %> :
|
||||
<%= link_to l(:field_homepage), home_path %>
|
||||
>
|
||||
<a href="http://<%= Setting.host_name %>">
|
||||
<%=l(:label_project_hosting_platform) %>
|
||||
</a>
|
||||
>
|
||||
<%= link_to @project.name, nil %>
|
||||
</p>
|
||||
</div>
|
||||
<div class="search fl">
|
||||
|
||||
<%= form_tag(projects_search_path, :method => :get, :id => "project_search_form", :class => "search_form") do %>
|
||||
<%= text_field_tag 'name', params[:name], :placeholder => "项目名称", :class => "search_text fl", :onkeyup => "regexName('#{l(:label_search_conditions_not_null)}');" %>
|
||||
<a href="#" onclick="submitSerch('<%= l(:label_search_conditions_not_null) %>');" class="search_btn fl f14 c_white" >
|
||||
<%= l(:label_search)%>
|
||||
</a>
|
||||
<br />
|
||||
<span id="project_name_span" style="float: left"></span>
|
||||
<% end %>
|
||||
</div>
|
||||
</div><!--TopBar end-->
|
||||
<div id="content">
|
||||
<div id="LSide" class="fl">
|
||||
<div class="project_info">
|
||||
<div class="pr_info_logo fl mr10 mb5">
|
||||
<%= image_tag(url_to_avatar(@project), :width => "60", :height => "60") %>
|
||||
</div>
|
||||
<div class="pr_info_id fl mb5 f14">
|
||||
<%= l(:label_project_id)%><%= @project.id %>
|
||||
</div>
|
||||
<!--关注、申请加入/退出项目-->
|
||||
<div id="join_exit_project_div">
|
||||
<%= render 'layouts/join_exit_project' %>
|
||||
</div>
|
||||
<!-- 项目得分 -->
|
||||
<div class="cl"></div>
|
||||
<div>
|
||||
<a class="pr_info_name fl c_dark fb" href="javascript:void(0)" target="_blank">
|
||||
<%= l(:label_project_name) %><%= @project.name %></a>
|
||||
<% if @project.is_public? %>
|
||||
<span class="img_private"><%= l(:label_public)%></span>
|
||||
<% else %>
|
||||
<span class="img_private"><%= l(:label_private)%></span>
|
||||
<% end %>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
<div>
|
||||
<% if @project.project_type == 0 %>
|
||||
<span class="fb f14 "><%= l(:label_project_score)%> :</span>
|
||||
<%= link_to(format("%.2f" ,project_scores(@project) ).to_i, {:controller => 'projects',
|
||||
:action => 'show_projects_score',
|
||||
:remote => true,
|
||||
:id => @project.id
|
||||
}, :class => "c_orange f14" ) %>
|
||||
<% end %>
|
||||
</div>
|
||||
<!--参数-->
|
||||
<div class="pr_info_foot">
|
||||
<%= l(:label_member) %>(<%= link_to "#{@project.members.count}", project_member_path(@project), :class => 'info_foot_num c_blue' %>)
|
||||
<span>| </span>
|
||||
<%= l(:label_user_watcher) %>(<%= link_to "#{@project.watcher_users.count}", {:controller=>"projects", :action=>"watcherlist", :id => @project.id}, :class => 'info_foot_num c_blue' %>)
|
||||
<span>| </span>
|
||||
<%= l(:project_module_attachments) %>(
|
||||
<% attaments_num = @project.attachments.count+Attachment.where(["`container_type` = 'Version' and `container_id` in (?)",@project.versions.map{ |v| v.id}]).all.count %>
|
||||
<%= link_to "#{attaments_num}", project_files_path(@project), :style => "color:#3CA5C6;font-weight:bold" %></span>)
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</div><!--项目信息 end-->
|
||||
<%= link_to "#{attaments_num}", project_files_path(@project), :class => 'info_foot_num c_blue' %></span>)
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</div><!--参数 end-->
|
||||
<!--邀请加入-->
|
||||
<div class="subNavBox">
|
||||
<% if User.current.member_of?(@project) %>
|
||||
<div class="subNav currentDd currentDt subNav_jiantou"><%= l(:label_invite)%></div>
|
||||
<ul class="navContent " style="display:block">
|
||||
<li><%= link_to l(:label_invite_new_user), :controller=>"projects", :action=>"invite_members_by_mail", :id => @project %></li>
|
||||
<li><%= link_to l(:label_invite_trustie_user), :controller=>"projects", :action=>"invite_members", :id => @project %></li>
|
||||
</ul>
|
||||
<% end %><!--end-->
|
||||
<!--menu -->
|
||||
<div class="subNav">
|
||||
<%= link_to l(:label_activity), {:controller => 'projects', :action => 'show', :id => @project.id}, :class => "f14 c_blue02" %>
|
||||
<% unless ForgeActivity.where("project_id = ?", @project.id).count == 0 %>
|
||||
<a class="subnav_num">(<%= ForgeActivity.where("project_id = ?", @project.id).count %>)</a>
|
||||
<% end %>
|
||||
</div>
|
||||
<% unless @project.enabled_modules.where("name = 'issue_tracking'").empty? %>
|
||||
<div class="subNav">
|
||||
<%= link_to l(:label_issue_tracking), project_issues_path(@project), :class => "f14 c_blue02" %>
|
||||
<% unless @project.issues.count == 0 %>
|
||||
<a class="subnav_num">(<%= @project.issues.count %>)</a><span>
|
||||
<% end %>
|
||||
<% if User.current.member_of?(@project) %>
|
||||
<%= link_to "+"+l(:label_release_issue), new_project_issue_path(@project) , :class => "subnav_green" %></span>
|
||||
<% end %>
|
||||
</div>
|
||||
<% end %>
|
||||
<% unless @project.enabled_modules.where("name = 'boards'").empty? %>
|
||||
<div class="subNav">
|
||||
<%= link_to l(:project_module_boards), project_boards_path(@project), :class => "f14 c_blue02" %>
|
||||
<% unless @project.boards.first.topics.count == 0 %>
|
||||
<a class="subnav_num">(<%= @project.boards.first.topics.count %>)</a>
|
||||
<% end %>
|
||||
<% if User.current.member_of?(@project) %>
|
||||
<%= link_to "+"+l(:project_module_boards_post), project_boards_path(@project, :flag => true), :layout => 'base_projects', :class => "subnav_green ml105" %>
|
||||
<% end %>
|
||||
</div>
|
||||
<% end%>
|
||||
<% unless @project.enabled_modules.where("name = 'files'").empty? %>
|
||||
<div class="subNav">
|
||||
<%= link_to l(:project_module_files), project_files_path(@project), :class => "f14 c_blue02" %>
|
||||
<% unless attaments_num == 0 %>
|
||||
<a class="subnav_num">(<%= attaments_num %>)</a>
|
||||
<% end %>
|
||||
<% if User.current.member_of?(@project) %>
|
||||
<%= link_to "+"+l(:label_upload_files), project_files_path(@project,:flag => true), :class => "subnav_green ml95" %>
|
||||
<% end %>
|
||||
</div>
|
||||
<% end%>
|
||||
<% unless @project.enabled_modules.where("name = 'repository'").empty? || @project.repositories.count == 0 %>
|
||||
<div class="subNav">
|
||||
<%= link_to l(:project_module_repository), {:controller => 'repositories', :action => 'show', :id => @project.id}, :class => "f14 c_blue02" %>
|
||||
<a class="subnav_num">(<%= @project.repositories.count %>)</a>
|
||||
<%# if User.current.member_of?(@project) %>
|
||||
<%#= link_to "+"+l(:project_module_create_repository), new_project_repository_path(@project),:style => "font-size:12px;color:#fff; padding:1px 3px 3px 3px;height:18px;margin-top:3px;background:#28be6c;float:right;line-height:20px;" %>
|
||||
<%# end %>
|
||||
</div>
|
||||
<% end %><!--meny end -->
|
||||
<!-- more -->
|
||||
<div class="subNav subNav_jiantou"><%= l(:label_project_more) %></div>
|
||||
<ul class="navContent">
|
||||
<%= render 'projects/tools_expand' %>
|
||||
</ul>
|
||||
</div><!--项目侧导航 end-->
|
||||
<div class="cl"></div>
|
||||
<!-- 项目描述 -->
|
||||
<div class="project_intro">
|
||||
<div id="course_description" class="course_description">
|
||||
<h4 ><%= l(:label_project_overview) %></h4><%= @project.description %>
|
||||
</div>
|
||||
<div class="lg-foot" onclick="show_more_msg();"><%= l(:label_expend_information) %><span class="g-arr-down"><img src="/images/jiantou.jpg" width="12" height="6" /></span></div>
|
||||
</div>
|
||||
<!-- tag模块 -->
|
||||
<div class="project_Label">
|
||||
<h4 class="mb5"><%= l(:label_tag)%>:</h4>
|
||||
<div class="tag_h">
|
||||
<div id="tags">
|
||||
<%= render :partial => 'tags/project_tag', :locals => {:obj => @project,:object_flag => "2"}%>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</div><!--项目标签 end-->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="subNavBox">
|
||||
<% if User.current.member_of?(@project) %>
|
||||
<div class="subNav currentDd currentDt subNav_jiantou"><%= l(:label_invite)%></div>
|
||||
<ul class="navContent " style="display:block; padding-left: 0px; margin-top:0px;">
|
||||
<li><%= link_to l(:label_invite_new_user), :controller=>"projects", :action=>"invite_members_by_mail", :id => @project %></li>
|
||||
<li><%= link_to l(:label_invite_trustie_user), :controller=>"projects", :action=>"invite_members", :id => @project %></li>
|
||||
</ul>
|
||||
<% end %>
|
||||
<div class="subNav">
|
||||
<%= link_to l(:label_activity), {:controller => 'projects', :action => 'show', :id => @project.id}, :style => "color:#3CA5C6" %>
|
||||
<% unless ForgeActivity.where("project_id = ?", @project.id).count == 0 %>
|
||||
<span class="subnav_num">(<%= ForgeActivity.where("project_id = ?", @project.id).count %>)</span>
|
||||
<% end %>
|
||||
</div>
|
||||
<% unless @project.enabled_modules.where("name = 'issue_tracking'").empty? %>
|
||||
<div class="subNav">
|
||||
<%= link_to l(:label_issue_tracking), project_issues_path(@project), :style => "color:#3CA5C6" %>
|
||||
<% unless @project.issues.count == 0 %>
|
||||
<span class="subnav_num">(<%= @project.issues.count %>)</span><span>
|
||||
<% end %>
|
||||
<% if User.current.member_of?(@project) %>
|
||||
<%= link_to "+"+l(:label_release_issue), new_project_issue_path(@project) , :style => "font-size:12px !important;color:#fff; padding:1px 3px 3px 3px;height:16px;margin-top:4px;background:#28be6c;float:right;line-height:20px;" %></span>
|
||||
<% end %>
|
||||
</div>
|
||||
<% end %>
|
||||
<% unless @project.enabled_modules.where("name = 'boards'").empty? %>
|
||||
<div class="subNav">
|
||||
<%= link_to l(:project_module_boards), project_boards_path(@project), :style => "color:#3CA5C6" %>
|
||||
<% unless @project.boards.first.topics.count == 0 %>
|
||||
<span class="subnav_num">(<%= @project.boards.first.topics.count %>)</span>
|
||||
<% end %>
|
||||
<% if User.current.member_of?(@project) %>
|
||||
<%= link_to "+"+l(:project_module_boards_post), project_boards_path(@project, :flag => true), :layout => 'base_projects',:style => "font-size:12px !important;color:#fff; padding:0px 3px 3px 3px;height:16px;margin-top:5px;background:#28be6c;float:right;line-height:20px;" %>
|
||||
<% end %>
|
||||
</div>
|
||||
<% end%>
|
||||
<% unless @project.enabled_modules.where("name = 'files'").empty? %>
|
||||
<div class="subNav">
|
||||
<%= link_to l(:project_module_files), project_files_path(@project), :style => "color:#3CA5C6" %>
|
||||
<% unless attaments_num == 0 %>
|
||||
<span class="subnav_num">(<%= attaments_num %>)</span>
|
||||
<% end %>
|
||||
<% if User.current.member_of?(@project) %>
|
||||
<%= link_to "+"+l(:label_upload_files), project_files_path(@project,:flag => true),:style => "font-size:12px !important;color:#fff; padding:1px 3px 3px 3px;height:16px;margin-top:4px;background:#28be6c;float:right;line-height:20px;" %>
|
||||
<% end %>
|
||||
</div>
|
||||
<% end%>
|
||||
<% unless @project.enabled_modules.where("name = 'repository'").empty? || @project.repositories.count == 0 %>
|
||||
<div class="subNav">
|
||||
<%= link_to l(:project_module_repository), {:controller => 'repositories', :action => 'show', :id => @project.id}, :style => "color:#3CA5C6" %>
|
||||
<span class="subnav_num">(<%= @project.repositories.count %>)</span>
|
||||
<%# if User.current.member_of?(@project) %>
|
||||
<%#= link_to "+"+l(:project_module_create_repository), new_project_repository_path(@project),:style => "font-size:12px;color:#fff; padding:1px 3px 3px 3px;height:18px;margin-top:3px;background:#28be6c;float:right;line-height:20px;" %>
|
||||
<%# end %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<div class="subNav subNav_jiantou"><%= l(:label_project_more) %></div>
|
||||
<ul class="navContent" style="padding-left: 0px">
|
||||
<%= render 'projects/tools_expand' %>
|
||||
</ul>
|
||||
</div><!--项目侧导航 end-->
|
||||
<div class="cl"></div>
|
||||
<!-- 项目描述 -->
|
||||
<div class="project_intro">
|
||||
<div id="course_description" class="course_description">
|
||||
<h4 ><%= l(:label_project_overview) %></h4><%= @project.description %>
|
||||
</div>
|
||||
<div class="lg-foot" onclick="show_more_msg();"><%= l(:label_expend_information) %><span class="g-arr-down"><img src="/images/jiantou.jpg" width="12" height="6" /></span></div>
|
||||
</div>
|
||||
<!-- tag模块 -->
|
||||
<div class="project_Label">
|
||||
<h4 class="project_h4"><%= l(:label_tag)%>:</h4>
|
||||
<div class="tag_h" >
|
||||
<div class="user_tags">
|
||||
<div id="tags">
|
||||
<%= render :partial => 'tags/project_tag', :locals => {:obj => @project,:object_flag => "2"}%>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</div><!--项目标签 end-->
|
||||
</div>
|
||||
</div>
|
||||
<div id="content">
|
||||
|
||||
<%= render_flash_messages %>
|
||||
<%= yield %>
|
||||
<%= call_hook :view_layouts_base_content %>
|
||||
<div style="clear:both;"></div>
|
||||
</div>
|
||||
<%= render :partial => 'layouts/base_footer'%>
|
||||
</div>
|
||||
|
||||
<div id="ajax-indicator" style="display:none;">
|
||||
<span><%= l(:label_loading) %></span>
|
||||
</div>
|
||||
<div id="ajax-modal" style="display:none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<%= call_hook :view_layouts_base_body_bottom %>
|
||||
</div>
|
||||
<div id="RSide" class="fl">
|
||||
<%= render_flash_messages %>
|
||||
<%= yield %>
|
||||
<%= call_hook :view_layouts_base_content %>
|
||||
<div style="clear:both;"></div>
|
||||
</div>
|
||||
<div style="clear:both;"></div>
|
||||
<div class="cl"></div>
|
||||
<%= render :partial => 'layouts/new_footer'%>
|
||||
<div class="cl"></div>
|
||||
</div><!--Container end-->
|
||||
<div id="ajax-indicator" style="display:none;">
|
||||
<span><%= l(:label_loading) %></span>
|
||||
</div>
|
||||
<div id="ajax-modal" style="display:none;"></div>
|
||||
<%= call_hook :view_layouts_base_body_bottom %>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
|
|
@ -0,0 +1,44 @@
|
|||
<%= error_messages_for 'message' %>
|
||||
<% replying ||= false %>
|
||||
<% extra_option = replying ? { readonly: true} : { maxlength: 200 } %>
|
||||
|
||||
<li>
|
||||
<label><span class="c_red">*</span> <%= l(:field_subject) %> :</label>
|
||||
<% if replying %>
|
||||
<%= f.text_field :subject, { size: 60, id: "message_subject",:class=>"talk_input w585" }.merge(extra_option) %>
|
||||
<% else %>
|
||||
<%= f.text_field :subject, { size: 60, id: "message_subject", onkeyup: "regexSubject();",:class=>"talk_input w585" }.merge(extra_option) %>
|
||||
<% end %>
|
||||
<p id="subject_span" class="ml55"></p>
|
||||
</li>
|
||||
<li class="ml60 mb5">
|
||||
<% unless replying %>
|
||||
<% if @message.safe_attribute? 'sticky' %>
|
||||
<%= f.check_box :sticky %>
|
||||
<%= label_tag 'message_sticky', l(:label_board_sticky) %>
|
||||
<% end %>
|
||||
<% if @message.safe_attribute? 'locked' %>
|
||||
<%= f.check_box :locked %>
|
||||
<%= label_tag 'message_locked', l(:label_board_locked) %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<div class="cl"></div>
|
||||
</li>
|
||||
<li>
|
||||
<div id="message_quote" class="wiki" style="width: 100%;word-break: break-all;word-wrap: break-word;"></div>
|
||||
<label class="fl" ><span class="c_red">*</span> <%= l(:field_description) %> :</label>
|
||||
<%= text_area :quote,:quote,:style => 'display:none' %>
|
||||
<%= f.text_area :content, :class => 'talk_text fl', :id => 'message_content', :onkeyup => "regexContent();", :maxlength => 5000,:placeholder => "最多3000个汉字(或6000个英文字符)" %>
|
||||
<div class="cl"></div>
|
||||
<p id="message_content_span" class="ml55"></p>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
<li>
|
||||
<label class="fl"> <%= l(:label_attachment_plural) %> :</label>
|
||||
<div class="fl">
|
||||
<%= render :partial => 'attachments/form_project', :locals => {:container => @message,:isReply => @isReply} %>
|
||||
</div>
|
||||
</li>
|
||||
<li >
|
||||
<div class="cl"></div>
|
||||
</li>
|
|
@ -1,209 +1,114 @@
|
|||
<style type="text/css">
|
||||
.lz {
|
||||
position: relative;
|
||||
min-height: 200px;
|
||||
margin: 10px 2px;
|
||||
border-radius: 5px;
|
||||
box-shadow: 1px 1px 6px #97EBF4;
|
||||
}
|
||||
.lz-left {
|
||||
float: left;
|
||||
margin: 2%;
|
||||
padding: 0;
|
||||
}
|
||||
.memo-section {
|
||||
width: auto;
|
||||
margin-left: 15%;
|
||||
padding-top: 1%;
|
||||
border-left: 2px dotted #EEE;/*#8BE9F3;*/
|
||||
}
|
||||
.memo-title {
|
||||
margin: 1em 0;
|
||||
padding-left: 1%;
|
||||
padding-bottom: 1%;
|
||||
font-weight: bold;
|
||||
border-bottom: 1px dashed rgb(204, 204, 204);
|
||||
}
|
||||
.memo-content {
|
||||
width: 82%;
|
||||
padding: 1%;
|
||||
margin: 1%;
|
||||
margin-bottom: 40px;
|
||||
background-color: #F6F6F6;
|
||||
white-space: normal;
|
||||
word-break: break-all;
|
||||
word-wrap: break-word;
|
||||
/*word-wrap: break-word;*/
|
||||
}
|
||||
.memo-timestamp {
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
/*right: 0;*/
|
||||
left: 0;
|
||||
margin: 20px;
|
||||
}
|
||||
.replies {
|
||||
float: right;
|
||||
/*max-width: 90%;*/
|
||||
}
|
||||
.reply-box {
|
||||
float: right;
|
||||
width: 640px;
|
||||
padding: 3%;
|
||||
/*border: 2px solid #C6F3F9;*/
|
||||
border-top: 2px double #C6F3F9;
|
||||
/*border-radius: 10px;*/
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="lz">
|
||||
<div class="project_r_h">
|
||||
<h2 class="project_h2"><%= h @board.name %></h2>
|
||||
</div>
|
||||
<!-- 在这里添加赞和踩-->
|
||||
<span id="praise_tread" style="float: right">
|
||||
<%= render :partial => "/praise_tread/praise_tread",:locals => {:obj => @topic,:show_flag => true,:user_id =>User.current.id,:horizontal => true}%>
|
||||
</span>
|
||||
<div class="contextual">
|
||||
<%= watcher_link(@topic, User.current) %>
|
||||
<%= link_to(
|
||||
l(:button_quote),
|
||||
{:action => 'quote', :id => @topic},
|
||||
:remote => true,
|
||||
:method => 'get',
|
||||
:class => 'icon icon-comment',
|
||||
:remote => true) if !@topic.locked? && authorize_for('messages', 'reply') %>
|
||||
<%= link_to(
|
||||
l(:button_edit),
|
||||
{:action => 'edit', :id => @topic},
|
||||
:class => 'icon icon-edit'
|
||||
) if @message.editable_by?(User.current) %>
|
||||
<%= link_to(
|
||||
l(:button_delete),
|
||||
{:action => 'destroy', :id => @topic},
|
||||
:method => :post,
|
||||
:data => {:confirm => l(:text_are_you_sure)},
|
||||
:class => 'icon icon-del'
|
||||
) if @message.destroyable_by?(User.current) %>
|
||||
</div>
|
||||
|
||||
<div class="lz-left">
|
||||
<div class="">
|
||||
<%= link_to image_tag(url_to_avatar(@topic.author), :class => "avatar"), user_path(@topic.author) %>
|
||||
</div>
|
||||
<p class="">
|
||||
<%= link_to @topic.author, user_path(@topic.author) %>
|
||||
</p>
|
||||
</div>
|
||||
<div class="memo-section" style="width: 100%;word-break: break-all;word-wrap: break-word;">
|
||||
<div class="memo-title <%= @topic.sticky? ? 'sticky' : '' %> <%= @topic.locked? ? 'locked' : '' %>" style="width: 53%;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;">
|
||||
<% if @project %>
|
||||
<%= label_tag l(:field_subject) %>:
|
||||
<%= link_to @topic.subject, project_boards_path(@topic.project),title: @topic.subject.to_s %>
|
||||
<% elsif @course %>
|
||||
<%= label_tag l(:field_subject) %>:
|
||||
<%= link_to @topic.subject, course_boards_path(@topic.course),title: @topic.subject.to_s %>
|
||||
<% end %>
|
||||
</div>
|
||||
<div class="memo-content">
|
||||
<%= textilizable(@topic, :content) %>
|
||||
<%= link_to_attachments @topic, :author => false %>
|
||||
</div>
|
||||
<div class="memo-timestamp">
|
||||
<div style="float: left">
|
||||
<%= authoring @topic.created_on, @topic.author %>
|
||||
</div>
|
||||
<div style="float: right">
|
||||
<% if User.current.logged? %>
|
||||
<%= toggle_link l(:button_reply), "reply", :focus => 'message_content' %>
|
||||
<% else %>
|
||||
<%= link_to l(:button_reply), signin_path %>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<div class="project_r_h">
|
||||
<h2 class="project_h2"><%= h @board.name %></h2>
|
||||
</div>
|
||||
|
||||
<div class="problem_main">
|
||||
<div class="ping_dispic">
|
||||
<%=link_to image_tag(url_to_avatar(@topic.author), :width => "46", :height => "46"), user_path(@topic.author) %>
|
||||
</div>
|
||||
<div class="talk_txt fl">
|
||||
<p class="problem_tit fl fb" >
|
||||
<%= link_to @topic.subject, project_boards_path(@topic.project),title: @topic.subject.to_s %></p>
|
||||
<br/>
|
||||
<p>由<%= link_to_user_header @topic.author,false,:class=> 'problem_name c_orange' %> 添加于<%= format_time(@topic.created_on) %></p>
|
||||
</div>
|
||||
<!-- <a class="talk_edit fr">删除</a><a class="talk_edit fr">编辑</a><a class="talk_edit fr">置顶</a> -->
|
||||
<%#= watcher_link(@topic, User.current) %>
|
||||
<%= link_to(
|
||||
l(:button_edit),
|
||||
{:action => 'edit', :id => @topic},
|
||||
:class => 'talk_edit fr'
|
||||
) if @message.editable_by?(User.current) %>
|
||||
<%= link_to(
|
||||
l(:button_delete),
|
||||
{:action => 'destroy', :id => @topic},
|
||||
:method => :post,
|
||||
:data => {:confirm => l(:text_are_you_sure)},
|
||||
:class => 'talk_edit fr'
|
||||
) if @message.destroyable_by?(User.current) %>
|
||||
<div class="cl"></div>
|
||||
<div class="talk_info mb10"><%= textilizable(@topic, :content) %></div>
|
||||
<div class="talk_info mb10"><%= link_to_attachment_project @topic, :author => false %></div>
|
||||
<!-- <a href="#" class=" link_file ml60">附件:爱覅俄方if.zip(27.5kB)</a>-->
|
||||
<div class="cl"></div>
|
||||
<% if User.current.logged? %>
|
||||
<%= toggle_link l(:button_reply), "reply", :focus => 'message_content',:class => 'talk_edit fr' %>
|
||||
<% else %>
|
||||
<%= link_to l(:button_reply), signin_path,:class => 'talk_edit fr' %>
|
||||
<% end %>
|
||||
<%= link_to(
|
||||
l(:button_quote),
|
||||
{:action => 'quote', :id => @topic},
|
||||
:remote => true,
|
||||
:method => 'get',
|
||||
:class => 'talk_edit fr',
|
||||
:remote => true) if !@topic.locked? && authorize_for('messages', 'reply') %>
|
||||
<div class="cl"></div>
|
||||
</div><!--讨论主类容 end-->
|
||||
<% unless @replies.empty? %>
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<h3 class="comments"><%= l(:label_reply_plural) %> (<%= @reply_count %>)</h3>
|
||||
<% reply_count = 0 %>
|
||||
<% @replies.each do |message| %>
|
||||
<div class="message reply" id="<%= "message-#{message.id}" %>">
|
||||
<table class="borad-text-list">
|
||||
<tr>
|
||||
<td rowspan="3" valign="top" width="60px">
|
||||
<%= link_to image_tag(url_to_avatar(message.author), :class => "avatar"), user_path(message.author) %>
|
||||
</td>
|
||||
<td>
|
||||
<div class="contextual-borad">
|
||||
<%= link_to(
|
||||
"引用",
|
||||
{:action => 'quote', :id => message},
|
||||
:remote => true,
|
||||
:method => 'get',
|
||||
:title => l(:button_quote)) if !@topic.locked? && authorize_for('messages', 'reply') %>
|
||||
<%= link_to(
|
||||
#image_tag('edit.png'),
|
||||
"编辑",
|
||||
{:action => 'edit', :id => message},
|
||||
:title => l(:button_edit)
|
||||
) if message.editable_by?(User.current) %>
|
||||
<%= link_to(
|
||||
#image_tag('delete.png'),
|
||||
"删除",
|
||||
{:action => 'destroy', :id => message},
|
||||
:method => :post,
|
||||
:data => {:confirm => l(:text_are_you_sure)},
|
||||
:title => l(:button_delete)
|
||||
) if message.destroyable_by?(User.current) %>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="comments">
|
||||
<div class="wiki" style="width: 100%;word-break: break-all;word-wrap: break-word;">
|
||||
<%= textilizable message,:content,:attachments => message.attachments %>
|
||||
</div>
|
||||
<%= link_to_attachments message, :author => false %>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="font_lighter" style="float: left">
|
||||
<%= authoring message.created_on, message.author %>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="ping_C mb10" id="<%= "message-#{message.id}" %>">
|
||||
<div class="ping_dispic"><%= link_to image_tag(url_to_avatar(message.author), :width => '46',:height => '46'), user_path(message.author) %></div>
|
||||
<div class="ping_discon">
|
||||
<div class="ping_distop">
|
||||
<%= link_to_user_header message.author,false,:class => 'c_blue fb fl mb10 ' %>
|
||||
<span class="c_grey fr"><%= format_time(message.created_on) %></span>
|
||||
<div class="cl"></div>
|
||||
<p><%= textilizable message,:content,:attachments => message.attachments %></p>
|
||||
<%= link_to_attachments message, :author => false %>
|
||||
</div>
|
||||
<div class="ping_disfoot">
|
||||
<%= link_to(
|
||||
l(:button_quote),
|
||||
{:action => 'quote', :id => message},
|
||||
:remote => true,
|
||||
:method => 'get',
|
||||
:title => l(:button_quote)) if !@topic.locked? && authorize_for('messages', 'reply') %>
|
||||
<%= link_to(
|
||||
#image_tag('edit.png'),
|
||||
l(:button_edit),
|
||||
{:action => 'edit', :id => message},
|
||||
:title => l(:button_edit)
|
||||
) if message.course_editable_by?(User.current) %>
|
||||
<%= link_to(
|
||||
#image_tag('delete.png'),
|
||||
l(:button_delete),
|
||||
{:action => 'destroy', :id => message},
|
||||
:method => :post,
|
||||
:data => {:confirm => l(:text_are_you_sure)},
|
||||
:title => l(:button_delete)
|
||||
) if message.course_destroyable_by?(User.current) %>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</div><!---留言内容-->
|
||||
<% end %>
|
||||
<div class="pagination">
|
||||
<%= pagination_links_full @reply_pages, @reply_count, :per_page_links => false %>
|
||||
</div>
|
||||
<% end %>
|
||||
<% if !@topic.locked? && authorize_for('messages', 'reply') %>
|
||||
<div id="reply" style="display:none;">
|
||||
<%= form_for @reply, :as => :reply, :url => {:action => 'reply', :id => @topic}, :html => {:multipart => true, :id => 'message-form'} do |f| %>
|
||||
<%= form_for @reply, :as => :reply, :url => {:action => 'reply', :id => @topic}, :html => {:multipart => true, :id => 'message_form'} do |f| %>
|
||||
<%= render :partial => 'form', :locals => {:f => f, :replying => true} %>
|
||||
<input type="button" class="enterprise" value="<%=l(:button_submit) %>" onclick="submit_message_replay();" >
|
||||
<a href="#" onclick="submit_message_replay();"class="blue_btn fl c_white" style="margin-left: 50px;"><%= l(:button_submit)%></a>
|
||||
<% end %>
|
||||
<div id="preview" class="wiki"></div>
|
||||
</div>
|
||||
<% end %>
|
||||
<ul class="wlist">
|
||||
<%= pagination_links_full @reply_pages, @reply_count, :per_page_links => false, :remote => false, :flag => true%>
|
||||
</ul>
|
||||
<% html_title @topic.subject %>
|
||||
|
||||
<script type="text/javascript">
|
||||
var flag = false;
|
||||
jQuery(document).ready(function($) {
|
||||
transpotUrl('#content');
|
||||
});
|
||||
// var flag = false;
|
||||
// jQuery(document).ready(function($) {
|
||||
// transpotUrl('#content');
|
||||
// });
|
||||
function submit_message_replay()
|
||||
{
|
||||
if(flag)
|
||||
{
|
||||
$("#message-form").submit();
|
||||
$("#message_form").submit();
|
||||
}
|
||||
}
|
||||
function regexContent()
|
||||
|
|
|
@ -3,22 +3,22 @@
|
|||
</div>
|
||||
|
||||
<% if @message.project %>
|
||||
<%= board_breadcrumb(@message) %>
|
||||
<h3><%= avatar(@topic.author, :size => "24") %><span style = "width:100%;word-break:break-all;word-wrap: break-word;"><%=h @topic.subject %></span></h3>
|
||||
|
||||
<%= form_for @message, {
|
||||
:as => :message,
|
||||
:url => {:action => 'edit'},
|
||||
:html => {:multipart => true,
|
||||
:id => 'message-form',
|
||||
:method => :post}
|
||||
<%#= board_breadcrumb(@message) %>
|
||||
<!--<h3><%#= avatar(@topic.author, :size => "24") %><span style = "width:100%;word-break:break-all;word-wrap: break-word;"><%#=h @topic.subject %></span></h3>-->
|
||||
<div class="talk_new ml15">
|
||||
<ul>
|
||||
<%= form_for @message, { :as => :message,
|
||||
:url => {:action => 'edit'},
|
||||
:html => {:multipart => true,
|
||||
:id => 'message-form',
|
||||
:method => :post}
|
||||
} do |f| %>
|
||||
<%= render :partial => 'form',
|
||||
<%= render :partial => 'form_project',
|
||||
:locals => {:f => f, :replying => !@message.parent.nil?} %>
|
||||
<a href="#" onclick="$('#message-form').submit();" class="ButtonColor m3p10">
|
||||
<%= l(:button_save) %>
|
||||
</a>
|
||||
<%= link_to l(:button_cancel), board_message_url(@message.board, @message.root, :r => (@message.parent_id && @message.id)), :class => "ButtonColor m3p10" %>
|
||||
<a href="#" onclick="submitProjectsBoard();"class="blue_btn fl c_white"><%= l(:button_submit)%></a>
|
||||
<%= link_to l(:button_cancel), board_message_url(@message.board, @message.root, :r => (@message.parent_id && @message.id)), :class => "blue_btn grey_btn fl c_white" %>
|
||||
</ul>
|
||||
</div>
|
||||
<% end %>
|
||||
<% elsif @message.course %>
|
||||
<%#= course_board_breadcrumb(@message) %>
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
<li class="ml45">
|
||||
<label><span class="c_red">*</span> <%= l(:field_title) %> :</label>
|
||||
<input type="text" name="news[title]" class="hwork_input" id="news_title" size="60" onkeyup="regexTitle();" maxlength="60" placeholder="60个字符以内" value="<%= is_new ? '' : @news.title %>">
|
||||
<p id="title_notice_span" class="ml55"></p>
|
||||
</li>
|
||||
<li class="ml45">
|
||||
<label class="fl" ><span class="c_red">*</span> <%= l(:field_description) %> :</label>
|
||||
<textarea id="news_description" name="news[description]" placeholder="最多3000个汉字(或6000个英文字符)" class="hwork_text fl" onkeyup="regexDescription();" maxlength="6000"><%= is_new ? '' : @news.description %></textarea>
|
||||
<p id="description_notice_span" class="ml55"></p>
|
||||
</li>
|
||||
<div class="cl"></div>
|
||||
<li class="ml45">
|
||||
<label class="fl"> <%= l(:label_attachment_plural) %> :</label>
|
||||
<%= render :partial => 'attachments/new_form', :locals => {:container => @news} %>
|
||||
<div class="cl"></div>
|
||||
</li>
|
||||
<li class=" ml90" >
|
||||
<% if is_new %>
|
||||
<%= link_to l(:button_create), "#", :onclick => 'submitNews();', :onmouseover => 'submitFocus(this);', :class => 'blue_btn fl c_white' %>
|
||||
<%= link_to l(:button_cancel), project_news_index_path(@project), :onclick => '$("#add-news").hide()', :class => 'blue_btn grey_btn fl c_white' %>
|
||||
<% else %>
|
||||
<%= link_to l(:button_save), "#", :onclick => 'submitNews();',:onmouseover => 'this.focus()',:class => 'blue_btn fl c_white' %>
|
||||
<%= link_to l(:button_cancel), "#", :onclick => '$("#edit-news").hide(); return false;',:class => 'blue_btn grey_btn fl c_white' %>
|
||||
<% end %>
|
||||
<div class="cl"></div>
|
||||
</li>
|
||||
<!-- <#%= wikitoolbar_for 'news_description'%>-->
|
|
@ -1,95 +1,21 @@
|
|||
<div class="project_r_h">
|
||||
<h2 class="project_h2"><%= l(:label_news) %></h2>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
function regexTitle()
|
||||
{
|
||||
var name = $("#news_title").val();
|
||||
if(name.length ==0)
|
||||
{
|
||||
$("#title_notice_span").text("标题不能为空");
|
||||
$("#title_notice_span").css('color','#ff0000');
|
||||
$("#title_notice_span").focus();
|
||||
return false;
|
||||
}
|
||||
else if(name.length <= 60)
|
||||
{
|
||||
$("#title_notice_span").text("填写正确");
|
||||
$("#title_notice_span").css('color','#008000');
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#title_notice_span").text("标题超过60个字符");
|
||||
$("#title_notice_span").css('color','#ff0000');
|
||||
$("#title_notice_span").focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function regexDescription()
|
||||
{
|
||||
var name = $("#news_description").val();
|
||||
if(name.length ==0)
|
||||
{
|
||||
$("#description_notice_span").text("描述不能为空");
|
||||
$("#description_notice_span").css('color','#ff0000');
|
||||
$("#description_notice_span").focus();
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#description_notice_span").text("填写正确");
|
||||
$("#description_notice_span").css('color','#008000');
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
function submitNews()
|
||||
{
|
||||
if(regexTitle() && regexDescription())
|
||||
{
|
||||
$("#news-form").submit();
|
||||
}
|
||||
}
|
||||
|
||||
function submitFocus(obj)
|
||||
{
|
||||
$(obj).focus();
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<%
|
||||
if @project.project_type == Project::ProjectType_course
|
||||
btn_tips = l(:label_news_notice)
|
||||
label_tips = l(:label_course_news)
|
||||
else
|
||||
btn_tips = l(:label_news_new)
|
||||
label_tips = l(:label_news)
|
||||
end
|
||||
btn_tips = l(:label_news_new)
|
||||
label_tips = l(:label_news)
|
||||
%>
|
||||
<% if @project.enabled_modules.where("name = 'news'").count > 0 && User.current.member_of?(@project) %>
|
||||
<%= link_to(btn_tips,
|
||||
new_project_news_path(@project),
|
||||
:class => 'icon icon-add',
|
||||
:onclick => 'showAndScrollTo("add-news", "news_title"); return false;') %>
|
||||
<% end %>
|
||||
<% if @project && User.current.allowed_to?(:manage_news, @project) %>
|
||||
<div id="add-news" class="add_frame" style="display:none;">
|
||||
<%= labelled_form_for @news, :url => project_news_index_path(@project),
|
||||
:html => {:id => 'news-form', :multipart => true} do |f| %>
|
||||
<%= render :partial => 'news/form', :locals => {:f => f} %>
|
||||
<%#= submit_tag l(:button_create), :class => 'whiteButton m3p10 h30', :name => nil %><!-- button-submit -->
|
||||
<%= link_to l(:button_create), "#", :onclick => 'submitNews();',:onmouseover => 'submitFocus(this);', :class => 'ButtonColor m3p10' %>
|
||||
<div class="project_r_h">
|
||||
<h2 class="project_h2"><%= label_tips %></h2>
|
||||
</div>
|
||||
<div class="talk_top">
|
||||
<p class="fl"><%= l(:label_total_news) %><span><%= @news_count %></span><%= l(:label_project_new_list) %></p>
|
||||
<% if @project && User.current.allowed_to?(:manage_news, @project) %>
|
||||
<%= link_to(btn_tips, new_project_news_path(@project),
|
||||
:class => 'problem_new_btn fl c_dorange') %>
|
||||
<div class="cl"></div>
|
||||
|
||||
<%#= preview_link preview_news_path(:project_id => @project), 'news-form', target='preview', {:class => 'whiteButton m3p10'} %>
|
||||
<% end %>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
|
||||
<%= link_to l(:button_cancel), "#", :onclick => '$("#add-news").hide()', :class => 'ButtonColor m3p10' %>
|
||||
<% end if @project %>
|
||||
<div id="preview" class="wiki"></div>
|
||||
</div>
|
||||
<% end %>
|
||||
<div>
|
||||
<% if @newss.empty? %>
|
||||
<p class="nodata">
|
||||
|
@ -97,58 +23,25 @@
|
|||
</p>
|
||||
<% else %>
|
||||
<% @newss.each do |news| %>
|
||||
<div class="problem_main">
|
||||
<%= link_to image_tag(url_to_avatar(news.author),:width => 42,:height => 42), user_path(news.author), :class => "problem_pic fl" %>
|
||||
<div class="problem_txt fl mt5">
|
||||
<%= link_to_user_header(news.author,false,{:class=> 'problem_name c_orange fl'}) if news.respond_to?(:author) %>
|
||||
<span class="fl"> <%= l(:label_release_news) %>:</span><%= link_to h(news.title), news_path(news),:class => 'problem_tit fl fb c_dblue' %><br />
|
||||
<div class="cl mb5"></div>
|
||||
<p id="news_description_<%= news.id %>" class="news_description mt5"><%= news.description %><br /> <%= l(:label_create_time) %> :<%= format_time(news.created_on) %></p>
|
||||
<div class="news_foot" style="display: none;" onclick="news_show_more_des(<%= news.id %>);" id="news_foot_<%= news.id %>"><%= l(:label_expend_information) %> <span class="g-arr-down"><img src="/images/jiantou.jpg" width="12" height="6" /></span></div>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</div><!--problem_main end-->
|
||||
|
||||
<table class="content-text-list">
|
||||
<tr>
|
||||
<td colspan="2" valign="top" width="50">
|
||||
<%= link_to image_tag(url_to_avatar(news.author), :class => "avatar"), user_path(news.author) %>
|
||||
</td>
|
||||
<td>
|
||||
<table width="580px" border="0">
|
||||
<% if @project.project_type == 1 %>
|
||||
<tr>
|
||||
<td colspan="2" valign="top">
|
||||
<strong><%= link_to_user(news.author) if news.respond_to?(:author) %></strong>
|
||||
<span style="margin-left: 4px;" class="font_lighter"><%= l(:label_project_notice) %></span>
|
||||
<span><%= link_to h(news.title), news_path(news) %></span>
|
||||
<span style="float: right"><%= delete_link news_path(news) if User.current.allowed_to?(:manage_news, @project) %> </span>
|
||||
</td>
|
||||
</tr>
|
||||
<% else %>
|
||||
<tr>
|
||||
<td colspan="2" valign="top">
|
||||
<strong><%= link_to_user(news.author) if news.respond_to?(:author) %></strong>
|
||||
<span style="margin-left: 4px;" class="font_lighter"><%= l(:label_project_newshare) %></span>
|
||||
<span> <%= link_to h(news.title), news_path(news) %></span>
|
||||
<span style="float: right" class='delete_icon'>
|
||||
<%= delete_link news_path(news) if User.current.allowed_to?(:manage_news, @project) %>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<% end %>
|
||||
<tr>
|
||||
<td colspan="2" width="580px">
|
||||
<span class="font_description"><%= textilizable(news, :description) %></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left"><span class="font_lighter"> <%= l :label_update_time %>
|
||||
: <%= format_time(news.created_on) %></span></td>
|
||||
<td width="350" align="right" class="a"><%= link_to l(:label_project_newother), news_path(news) %><%= "(#{l(:label_x_comments, :count => news.comments_count)})" if news.comments_count >= 0 %></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</div>
|
||||
<!--end-->
|
||||
<div style="padding-right: 10px">
|
||||
<div class="pagination">
|
||||
<ul>
|
||||
<%= pagination_links_full @news_pages %>
|
||||
</ul>
|
||||
</div>
|
||||
<ul class="wlist">
|
||||
<%= pagination_links_full @news_pages, @news_count, :per_page_links => false, :remote => false, :flag => true%>
|
||||
</ul>
|
||||
|
||||
<% other_formats_links do |f| %>
|
||||
<%= f.link_to 'Atom', :url => {:project_id => @project, :key => User.current.rss_key} %>
|
||||
|
@ -160,7 +53,6 @@
|
|||
<% end %>
|
||||
|
||||
<% html_title(l(:label_news_plural)) -%>
|
||||
</div>
|
||||
|
||||
<script type='text/javascript'>
|
||||
$(document).ready(function ($) {
|
||||
|
|
|
@ -4,12 +4,23 @@
|
|||
label_tips = l(:label_course_news)
|
||||
%>
|
||||
<% if @project %>
|
||||
<%= labelled_form_for @news, :url => project_news_index_path(@project),
|
||||
:html => {:id => 'news-form', :multipart => true} do |f| %>
|
||||
<%= render :partial => 'news/form', :locals => {:f => f} %>
|
||||
<%= submit_tag l(:button_create), :class => "whiteButton m3p10 h30" %>
|
||||
<%#= preview_link preview_news_path(:project_id => @project), 'news-form', target='preview', {:class => 'whiteButton m3p10'} %>
|
||||
<% end %>
|
||||
<div class="project_r_h">
|
||||
<h2 class="project_h2"><%= l(:label_news) %></h2>
|
||||
</div>
|
||||
<div class="hwork_new">
|
||||
<%= error_messages_for @news %>
|
||||
<p class="talk_top pl15" >
|
||||
<%= l(:label_news_new)%>
|
||||
</p>
|
||||
<ul>
|
||||
<%= labelled_form_for @news, :url => project_news_index_path(@project),
|
||||
:html => {:id => 'news-form', :multipart => true} do |f| %>
|
||||
<%= render :partial => 'news/project_form', :locals => {:f => f, :is_new => true} %>
|
||||
|
||||
<% end if @project %>
|
||||
</ul>
|
||||
<div id="preview" class="wiki"></div>
|
||||
</div>
|
||||
<% elsif @course %>
|
||||
<div class="project_r_h">
|
||||
<h2 class="project_h2"><%= label_tips %></h2>
|
||||
|
|
|
@ -1,213 +1,133 @@
|
|||
<%= javascript_include_tag "jquery.infinitescroll.js" %>
|
||||
<div class="project_r_h">
|
||||
<h2 class="project_h2"><%= l(:label_activity) %></h2>
|
||||
</div>
|
||||
<%= javascript_include_tag "jquery.infinitescroll.js" %>
|
||||
<script>
|
||||
/* $(document).ready(function (){ //别忘了加这句,除非你没学Jquery
|
||||
$("#container").infinitescroll({
|
||||
navSelector: "#paginator", //页面分页元素--成功后自动隐藏
|
||||
nextSelector: "#paginator a[rel='next']", //下一页的按钮,但是貌似这个选不中
|
||||
itemSelector: ".scroll " ,
|
||||
path: function(current){ var page = parseInt(current)+1;
|
||||
var project_id = <%= @project.id %>;
|
||||
return "/projects/"+project_id+"?page="+page
|
||||
}, //下一页的路径
|
||||
animate: true,
|
||||
maxPage: 500
|
||||
});
|
||||
});*/
|
||||
</script>
|
||||
<div id="container">
|
||||
<div class="scroll">
|
||||
<% unless @events_pages.empty? %>
|
||||
<!--CONTENT LIST-->
|
||||
<% unless @events_pages.empty? %>
|
||||
<% @events_pages.each do |e| -%>
|
||||
<% if e.forge_act_type == "ProjectCreateInfo"%>
|
||||
<div class="font_description">
|
||||
<table width="660">
|
||||
<tr>
|
||||
<td>
|
||||
<%= image_tag(url_to_avatar(e.user), :class => "avatar") %>
|
||||
</td>
|
||||
<td colspan="2">
|
||||
<table width="580">
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
<%= link_to_user(e.user)%>
|
||||
|
||||
<%= l(:label_project_new) %>
|
||||
<%= link_to e.project.name %>
|
||||
<strong> !</strong>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="font_lighter" >
|
||||
<%= l :label_create_time %>:
|
||||
<%= format_time(e.project.created_on) %>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<!--创建-->
|
||||
<% if e.forge_act_type == "ProjectCreateInfo"%>
|
||||
<div class="problem_main">
|
||||
<a class="problem_pic fl"><%= image_tag(url_to_avatar(e.user), :width => "42", :height => "42") %></a>
|
||||
<div class="problem_txt fl mt5">
|
||||
<%= link_to e.user, user_path(e.user), :class => "problem_name c_orange fl" %><span class="fl"> <%= l(:label_project_new) %> :</span>
|
||||
<%= link_to e.project.name, :class => "problem_tit fl fb" %></a><br />
|
||||
<p class="mt5"><br /> <%= l :label_create_time %> :<%= format_time(e.project.created_on) %></p>
|
||||
</div>
|
||||
<% end %>
|
||||
<% next if e.forge_act_type.safe_constantize.nil?
|
||||
act = e.forge_act;
|
||||
next if act.nil? %>
|
||||
<% if e.forge_act_type == "Issue" %>
|
||||
<div class="activity-item underline-evreycontent" style="font-size: 14px;line-height:1.5em;width: 100%;word-wrap: break-word;word-break: break-all;margin-top: 10px;">
|
||||
<div class="activity-avatar" style="float: left; margin:3px; height: 100%;">
|
||||
<%= image_tag(url_to_avatar(act.author), :class => "avatar") %>
|
||||
</div>
|
||||
|
||||
<div class="activity-content" style="padding:5px 5px 5px 70px;">
|
||||
<strong> <%= h(e.project) if @project.nil? || @project.id != e.project_id %></strong>
|
||||
<span class="activity-title font_lighter">
|
||||
<%= link_to_user(act.author) %>
|
||||
<%= l(:label_new_activity) %>
|
||||
</span>
|
||||
<%= link_to format_activity_title("#{act.source_from}##{act.project_issues_index} (#{act.status}): #{act.tracker.name} #{act.subject}"),
|
||||
{:controller => 'issues',
|
||||
:action => 'show',
|
||||
:id => act.id} %>
|
||||
<div class="activity_description info-break" style="font-size: 13px;width: 100%;word-break: break-all;word-wrap: break-word;">
|
||||
<%= textAreailizable act,:description %>
|
||||
</div>
|
||||
<div class="activity_status" style="position:relative; padding-top: 3px;">
|
||||
<span class="font_lighter"> <%= l :label_activity_time %>
|
||||
: <%= format_activity_day(act.created_on) %> <%= format_time(act.created_on, false) %></span>
|
||||
<div class="" style="display:inline-block;position:absolute; right:2%;">
|
||||
<span> <%= link_to l(:label_find_all_comments), issue_path(act.id) %> </span><span class="font_lighter"><%= l(:label_comments_count, :count => act.journals.count) %></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<% elsif e.forge_act_type == "Journal" %>
|
||||
<div class="activity-item underline-evreycontent" style="font-size: 14px;line-height:1.5em;width: 100%;word-wrap: break-word;word-break: break-all;">
|
||||
<div class="activity-avatar" style="float: left; margin:3px; height: 100%;">
|
||||
<%= image_tag(url_to_avatar(e.user), :class => "avatar") %>
|
||||
</div>
|
||||
|
||||
<div class="activity-content" style="padding:5px 5px 5px 70px;">
|
||||
<strong> <%= h(e.project) if @project.nil? || @project.id != e.project_id %></strong>
|
||||
<span class="activity-title font_lighter">
|
||||
<%= link_to(h(e.user), user_path(e.user_id)) %>
|
||||
<%= l(:label_new_activity) %>
|
||||
</span>
|
||||
<%= link_to(l(:label_activity_project)+act.issue.project.name, project_path(act.issue.project.id)) %>
|
||||
<%= link_to format_activity_title("#{act.issue.tracker} ##{act.issue.project_issues_index}: #{act.issue.subject}"),
|
||||
{:controller => 'issues', :action => 'show', :id => act.issue.id, :anchor => "change-#{act.id}"} %>
|
||||
<div class="activity_description info-break" style="font-size: 13px;width: 100%;word-break: break-all;word-wrap: break-word;">
|
||||
<%= textAreailizable act,:notes %>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<div class="activity_status" style="position:relative; padding-top: 3px;">
|
||||
<span class="font_lighter"> <%= l :label_activity_time %>
|
||||
: <%= format_activity_day(act.created_on) %> <%= format_time(act.created_on, false) %></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<% elsif e.forge_act_type == "Message" %>
|
||||
<div class="activity-item underline-evreycontent" style="font-size: 14px;line-height:1.5em;width: 100%;word-wrap: break-word;word-break: break-all;">
|
||||
<div class="activity-avatar" style="float: left; margin:3px; height: 100%;">
|
||||
<%= image_tag(url_to_avatar(e.user), :class => "avatar") %>
|
||||
<% end %>
|
||||
<% next if e.forge_act_type.safe_constantize.nil?
|
||||
act = e.forge_act;
|
||||
next if act.nil? %>
|
||||
<!--缺陷动态-->
|
||||
<% if e.forge_act_type == "Issue" %>
|
||||
<div class="problem_main">
|
||||
<a class="problem_pic fl"><%= image_tag(url_to_avatar(act.author), :width => "42", :height => "42") %></a>
|
||||
<div class="problem_txt fl mt5">
|
||||
<a class="problem_name fl ">
|
||||
<%= h(e.project) if @project.nil? || @project.id != e.project_id %>
|
||||
<%= link_to act.author, user_path(act.author), :class => "problem_name c_orange fl" %><span class="fl"> <%= l(:label_new_activity) %> :</span>
|
||||
<%= link_to format_activity_title("#{act.source_from}##{act.project_issues_index} (#{act.status}): #{act.tracker.name} #{act.subject}"),
|
||||
{:controller => 'issues',
|
||||
:action => 'show',
|
||||
:id => act.id},
|
||||
:class => "problem_tit fl fb " %>
|
||||
|
||||
</a><br />
|
||||
<p class="mt5"><%= textAreailizable act,:description %><br />
|
||||
<%= l :label_activity_time %> :<%= format_activity_day(act.created_on) %> <%= format_time(act.created_on, false) %>
|
||||
</p>
|
||||
</div>
|
||||
<div class="activity-content" style="padding:5px 5px 5px 70px;">
|
||||
<strong> <%= h(e.project) if @project.nil? || @project.id != e.project_id %></strong>
|
||||
<span class="activity-title font_lighter">
|
||||
<%= link_to(h(e.user), user_path(e.user_id)) %>
|
||||
<%= l(:label_new_activity) %>
|
||||
</span>
|
||||
<%= link_to format_activity_title("#{act.board.name}: #{act.subject}"),
|
||||
{:controller => 'messages',
|
||||
:action => 'show',
|
||||
:board_id => act.board_id}.merge(act.parent_id.nil? ? {:id => act.id} : {:id => act.parent_id, :r => act.id, :anchor => "message-#{act.id}"}) %>
|
||||
<div class="activity_description info-break" style="font-size: 13px;width: 100%;word-break: break-all;word-wrap: break-word;">
|
||||
<%= textAreailizable act,:content %>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<div class="activity_status" style="position:relative; padding-top: 3px;">
|
||||
<span class="font_lighter"> <%= l :label_activity_time %>
|
||||
: <%= format_activity_day(act.created_on) %> <%= format_time(act.created_on, false) %></span>
|
||||
<!--jou留言-->
|
||||
<% elsif e.forge_act_type == "Journal" %>
|
||||
<div class="problem_main">
|
||||
<a class="problem_pic fl"><%= image_tag(url_to_avatar(e.user), :width => "42", :height => "42") %></a>
|
||||
<div class="problem_txt fl mt5">
|
||||
<a class="problem_name fl ">
|
||||
<%= h(e.project) if @project.nil? || @project.id != e.project_id %>
|
||||
<%= link_to h(e.user), user_path(e.user_id), :class => "problem_name c_orange fl" %>
|
||||
</a><span class="fl"> <%= l(:label_new_activity) %> :</span>
|
||||
<a class="problem_tit fl fb">
|
||||
<%= link_to(l(:label_activity_project)+act.issue.project.name, project_path(act.issue.project.id), :class => "problem_tit fl fb") %>
|
||||
<%= link_to format_activity_title("#{act.issue.tracker} ##{act.issue.project_issues_index}: #{act.issue.subject}"),
|
||||
{:controller => 'issues', :action => 'show', :id => act.issue.id, :anchor => "change-#{act.id}"}, :class => "problem_tit fl fb" %>
|
||||
</a><br />
|
||||
<p class="mt5"><%= textAreailizable act,:notes %><br />
|
||||
<%= l :label_activity_time %> :<%= format_activity_day(act.created_on) %> <%= format_time(act.created_on, false) %></p>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<% elsif e.forge_act_type == "News" %>
|
||||
<div class="activity-item underline-evreycontent" style="font-size: 14px;line-height:1.5em;width: 100%;word-wrap: break-word;word-break: break-all;">
|
||||
<div class="activity-avatar" style="float: left; margin:3px; height: 100%;">
|
||||
<%= image_tag(url_to_avatar(e.user), :class => "avatar") %>
|
||||
</div>
|
||||
<div class="activity-content" style="padding:5px 5px 5px 70px;">
|
||||
<strong> <%= h(e.project) if @project.nil? || @project.id != e.project_id %></strong>
|
||||
<span class="activity-title font_lighter">
|
||||
<%= link_to(h(e.user), user_path(e.user_id)) %>
|
||||
<%= l(:label_new_activity) %>
|
||||
</span>
|
||||
<% unless act.nil? %>
|
||||
<%= link_to format_activity_title("#{l(:label_news)}: #{act.title}"), {:controller => 'news', :action => 'show', :id => act.id} %>
|
||||
<% end %>
|
||||
<div class="activity_description info-break" style="font-size: 13px;width: 100%;word-break: break-all;word-wrap: break-word;">
|
||||
<%= textAreailizable act,:description %>
|
||||
</div>
|
||||
<div class="activity_status" style="position:relative; padding-top: 3px;">
|
||||
<span class="font_lighter"> <%= l :label_activity_time %>
|
||||
: <%= format_activity_day(act.created_on) %> <%= format_time(act.created_on, false) %></span>
|
||||
<div class="" style="display:inline-block;position:absolute; right:2%;">
|
||||
<span>
|
||||
<%= link_to l(:label_find_all_comments), {:controller => 'news', :action => 'show', :id => act.id} %>
|
||||
</span>
|
||||
<span class="font_lighter">
|
||||
<%= l(:label_comments_count, :count => act.comments_count) %>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<% elsif e.forge_act_type == "Document" %>
|
||||
<div class="activity-item underline-evreycontent" style="font-size: 14px;line-height:1.5em;width: 100%;word-wrap: break-word;word-break: break-all;">
|
||||
<div class="activity-avatar" style="float: left; margin:3px; height: 100%;">
|
||||
<%= image_tag(url_to_avatar(e.user), :class => "avatar") %>
|
||||
</div>
|
||||
<div class="activity-content" style="padding:5px 5px 5px 70px;">
|
||||
<strong> <%= h(e.project) if @project.nil? || @project.id != e.project_id %></strong>
|
||||
<span class="activity-title font_lighter">
|
||||
<%= link_to(h(e.user), user_path(e.user_id)) %>
|
||||
<%= l(:label_new_activity) %>
|
||||
</span>
|
||||
<%= link_to format_activity_title("#{l(:label_document)}: #{act.title}"), {:controller => 'documents', :action => 'show', :id => act.id} %>
|
||||
<div class="activity_description info-break" style="font-size: 13px;width: 100%;word-break: break-all;word-wrap: break-word;">
|
||||
<%= textAreailizable act,:description %>
|
||||
</div>
|
||||
<div class="activity_status" style="position:relative; padding-top: 3px;">
|
||||
<span class="font_lighter"> <%= l :label_activity_time %>
|
||||
: <%= format_activity_day(act.created_on) %> <%= format_time(act.created_on, false) %></span>
|
||||
<!--message -->
|
||||
<% elsif e.forge_act_type == "Message" %>
|
||||
<div class="problem_main">
|
||||
<a class="problem_pic fl"><%= image_tag(url_to_avatar(e.user), :width => "42", :height => "42") %></a>
|
||||
<div class="problem_txt fl mt5">
|
||||
<a class="problem_name fl ">
|
||||
<%= h(e.project) if @project.nil? || @project.id != e.project_id %>
|
||||
<%= link_to h(e.user), user_path(e.user_id), :class => "problem_name c_orange fl" %></a><span class="fl"> <%= l(:label_new_activity) %> :</span>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<% elsif e.forge_act_type == "Attachment" %>
|
||||
<div class="activity-item underline-evreycontent" style="font-size: 14px;line-height:1.5em;width: 100%;word-wrap: break-word;word-break: break-all;">
|
||||
<div class="activity-avatar" style="float: left; margin:3px; height: 100%;">
|
||||
<%= image_tag(url_to_avatar(e.user), :class => "avatar") %>
|
||||
</div>
|
||||
<div class="activity-content" style="padding:5px 5px 5px 70px;">
|
||||
<strong> <%= h(e.project) if @project.nil? || @project.id != e.project_id %></strong>
|
||||
<span class="activity-title font_lighter">
|
||||
<%= link_to(h(e.user), user_path(e.user_id)) %>
|
||||
<%= l(:label_new_activity) %>
|
||||
</span>
|
||||
<%= link_to format_activity_title("#{l(:label_attachment)}: #{act.filename}"), {:controller => 'attachments', :action => 'show', :id => act.id} %>
|
||||
<div class="activity_description info-break" style="font-size: 13px;width: 100%;word-break: break-all;word-wrap: break-word;">
|
||||
<%= textAreailizable act,:description %>
|
||||
</div>
|
||||
<div class="activity_status" style="position:relative; padding-top: 3px;">
|
||||
<span class="font_lighter"> <%= l :label_activity_time %>
|
||||
: <%= format_activity_day(act.created_on) %> <%= format_time(act.created_on, false) %></span>
|
||||
<%= link_to format_activity_title("#{act.board.name}: #{act.subject}"),
|
||||
{:controller => 'messages',
|
||||
:action => 'show',
|
||||
:board_id => act.board_id}.merge(act.parent_id.nil? ? {:id => act.id} : {:id => act.parent_id, :r => act.id, :anchor => "message-#{act.id}"}),
|
||||
:class => "problem_tit fl fb " %>
|
||||
<br />
|
||||
<p class="mt5"><%= textAreailizable act,:content %><br />
|
||||
<%= l :label_create_time %> :<%= format_activity_day(act.created_on) %> <%= format_time(act.created_on, false) %></p>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<!--new 新闻-->
|
||||
<% elsif e.forge_act_type == "News" %>
|
||||
<div class="problem_main">
|
||||
<a class="problem_pic fl"><%= image_tag(url_to_avatar(e.user), :width => "42", :height => "42") %></a>
|
||||
<div class="problem_txt fl mt5">
|
||||
<a class="problem_name fl ">
|
||||
<%= h(e.project) if @project.nil? || @project.id != e.project_id %>
|
||||
<%= link_to h(e.user), user_path(e.user_id), :class => "problem_name c_orange fl" %></a><span class="fl"> <%= l(:label_new_activity) %> :</span>
|
||||
<a class="problem_tit fl fb">
|
||||
<% unless act.nil? %>
|
||||
<%= link_to format_activity_title("#{l(:label_news)}: #{act.title}"), {:controller => 'news', :action => 'show', :id => act.id}, :class => "problem_tit fl fb " %>
|
||||
<% end %>
|
||||
</a><br />
|
||||
<p class="mt5"><%= textAreailizable act,:description %><br />
|
||||
<%= l :label_create_time %> :<%= format_activity_day(act.created_on) %> <%= format_time(act.created_on, false) %></p>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<!--Document-->
|
||||
<% elsif e.forge_act_type == "Document" %>
|
||||
<div class="problem_main">
|
||||
<a class="problem_pic fl"><%= image_tag(url_to_avatar(e.user), :width => "42", :height => "42") %></a>
|
||||
<div class="problem_txt fl mt5">
|
||||
<a class="problem_name fl ">
|
||||
<%= h(e.project) if @project.nil? || @project.id != e.project_id %>
|
||||
<%= link_to h(e.user), user_path(e.user_id), :class => "problem_name c_orange fl" %></a><span class="fl"> <%= l(:label_new_activity) %> :</span>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<%= link_to format_activity_title("#{l(:label_document)}: #{act.title}"), {:controller => 'documents', :action => 'show', :id => act.id}, :class => "problem_tit fl fb" %><br />
|
||||
<p class="mt5"><%= textAreailizable act,:description %><br />
|
||||
<%= l :label_create_time %> :<%= format_activity_day(act.created_on) %> <%= format_time(act.created_on, false) %></p>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<!--Attachment -->
|
||||
<% elsif e.forge_act_type == "Attachment" %>
|
||||
<div class="problem_main">
|
||||
<a class="problem_pic fl"><%= image_tag(url_to_avatar(e.user), :width => "42", :height => "42") %></a>
|
||||
<div class="problem_txt fl mt5">
|
||||
<a class="problem_name fl ">
|
||||
<%= h(e.project) if @project.nil? || @project.id != e.project_id %>
|
||||
<%= link_to h(e.user), user_path(e.user_id), :class => "problem_name c_orange fl" %></a><span class="fl"> <%= l(:label_new_activity) %> :</span>
|
||||
<%= link_to format_activity_title("#{l(:label_attachment)}: #{act.filename}"), {:controller => 'attachments', :action => 'show', :id => act.id}, :class => "problem_tit fl fb" %></a><br />
|
||||
<p class="mt5"><%= textAreailizable act,:description %><br />
|
||||
<%= l :label_create_time %> :<%= format_activity_day(act.created_on) %> <%= format_time(act.created_on, false) %></p>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% end %>
|
||||
<%= paginate @events_pages, :left => 3, :right => 3%>
|
|
@ -1,30 +1,15 @@
|
|||
<div id="tags_show" style="float: left;">
|
||||
<div id="tags_show">
|
||||
<%= render :partial => "tags/tag_name",:locals => {:obj => obj,:non_list_all => false ,:object_flag => object_flag} %>
|
||||
</div>
|
||||
<div style="float: left;">
|
||||
<% if User.current.logged? %>
|
||||
<span> <%= toggle_link (l(:label_add_tag)), 'put-tag-form', {:focus => 'tags_name'} %> </span>
|
||||
<% end %>
|
||||
<% if User.current.logged?%>
|
||||
<a href="javascript:void(0)" class="yellowBtn f_l" onclick="$('#add_tag01').slideToggle();"><%= l(:label_add_tag)%></a>
|
||||
<span id="add_tag01" style="display:none; vertical-align: middle;" class="ml10 f_l">
|
||||
<%= form_for "tag_for_save",:remote=>true,:url=>save_tag_path,:update => "tags_show",:complete => '$("#put-tag-form").slideUp();' do |f| %>
|
||||
<%= f.text_field :name ,:id => "tags_name",:size=>"20",:require=>true,:maxlength => Setting.tags_max_length,:minlength=>Setting.tags_min_length,:class =>"isTxt w90 f_l" %>
|
||||
<%= f.text_field :object_id,:value=> obj.id,:style=>"display:none"%>
|
||||
<%= f.text_field :object_flag,:value=> object_flag,:style=>"display:none"%>
|
||||
<input type="button" class="submit f_l" onclick="$('#tags_name').parent().submit();" />
|
||||
<% end %>
|
||||
</span>
|
||||
<% end%>
|
||||
|
||||
<div id="put-tag-form" style="display: none;text-align: center">
|
||||
<%= form_for "tag_for_save",:remote=>true,:url=>tag_path,
|
||||
:update => "tags_show",
|
||||
:complete => '$("#put-tag-form").slideUp();' do |f| %>
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<%= f.text_field :name ,:id => "tags_name",:size=>"20",
|
||||
:require=>true,
|
||||
:maxlength => Setting.tags_max_length,
|
||||
:minlength=>Setting.tags_min_length %>
|
||||
</td>
|
||||
<%= f.text_field :object_id,:value=> obj.id,:style=>"display:none"%>
|
||||
<%= f.text_field :object_flag,:value=> object_flag,:style=>"display:none"%>
|
||||
<td style="margin-left: 5px" vertical-valign="middle" >
|
||||
<a href="#" onclick='$("#tags_name").parent().submit();' type="button" class="submit f_l"></a>
|
||||
</td>
|
||||
<tr>
|
||||
</table>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -31,13 +31,13 @@
|
|||
<!-- 用来显示三大对象的主页中的tag 故是全部显示 -->
|
||||
<% if @tags.size > 0 %>
|
||||
<% @tags.each do |tag| %>
|
||||
<!--项目暂时单独出来,后面重构-->
|
||||
<!--object_flag == '2'为项目 项目暂时单独出来,后面其它几个选项也需样式重构-->
|
||||
<% if object_flag == '2' %>
|
||||
<span class="re_tag f_l">
|
||||
<%= link_to tag, :controller => "tags", :action => "index", :q => tag, :object_flag => object_flag, :obj_id => obj.id %>
|
||||
<% if (ProjectInfo.find_by_project_id(obj.id)).try(:user_id) == User.current.id %>
|
||||
<%= link_to tag, :controller => "tags", :action => "index", :q => tag, :object_flag => object_flag, :obj_id => obj.id, :class => 'pt5' %>
|
||||
<% if (ProjectInfo.find_by_project_id(obj.id)).try(:user_id) == User.current.id %>
|
||||
<%= link_to 'x', :controller => "tags", :action => "remove_tag", :remote => true, :tag_name => tag,
|
||||
:taggable_id => obj.id, :taggable_type => object_flag %>
|
||||
:taggable_id => obj.id, :taggable_type => object_flag %>
|
||||
<% end %>
|
||||
</span>
|
||||
<% else %>
|
||||
|
|
|
@ -12,6 +12,9 @@ zh:
|
|||
#
|
||||
label_project_new: "新建项目"
|
||||
label_join_project: "加入项目"
|
||||
label_my_project: "我的项目"
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
|
@ -20,13 +23,23 @@ zh:
|
|||
# 热门项目栏
|
||||
#
|
||||
lable_hot_projects: 热门项目
|
||||
label_project_name: 项目名称:
|
||||
label_private: 私有
|
||||
label_public: 公开
|
||||
label_project_member_amount:
|
||||
one: "%{count}人"
|
||||
other: "%{count}人"
|
||||
label_project_score_tips: 项目得分,综合考虑了项目的各项活动,反映了该项目的活跃程度
|
||||
label_project_score: 项目评分
|
||||
|
||||
#
|
||||
# 项目托管平台主页
|
||||
#
|
||||
# TopBar
|
||||
#
|
||||
label_project_hosting_platform: 项目托管平台
|
||||
|
||||
|
||||
|
||||
#
|
||||
# 项目托管平台主页
|
||||
|
@ -36,7 +49,7 @@ zh:
|
|||
label_project_id: "项目ID:"
|
||||
|
||||
label_apply_project: "+申请加入"
|
||||
label_button_following: "+关注"
|
||||
label_button_following: "+添加关注"
|
||||
label_exit_project: 退出项目
|
||||
label_apply_project_waiting: 已处理申请,请等待管理员审核
|
||||
label_unapply_project: 取消申请
|
||||
|
@ -52,7 +65,7 @@ zh:
|
|||
|
||||
|
||||
project_module_boards: 讨论区
|
||||
project_module_boards_post: 发帖
|
||||
project_module_boards_post: 发帖新帖
|
||||
project_module_files: 资源库
|
||||
project_module_repository: 版本库
|
||||
project_module_create_repository: 创建版本库
|
||||
|
@ -253,7 +266,8 @@ zh:
|
|||
# 项目得分
|
||||
#
|
||||
label_projects_score: 项目综合得分
|
||||
|
||||
label_project_new_list: 条项目新闻
|
||||
|
||||
label_issue_score: issue得分
|
||||
label_issue_number: issue的数量
|
||||
label_issue_journal_number: issue的留言数量
|
||||
|
|
|
@ -1225,6 +1225,7 @@ zh:
|
|||
label_author_name: 由%{author_name}发表了
|
||||
|
||||
label_post_on: 发表了
|
||||
label_post_on_issue: 发表了问题
|
||||
|
||||
|
||||
|
||||
|
|
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 5.7 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 164 KiB |
After Width: | Height: | Size: 521 B |
After Width: | Height: | Size: 714 B |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 502 B |
|
@ -1,372 +1,372 @@
|
|||
//配置课程信息
|
||||
function course_setting(id)
|
||||
{
|
||||
//alert(id);
|
||||
$('#tb_'+id).removeClass().addClass("hwork_hovertab");
|
||||
$('#tbc_0'+id).removeClass().addClass("dis");
|
||||
$('#tb_'+(3-id)).removeClass().addClass("hwork_normaltab");
|
||||
$('#tbc_0'+(3-id)).removeClass().addClass("undis");
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////
|
||||
//添加分班
|
||||
function add_group(url,course_id) {
|
||||
var group_name = $('#group_name').val();
|
||||
$.get(
|
||||
url,
|
||||
{ valid: "name",
|
||||
value: group_name,
|
||||
course_id: course_id },
|
||||
function (data) {
|
||||
if (data.valid) {
|
||||
$("#add_group_name").submit();
|
||||
}
|
||||
else
|
||||
{
|
||||
alert(data.message);
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
//修改分班:修改分班时得考虑什么都不改但是点击确定的情况
|
||||
function edit_group(id,url,course_id,group_id)
|
||||
{
|
||||
var group_name = $('#'+id).val();
|
||||
$.get(
|
||||
url,
|
||||
{
|
||||
valid: "name",
|
||||
value: group_name,
|
||||
course_id: course_id,
|
||||
group_id: group_id
|
||||
},
|
||||
function (data) {
|
||||
if (data.valid) {
|
||||
$("#update_group_"+group_id).submit();
|
||||
}
|
||||
else
|
||||
{
|
||||
alert(data.message);
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
///////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////新建课程相关
|
||||
//验证课程名称
|
||||
function regex_course_name()
|
||||
{
|
||||
var name = $.trim($("#course_name").val());
|
||||
if(name.length == 0)
|
||||
{
|
||||
$("#course_name_notice").show();
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#course_name_notice").hide();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
//验证课程学时
|
||||
function regex_course_class_period()
|
||||
{
|
||||
var class_period = $.trim($("#class_period").val());
|
||||
var regex = /^\d*$/;
|
||||
if(class_period.length == 0)
|
||||
{
|
||||
$("#course_class_period_notice").html("学时总数不能为空");
|
||||
$("#course_class_period_notice").show();
|
||||
return false;
|
||||
}
|
||||
else if (regex.test(class_period)) {
|
||||
$("#course_class_period_notice").html("");
|
||||
$("#course_class_period_notice").hide();
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#course_class_period_notice").html("学时总数必须为数字");
|
||||
$("#course_class_period_notice").show();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
//提交新建课程
|
||||
function submit_new_course()
|
||||
{
|
||||
if(regex_course_name()&®ex_course_class_period())
|
||||
{
|
||||
$("#new_course").submit();
|
||||
}
|
||||
}
|
||||
|
||||
function submit_edit_course(id)
|
||||
{
|
||||
if(regex_course_name()&®ex_course_class_period())
|
||||
{
|
||||
$("#edit_course_"+id).submit();
|
||||
}
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////课程讨论区
|
||||
function regexSubject()
|
||||
{
|
||||
var content = $.trim($("#message_subject").val());
|
||||
if(content.length ==0)
|
||||
{
|
||||
$("#subject_span").text("主题不能为空");
|
||||
$("#subject_span").css('color','#ff0000');
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#subject_span").text("填写正确");
|
||||
$("#subject_span").css('color','#008000');
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function regexContent()
|
||||
{
|
||||
var content = $.trim($("#message_content").val());
|
||||
if(content.length ==0)
|
||||
{
|
||||
$("#message_content_span").text("描述不能为空");
|
||||
$("#message_content_span").css('color','#ff0000');
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#message_content_span").text("填写正确");
|
||||
$("#message_content_span").css('color','#008000');
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function submitCoursesBoard()
|
||||
{
|
||||
if(regexSubject()&®exContent()){$("#message-form").submit();}
|
||||
}
|
||||
///////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////////////// 课程通知
|
||||
function regexTitle()
|
||||
{
|
||||
var name = $("#news_title").val();
|
||||
if(name.length ==0)
|
||||
{
|
||||
$("#title_notice_span").text("标题不能为空");
|
||||
$("#title_notice_span").css('color','#ff0000');
|
||||
$("#title_notice_span").focus();
|
||||
return false;
|
||||
}
|
||||
else if(name.length <= 60)
|
||||
{
|
||||
$("#title_notice_span").text("填写正确");
|
||||
$("#title_notice_span").css('color','#008000');
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#title_notice_span").text("标题超过60个字符");
|
||||
$("#title_notice_span").css('color','#ff0000');
|
||||
$("#title_notice_span").focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function regexDescription()
|
||||
{
|
||||
var name = $("#news_description").val();
|
||||
if(name.length ==0)
|
||||
{
|
||||
$("#description_notice_span").text("描述不能为空");
|
||||
$("#description_notice_span").css('color','#ff0000');
|
||||
$("#description_notice_span").focus();
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#description_notice_span").text("填写正确");
|
||||
$("#description_notice_span").css('color','#008000');
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
function submitNews()
|
||||
{
|
||||
if(regexTitle() && regexDescription())
|
||||
{
|
||||
$("#news-form").submit();
|
||||
}
|
||||
}
|
||||
|
||||
function submitFocus(obj)
|
||||
{
|
||||
$(obj).focus();
|
||||
}
|
||||
///////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////
|
||||
//验证搜索时输入名字
|
||||
function regexName(content)
|
||||
{
|
||||
var name = $.trim($("#name").val());
|
||||
if(name.length == 0)
|
||||
{
|
||||
$("#project_name_span").text(content);
|
||||
$("#project_name_span").css('color','#ff0000');
|
||||
$("#project_name_span").focus();
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#project_name_span").text("");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
//提交搜索
|
||||
function submitSerch(content)
|
||||
{
|
||||
if(regexName(content)){$("#course_search_form").submit();}
|
||||
}
|
||||
//课程描述显示更多信息
|
||||
function show_more_msg()
|
||||
{
|
||||
$("#course_description").toggleClass("course_description_none");
|
||||
}
|
||||
//作业描述显示更多信息
|
||||
function news_show_more_des(id)
|
||||
{
|
||||
$('#news_description_' + id).toggleClass("news_description_none");
|
||||
}
|
||||
function bid_show_more_des(id)
|
||||
{
|
||||
$("#bid_description_" + id).toggleClass("news_description_none");
|
||||
}
|
||||
|
||||
//课程作业结束时间倒计时
|
||||
function show_bid_dead_line(year,month,day,divname)
|
||||
{
|
||||
var now = new Date();
|
||||
var endDate = new Date(year, month-1, day);
|
||||
var leftTime=endDate.getTime()-now.getTime();
|
||||
var leftsecond = parseInt(leftTime/1000);
|
||||
var day1=Math.floor(leftsecond/(60*60*24));
|
||||
var hour=Math.floor((leftsecond-day1*24*60*60)/3600);
|
||||
var minute=Math.floor((leftsecond-day1*24*60*60-hour*3600)/60);
|
||||
var second=Math.floor(leftsecond-day1*24*60*60-hour*3600-minute*60);
|
||||
$("#"+divname).html("<form name='formnow' class='fr'>"
|
||||
+ "<input class='c_orange' type='text' style='border:0;' size='1' value='"+day1+"' > 天"
|
||||
+ "<input class='c_orange' type='text' style='border:0;' size='1' value='"+hour+"' > 小时"
|
||||
+ "<input class='c_orange' type='text' style='border:0;' size='1' value='"+minute+"' > 分"
|
||||
+ "<input class='c_orange' type='text' style='border:0;' size='1' value='"+second+"' > 秒"
|
||||
+ "</form>"
|
||||
+ "<p class='fr'>作业提交还剩:</p>");
|
||||
}
|
||||
//验证新建作业的名字
|
||||
function regex_bid_name()
|
||||
{
|
||||
var name = $.trim($("#bid_name").val());
|
||||
|
||||
if(name=="")
|
||||
{
|
||||
$("#bid_name_span").text("名称不能为空");
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#bid_name_span").text("");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
//验证匿评数量
|
||||
function regex_evaluation_num()
|
||||
{
|
||||
var evaluation_num = $.trim($("#bid_evaluation_num").val());
|
||||
var regex = /^\d+$/;
|
||||
if($("#bid_open_anonymous_evaluation").attr("checked") == "checked")
|
||||
{
|
||||
if(evaluation_num=="")
|
||||
{
|
||||
$("#bid_evaluation_num_span").text("匿评分配数量不能为空");
|
||||
return false;
|
||||
}
|
||||
else if(regex.test(evaluation_num))
|
||||
{
|
||||
if(evaluation_num > 0)
|
||||
{
|
||||
$("#bid_evaluation_num_span").text("");
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#bid_evaluation_num_span").text("匿评分配数量必须为大于0");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#bid_evaluation_num_span").text("匿评分配数量只能为数字");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
//点击是否开启匿评单选框效果
|
||||
$(function(){
|
||||
$("#bid_open_anonymous_evaluation").click(function(){
|
||||
if($("#bid_open_anonymous_evaluation").attr("checked") == "checked")
|
||||
{
|
||||
$("#bid_evaluation_num_li").slideDown();
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#bid_evaluation_num_li").slideUp();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
//老师提交新建作业
|
||||
function submit_new_bid(id)
|
||||
{
|
||||
if(regex_bid_name()&®ex_evaluation_num())
|
||||
{
|
||||
$("#"+id).submit();
|
||||
}
|
||||
}
|
||||
|
||||
function show_window (id1,id2,top,left) {
|
||||
$('#'+ id1).css('top',top);
|
||||
$('#'+ id1).css('left',left);
|
||||
$('#'+ id1).css('display','block');
|
||||
$('#' + id2).css('display','block');
|
||||
}
|
||||
|
||||
function close_window(id1,id2){
|
||||
$('#' + id1).css('display','none');
|
||||
$('#' + id2).css('display','none');
|
||||
}
|
||||
|
||||
//隐藏提示狂
|
||||
function hidden_atert_form(cur_page,cur_type)
|
||||
{
|
||||
hideModal($("#popbox"));
|
||||
}
|
||||
|
||||
//当课程描述长度小于112px时,不显示更多按钮
|
||||
$(function(){
|
||||
if($("#course_description_content").height()>112)
|
||||
{
|
||||
$("#lg-foot").show();
|
||||
}
|
||||
});
|
||||
|
||||
//将右侧的最小高度设置成左侧高度,美化界面
|
||||
$(document).ready(function () {
|
||||
$("#RSide").css("min-height",$("#LSide").height()-30);
|
||||
//配置课程信息
|
||||
function course_setting(id)
|
||||
{
|
||||
//alert(id);
|
||||
$('#tb_'+id).removeClass().addClass("hwork_hovertab");
|
||||
$('#tbc_0'+id).removeClass().addClass("dis");
|
||||
$('#tb_'+(3-id)).removeClass().addClass("hwork_normaltab");
|
||||
$('#tbc_0'+(3-id)).removeClass().addClass("undis");
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////
|
||||
//添加分班
|
||||
function add_group(url,course_id) {
|
||||
var group_name = $('#group_name').val();
|
||||
$.get(
|
||||
url,
|
||||
{ valid: "name",
|
||||
value: group_name,
|
||||
course_id: course_id },
|
||||
function (data) {
|
||||
if (data.valid) {
|
||||
$("#add_group_name").submit();
|
||||
}
|
||||
else
|
||||
{
|
||||
alert(data.message);
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
//修改分班:修改分班时得考虑什么都不改但是点击确定的情况
|
||||
function edit_group(id,url,course_id,group_id)
|
||||
{
|
||||
var group_name = $('#'+id).val();
|
||||
$.get(
|
||||
url,
|
||||
{
|
||||
valid: "name",
|
||||
value: group_name,
|
||||
course_id: course_id,
|
||||
group_id: group_id
|
||||
},
|
||||
function (data) {
|
||||
if (data.valid) {
|
||||
$("#update_group_"+group_id).submit();
|
||||
}
|
||||
else
|
||||
{
|
||||
alert(data.message);
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
///////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////新建课程相关
|
||||
//验证课程名称
|
||||
function regex_course_name()
|
||||
{
|
||||
var name = $.trim($("#course_name").val());
|
||||
if(name.length == 0)
|
||||
{
|
||||
$("#course_name_notice").show();
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#course_name_notice").hide();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
//验证课程学时
|
||||
function regex_course_class_period()
|
||||
{
|
||||
var class_period = $.trim($("#class_period").val());
|
||||
var regex = /^\d*$/;
|
||||
if(class_period.length == 0)
|
||||
{
|
||||
$("#course_class_period_notice").html("学时总数不能为空");
|
||||
$("#course_class_period_notice").show();
|
||||
return false;
|
||||
}
|
||||
else if (regex.test(class_period)) {
|
||||
$("#course_class_period_notice").html("");
|
||||
$("#course_class_period_notice").hide();
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#course_class_period_notice").html("学时总数必须为数字");
|
||||
$("#course_class_period_notice").show();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
//提交新建课程
|
||||
function submit_new_course()
|
||||
{
|
||||
if(regex_course_name()&®ex_course_class_period())
|
||||
{
|
||||
$("#new_course").submit();
|
||||
}
|
||||
}
|
||||
|
||||
function submit_edit_course(id)
|
||||
{
|
||||
if(regex_course_name()&®ex_course_class_period())
|
||||
{
|
||||
$("#edit_course_"+id).submit();
|
||||
}
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////课程讨论区
|
||||
function regexSubject()
|
||||
{
|
||||
var content = $.trim($("#message_subject").val());
|
||||
if(content.length ==0)
|
||||
{
|
||||
$("#subject_span").text("主题不能为空");
|
||||
$("#subject_span").css('color','#ff0000');
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#subject_span").text("填写正确");
|
||||
$("#subject_span").css('color','#008000');
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function regexContent()
|
||||
{
|
||||
var content = $.trim($("#message_content").val());
|
||||
if(content.length ==0)
|
||||
{
|
||||
$("#message_content_span").text("描述不能为空");
|
||||
$("#message_content_span").css('color','#ff0000');
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#message_content_span").text("填写正确");
|
||||
$("#message_content_span").css('color','#008000');
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function submitCoursesBoard()
|
||||
{
|
||||
if(regexSubject()&®exContent()){$("#message-form").submit();}
|
||||
}
|
||||
///////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////////////// 课程通知
|
||||
function regexTitle()
|
||||
{
|
||||
var name = $("#news_title").val();
|
||||
if(name.length ==0)
|
||||
{
|
||||
$("#title_notice_span").text("标题不能为空");
|
||||
$("#title_notice_span").css('color','#ff0000');
|
||||
$("#title_notice_span").focus();
|
||||
return false;
|
||||
}
|
||||
else if(name.length <= 60)
|
||||
{
|
||||
$("#title_notice_span").text("填写正确");
|
||||
$("#title_notice_span").css('color','#008000');
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#title_notice_span").text("标题超过60个字符");
|
||||
$("#title_notice_span").css('color','#ff0000');
|
||||
$("#title_notice_span").focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function regexDescription()
|
||||
{
|
||||
var name = $("#news_description").val();
|
||||
if(name.length ==0)
|
||||
{
|
||||
$("#description_notice_span").text("描述不能为空");
|
||||
$("#description_notice_span").css('color','#ff0000');
|
||||
$("#description_notice_span").focus();
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#description_notice_span").text("填写正确");
|
||||
$("#description_notice_span").css('color','#008000');
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
function submitNews()
|
||||
{
|
||||
if(regexTitle() && regexDescription())
|
||||
{
|
||||
$("#news-form").submit();
|
||||
}
|
||||
}
|
||||
|
||||
function submitFocus(obj)
|
||||
{
|
||||
$(obj).focus();
|
||||
}
|
||||
///////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////
|
||||
//验证搜索时输入名字
|
||||
function regexName(content)
|
||||
{
|
||||
var name = $.trim($("#name").val());
|
||||
if(name.length == 0)
|
||||
{
|
||||
$("#project_name_span").text(content);
|
||||
$("#project_name_span").css('color','#ff0000');
|
||||
$("#project_name_span").focus();
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#project_name_span").text("");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
//提交搜索
|
||||
function submitSerch(content)
|
||||
{
|
||||
if(regexName(content)){$("#course_search_form").submit();}
|
||||
}
|
||||
//课程描述显示更多信息
|
||||
function show_more_msg()
|
||||
{
|
||||
$("#course_description").toggleClass("course_description_none");
|
||||
}
|
||||
//作业描述显示更多信息
|
||||
function news_show_more_des(id)
|
||||
{
|
||||
$('#news_description_' + id).toggleClass("news_description_none");
|
||||
}
|
||||
function bid_show_more_des(id)
|
||||
{
|
||||
$("#bid_description_" + id).toggleClass("news_description_none");
|
||||
}
|
||||
|
||||
//课程作业结束时间倒计时
|
||||
function show_bid_dead_line(year,month,day,divname)
|
||||
{
|
||||
var now = new Date();
|
||||
var endDate = new Date(year, month-1, day);
|
||||
var leftTime=endDate.getTime()-now.getTime();
|
||||
var leftsecond = parseInt(leftTime/1000);
|
||||
var day1=Math.floor(leftsecond/(60*60*24));
|
||||
var hour=Math.floor((leftsecond-day1*24*60*60)/3600);
|
||||
var minute=Math.floor((leftsecond-day1*24*60*60-hour*3600)/60);
|
||||
var second=Math.floor(leftsecond-day1*24*60*60-hour*3600-minute*60);
|
||||
$("#"+divname).html("<form name='formnow' class='fr'>"
|
||||
+ "<input class='c_orange' type='text' style='border:0;' size='1' value='"+day1+"' > 天"
|
||||
+ "<input class='c_orange' type='text' style='border:0;' size='1' value='"+hour+"' > 小时"
|
||||
+ "<input class='c_orange' type='text' style='border:0;' size='1' value='"+minute+"' > 分"
|
||||
+ "<input class='c_orange' type='text' style='border:0;' size='1' value='"+second+"' > 秒"
|
||||
+ "</form>"
|
||||
+ "<p class='fr'>作业提交还剩:</p>");
|
||||
}
|
||||
//验证新建作业的名字
|
||||
function regex_bid_name()
|
||||
{
|
||||
var name = $.trim($("#bid_name").val());
|
||||
|
||||
if(name=="")
|
||||
{
|
||||
$("#bid_name_span").text("名称不能为空");
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#bid_name_span").text("");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
//验证匿评数量
|
||||
function regex_evaluation_num()
|
||||
{
|
||||
var evaluation_num = $.trim($("#bid_evaluation_num").val());
|
||||
var regex = /^\d+$/;
|
||||
if($("#bid_open_anonymous_evaluation").attr("checked") == "checked")
|
||||
{
|
||||
if(evaluation_num=="")
|
||||
{
|
||||
$("#bid_evaluation_num_span").text("匿评分配数量不能为空");
|
||||
return false;
|
||||
}
|
||||
else if(regex.test(evaluation_num))
|
||||
{
|
||||
if(evaluation_num > 0)
|
||||
{
|
||||
$("#bid_evaluation_num_span").text("");
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#bid_evaluation_num_span").text("匿评分配数量必须为大于0");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#bid_evaluation_num_span").text("匿评分配数量只能为数字");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
//点击是否开启匿评单选框效果
|
||||
$(function(){
|
||||
$("#bid_open_anonymous_evaluation").click(function(){
|
||||
if($("#bid_open_anonymous_evaluation").attr("checked") == "checked")
|
||||
{
|
||||
$("#bid_evaluation_num_li").slideDown();
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#bid_evaluation_num_li").slideUp();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
//老师提交新建作业
|
||||
function submit_new_bid(id)
|
||||
{
|
||||
if(regex_bid_name()&®ex_evaluation_num())
|
||||
{
|
||||
$("#"+id).submit();
|
||||
}
|
||||
}
|
||||
|
||||
function show_window (id1,id2,top,left) {
|
||||
$('#'+ id1).css('top',top);
|
||||
$('#'+ id1).css('left',left);
|
||||
$('#'+ id1).css('display','block');
|
||||
$('#' + id2).css('display','block');
|
||||
}
|
||||
|
||||
function close_window(id1,id2){
|
||||
$('#' + id1).css('display','none');
|
||||
$('#' + id2).css('display','none');
|
||||
}
|
||||
|
||||
//隐藏提示狂
|
||||
function hidden_atert_form(cur_page,cur_type)
|
||||
{
|
||||
hideModal($("#popbox"));
|
||||
}
|
||||
|
||||
//当课程描述长度小于112px时,不显示更多按钮
|
||||
$(function(){
|
||||
if($("#course_description_content").height()>112)
|
||||
{
|
||||
$("#lg-foot").show();
|
||||
}
|
||||
});
|
||||
|
||||
//将右侧的最小高度设置成左侧高度,美化界面
|
||||
$(document).ready(function () {
|
||||
$("#RSide").css("min-height",$("#LSide").height()-30);
|
||||
});
|
|
@ -0,0 +1,129 @@
|
|||
//验证搜索时输入字
|
||||
function regexName() {
|
||||
var name = $.trim($("#name").val());
|
||||
if (name.length == 0) {
|
||||
$("#project_name_span").text("<%= l(:label_search_conditions_not_null) %>");
|
||||
$("#project_name_span").css('color', '#ff0000');
|
||||
$("#project_name_span").focus();
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
$("#project_name_span").text("");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// 项目描述超过展开
|
||||
$(function(){
|
||||
$(".subNav").click(function(){
|
||||
$(this).toggleClass("currentDd").siblings(".subNav").removeClass("currentDd")
|
||||
$(this).toggleClass("currentDt").siblings(".subNav").removeClass("currentDt")
|
||||
|
||||
// 修改数字控制速度, slideUp(500)控制卷起速度
|
||||
$(this).next(".navContent").slideToggle(500).siblings(".navContent").slideUp(500);
|
||||
})
|
||||
})
|
||||
|
||||
// 描述显示更多信息
|
||||
function show_more_msg()
|
||||
{$("#course_description").toggleClass("course_description_none");}
|
||||
|
||||
///////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////项目讨论区
|
||||
function regexSubject()
|
||||
{
|
||||
var content = $.trim($("#message_subject").val());
|
||||
if(content.length ==0)
|
||||
{
|
||||
$("#subject_span").text("主题不能为空");
|
||||
$("#subject_span").css('color','#ff0000');
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#subject_span").text("填写正确");
|
||||
$("#subject_span").css('color','#008000');
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function regexContent()
|
||||
{
|
||||
var content = $.trim($("#message_content").val());
|
||||
if(content.length ==0)
|
||||
{
|
||||
$("#message_content_span").text("描述不能为空");
|
||||
$("#message_content_span").css('color','#ff0000');
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#message_content_span").text("填写正确");
|
||||
$("#message_content_span").css('color','#008000');
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// 项目编辑和提交
|
||||
function submitProjectsBoard()
|
||||
{
|
||||
if(regexSubject()&®exContent()){$("#message-form").submit();}
|
||||
}
|
||||
|
||||
// 提交新闻
|
||||
function regexTitle()
|
||||
{
|
||||
var name = $("#news_title").val();
|
||||
if(name.length ==0)
|
||||
{
|
||||
$("#title_notice_span").text("标题不能为空");
|
||||
$("#title_notice_span").css('color','#ff0000');
|
||||
$("#title_notice_span").focus();
|
||||
return false;
|
||||
}
|
||||
else if(name.length <= 60)
|
||||
{
|
||||
$("#title_notice_span").text("填写正确");
|
||||
$("#title_notice_span").css('color','#008000');
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#title_notice_span").text("标题超过60个字符");
|
||||
$("#title_notice_span").css('color','#ff0000');
|
||||
$("#title_notice_span").focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function regexDescription()
|
||||
{
|
||||
var name = $("#news_description").val();
|
||||
if(name.length ==0)
|
||||
{
|
||||
$("#description_notice_span").text("描述不能为空");
|
||||
$("#description_notice_span").css('color','#ff0000');
|
||||
$("#description_notice_span").focus();
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#description_notice_span").text("填写正确");
|
||||
$("#description_notice_span").css('color','#008000');
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
function submitNews()
|
||||
{
|
||||
if(regexTitle() && regexDescription())
|
||||
{
|
||||
$("#news-form").submit();
|
||||
}
|
||||
}
|
||||
|
||||
function submitFocus(obj)
|
||||
{
|
||||
$(obj).focus();
|
||||
}
|
|
@ -1,459 +1,459 @@
|
|||
|
||||
/*右侧内容--动态*/
|
||||
.project_r_h{ width:670px; height:40px; background:#eaeaea; margin-bottom:10px;}
|
||||
.project_r_h02{ width:920px; height:40px; background:#eaeaea; margin-bottom:10px;}
|
||||
.project_h2{ background:#64bdd9; color:#fff; height:33px; width:90px; text-align:center; font-weight:normal; padding-top:7px; font-size:16px;}
|
||||
.project_r_box{ border:1px solid #e2e1e1; width:670px; margin-top:10px;}
|
||||
.project_h3 { color:#646464; font-size:14px; padding:0 10px; border-bottom:1px solid #e2e1e1;}
|
||||
.more{ float:right; font-size:12px; font-weight:normal; color:#a9a9a9; margin-top:3px;}
|
||||
.more:hover{ color:#64bdd9;}
|
||||
.project_box_ul{ padding:0 10px;}
|
||||
.project_box_list{ padding:10px 0; border-bottom:1px dashed #e2e1e1; padding-left:30px; color:#6f6c6c;}
|
||||
.img_problem{ background:url(../images/new_project/img_project.png) 0 -20px no-repeat;}
|
||||
.img_talk{ background:url(../images/new_project/img_project.png) 0 -62px no-repeat;}
|
||||
.img_ziyuan{ background:url(../images/new_project/img_project.png) 0 -115px no-repeat;}
|
||||
.img_edition{ background:url(../images/new_project/img_project.png) 0 -167px no-repeat;}
|
||||
a.project_name{ color:#058c42;}
|
||||
a:hover.project_name{ color:#016f33;}
|
||||
.project_txt{ color:#0781b4; width:445px; display:block; float:left; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;}
|
||||
a.project_txt02{ color:#0781b4; width:618px; display:block; float:left; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;}
|
||||
a:hover.project_txt{ color:#066e9a;}
|
||||
.noline{ border-bottom:none;}
|
||||
.news_description{max-height: 38px;overflow:hidden; }
|
||||
.news_description_none{max-height: none;}
|
||||
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;}
|
||||
|
||||
|
||||
/*邮件邀请*/
|
||||
.box_main{ width:345px; margin:0 auto;}
|
||||
.box_h3{ color:#15bccf; text-align:center; font-size:16px;}
|
||||
.box_p{ color:#404040; margin-bottom:5px;}
|
||||
.fb_item{ color:#919191; border:1px solid #919191; height:28px; margin-bottom:10px; padding-left:5px; width:290px;}
|
||||
/*.icon_addm{ background:url(../images/img_floatbox.png) 0 -33px no-repeat; width:16px; height:16px; display:block; margin:5px 0 0 5px;}*/
|
||||
/*.icon_addm:hover{background:url(../images/img_floatbox.png) 0 -61px no-repeat; }*/
|
||||
/*.icon_removem{ background:url(../images/img_floatbox.png) -22px -33px no-repeat;width:16px; height:16px; display:block; margin:5px 0 0 5px}*/
|
||||
/*.icon_removem:hover{background:url(../images/img_floatbox.png) -22px -61px no-repeat;}*/
|
||||
a.btn_free{ background:#ff5722; display:block; width:80px; text-align:center; color:#fff; height:26px; padding-top:3px; margin-bottom:10px;}
|
||||
a:hover.btn_free{ background:#d63502;}
|
||||
/*成员邀请*/
|
||||
.invi_search{ width:230px; margin:0 auto;}
|
||||
.invi_search_input{ border:1px solid #15bccf; width:180px; height:24px; color:#9b9b9b; padding-left:5px; margin-bottom:10px;}
|
||||
a.invi_search_btn{ background:#15bccf; color:#fff; text-align: center; width:40px; height:22px;border:1px solid #15bccf; padding-top:2px; cursor:pointer;}
|
||||
a:hover.invi_search_btn{ background:#0da1b2; border:1px solid #0da1b2;}
|
||||
/*问题跟踪*/
|
||||
.problem_top{ margin:10px 0 ;}
|
||||
.problem_search_input{ border:1px solid #64bdd9; width:180px; height:24px; color:#9b9b9b; padding-left:5px; margin-bottom:10px;}
|
||||
a.problem_search_btn{ background:#64bdd9; color:#fff; text-align: center; width:40px; height:22px;border:1px solid #64bdd9; padding-top:2px; cursor:pointer;}
|
||||
a:hover.problem_search_btn{ background:#3da1c1; border:1px solid #3da1c1;}
|
||||
a.problem_new_btn{ margin-left:10px; border:1px solid #ff7143; color:#ff7143; padding:1px 3px; font-size:12px; text-align:center; padding-top:2px;}
|
||||
a:hover.problem_new_btn{ background:#ff7143; color:#fff;}
|
||||
.problem_p{ color:#535252; margin-top:5px;}
|
||||
.problem_p span{ color:#ff3e00;}
|
||||
a.problem_pic{ display:block; width:42px; height:42px; padding:3px; border:1px solid #e3e3e3;}
|
||||
a:hover.problem_pic{border:1px solid #64bdd9;}
|
||||
.problem_txt{ width:610px; margin-left:10px; color:#777777;word-break: break-all;word-wrap: break-word;}
|
||||
a.problem_name{ color:#ff5722;}
|
||||
a:hover.problem_name{ color:#d33503;}
|
||||
a.problem_tit{ color:#0781b4; width:430px; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;}
|
||||
a:hover.problem_tit{ color:#09658c; }
|
||||
.problem_main{ border-bottom:1px dashed #d4d4d4; padding-bottom:10px; margin-bottom:10px;}
|
||||
/****翻页***/
|
||||
ul.wlist{ float:right; border-bottom:none; height:30px; margin-top:20px; }
|
||||
ul.wlist li{float: left;}
|
||||
ul.wlist li a{ border:1px solid #15bccf; padding: 1px 4px 1px 4px; margin-left:3px;}
|
||||
ul.wlist li a:hover{ background:#15bccf; color:#fff; text-decoration:none;}
|
||||
/*.wlist_select { background-color:#64bdd9; color:#fff; padding: 1px 5px 0px 5px; margin-left:3px;margin-top: -2px; border:1px solid #64bdd9;}*/
|
||||
.wlist_select a{background-color: #64bdd9;cursor: default;}
|
||||
/****讨论区***/
|
||||
.talk_top{ margin:10px 0; font-size:14px; color:#4c4c4c;}
|
||||
.talk_top span{ color:#ff7143;}
|
||||
.talk_txt{ width:460px; margin-left:10px; color:#676868;}
|
||||
.talk_up{ color:#f63c00;}
|
||||
a.talk_pic{ display:block; width:32px; height:32px; padding:3px; border:1px solid #e3e3e3;}
|
||||
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;}
|
||||
.talk_info{ color:#7d7d7d; margin-left:60px; margin-top:10px;}
|
||||
a.talk_edit{ color:#426e9a; margin-right:5px;}
|
||||
a:hover.talk_edit{ color:#ff5722;}
|
||||
.talk_reply { background:#eeeeee; padding:10px; margin-bottom:10px;}
|
||||
.talkpage_text{ border:1px solid #64bdd9; width:600px; color:#7d7d7d; padding:5px; margin:10px 0 10px 50px; background:#fff;}
|
||||
/****新建讨论***/
|
||||
.talk_new{ color:#4c4c4c;}
|
||||
.talk_input{ border:1px solid #64bdd9; height:16px; width:585px; background:#fff; margin-bottom:10px; padding:5px;}
|
||||
.talk_text{ border:1px solid #64bdd9; height:100px;width:585px; background:#fff; margin-left:5px; padding:5px; margin-bottom:10px;}
|
||||
.talk_new ul li{ }
|
||||
.sb{width:70px; height:26px; color:#606060; cursor:pointer;}
|
||||
a.blue_btn{ background:#64bdd9; display:block; font-size:14px;color:#fff; font-weight:normal; text-align:center; margin-left:10px; margin-bottom:10px; padding:2px 10px;}
|
||||
a:hover.blue_btn{ background:#329cbd;}
|
||||
a.grey_btn{ background:#d9d9d9; color:#656565;font-size:14px; font-weight:normal; text-align:center; margin-left:10px; margin-bottom:10px; padding:2px 10px;}
|
||||
a:hover.grey_btn{ background:#717171; color:#fff;}
|
||||
/****资源库***/
|
||||
.f_l{ float:left;}
|
||||
.f_r{ float:right;}
|
||||
.resource a{ text-align:center;}
|
||||
.b_lblue{ background:#64bdd9;}
|
||||
.b_dblue{ background:#55a1b9; cursor:pointer;}
|
||||
.f_b{ font-weight: bold;}
|
||||
.c_blue{ color:#64bdd9;}
|
||||
.c_grey{ color:#999999;}
|
||||
.c_grey02{ color:#666666;}
|
||||
.f_14{ font-size:14px;}
|
||||
.c_dblue{ color:#3e6d8e;}
|
||||
.w90{width:90px;}
|
||||
.w40{width:40px;}
|
||||
.ml10{margin-left:10px;}
|
||||
.resource{ width:670px;}
|
||||
.re_top{width:660px; height:40px; background:#eaeaea; padding:5px;}
|
||||
.re_top input{ float:left;}
|
||||
.re_search{ margin-top:7px; margin-left:5px;}
|
||||
.re_schbox{ width:240px; height:24px; border:1px solid #64bdd9; color:#666666;}
|
||||
.re_schbtn{ width:60px; height:26px; color:#fff; margin-right:5px; border:none; margin-left:0px;padding-left: 0px;}
|
||||
a.re_fabu { display:block; width:90px; height:30px; font-size:14px; color:#fff; text-align:center; padding-top:10px; }
|
||||
a:hover.re_fabu{background:#55a1b9;}
|
||||
.re_con{ margin:5px; width:665px;}
|
||||
.re_con_top{color:#494949; }
|
||||
.re_con_top span{ color:#999999; font-weight:bold;}
|
||||
a.re_select{ display:block; height:20px; border:1px solid #ff9900; color:#ff9900; margin-left:10px; padding:2px 5px 1px;}
|
||||
a:hover.re_select{ background:#ff9900; color:#fff; text-decoration:none;}
|
||||
a.re_open{display:block; width:46px; height:19px; border:1px solid #64bdd9; color:#64bdd9; margin-left:10px;padding-top:3px;}
|
||||
a:hover.re_open{ background:#64bdd9; color:#fff; text-decoration:none;}
|
||||
a.re_de{ color:#6883b6; margin-left:15px;}
|
||||
.re_con_box{ border-bottom:1px dashed #dadada; padding-bottom:10px; margin-bottom:10px;}
|
||||
/****资源库***/
|
||||
/*.setting{ background:url(../images/setting.jpg) 0 0 no-repeat; width:670px; height:443px;}*/
|
||||
|
||||
/* 作业列表 */
|
||||
.ttl{ }
|
||||
.ctt{height:820px;clear:both; }
|
||||
#contentbox{float:right;clear:both;width:670px;/*滑动门的宽度*/}
|
||||
/* TAB 切换效果 */
|
||||
.tb_{ background-color: #eaeaea; height:40px; }
|
||||
.tb_ ul{height:40px; }
|
||||
.tb_ li{float:left;height:34px;width: 90px;cursor:pointer; font-size:14px; padding-top:6px; text-align:center; }
|
||||
a.tb_all{ margin-left:212px; font-size:12px; display:block; height:23px; padding-top:4px; width:90px; color:#7a7a7a; border:1px solid #cbcbcb; background:#fff; text-align: center;}
|
||||
a:hover.tb_all{ background:#eaeaea; text-decoration:none;}
|
||||
|
||||
.work_tb_{ background-color: #eaeaea; height:40px; }
|
||||
a.work_edit{color: #64bdd9; display:block; padding:1px 5px; border:1px solid #64bdd9;}
|
||||
a:hover.work_edit{color: #fff; background: #64bdd9;}
|
||||
|
||||
/* 控制显示与隐藏css类 */
|
||||
.normaltab { color:#64bdd9 ; }
|
||||
.hovertab { color:#fff; background-color:#64bdd9; }
|
||||
.normaltab a { color:#64bdd9 ; }
|
||||
.hovertab a{color:#fff; background-color:#64bdd9; text-decoration:none;}
|
||||
.dis{display:block; }
|
||||
.undis{display:none;}
|
||||
.c_red{ color:#de030d;}
|
||||
.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;}
|
||||
.dis_ul li{ float:left;}
|
||||
.dis_ul li a{ display:block; color:#15bccf; }
|
||||
.pic_head{ width:44px; padding:0px 15px 0 0px;}
|
||||
.pic_head a{ text-align:center; width:44px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
|
||||
.pic_head img{ border:1px solid #e3e3e3; width:40px; height:40px; padding:1px;}
|
||||
.pic_head img:hover{border:1px solid #15bccf;}
|
||||
.dis ul li.wname a{ width:260px; font-size:14px; color:#595959; padding:20px 0 0 0px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
|
||||
.dis ul li.wdown a{padding-top:22px; color:#3d7ec2; margin-right:35px;}
|
||||
.wscore{ padding-top:22px; color:#888888; width:96px;}
|
||||
.dis ul li.wping{margin-left:12px; }
|
||||
.dis ul li.wping a{ margin-top:18px; margin-bottom:3px; width:43px; height:22px; background:#15bccf; color:#fff; text-align:center; padding-top:4px;}
|
||||
.dis ul li.wping a:hover{ background-color:#03a1b3;}
|
||||
.code_list{ float:right; font-size:12px; color:#484848; padding:5px 3px; border-bottom:2px solid #15bccf; width:665px; margin-bottom:10px;}
|
||||
.code_list a{ color:#787878;}
|
||||
.fr{ float:right;}
|
||||
.c_grey{ color:#999; font-weight:normal;}
|
||||
.dis ul li.wname02 a{ width:200px; font-size:14px; color:#595959; padding:20px 0 0 15px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
|
||||
.dis ul li.wmine{ margin:12px 0 0 10px;}
|
||||
.dis ul li.wmine a{ color:#3d7ec2; text-align:center; width:50px; font-weight: bold;}
|
||||
.wzan{ margin:15px 0 0 25px; width:32px; height:44px;}
|
||||
.wzan a{ display: block;}
|
||||
a.wzan_img{background:url(images/pic_zan.png) 0 -59px no-repeat; display:block; height:31px; width:30px; color:#fff;}
|
||||
a.wzan_visited{background:url(images/pic_zan.png) 0 0 no-repeat;}
|
||||
.msg_box{ width:670px; height:173px; border-bottom:1px dashed #CCC; padding-top:10px;}
|
||||
.msg_box h4{ }
|
||||
.msg_box textarea{width:658px;height:90px;padding:5px;overflow:hidden;background-color: #ffffff; border:1px solid #CCC; margin:5px 0px; color:#666; font-size:12px; }
|
||||
/*.msg_box a{ float:right; display:block; width:50px; height:22px; background:#15bccf; padding-top:3px; color:#fff; margin-left:10px; text-align:center; margin-top:5px; }*/
|
||||
/*.msg_box a:hover{ background-color:#03a1b3; text-decoration:none;}*/
|
||||
|
||||
|
||||
/****评分弹框****/
|
||||
/*#popbox{width:488px;height:550px;position:absolute;z-index:100;left:50%;top:40%;margin:-215px 0 0 -300px; background:#fff; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; box-shadow:0px 0px 8px #194a81; padding:5px; overflow:auto; }*/
|
||||
.alert .close{width:26px;height:26px;overflow:hidden;position:absolute;top:-10px;right:-502px;background:url(images/close.png) no-repeat;cursor:pointer;}
|
||||
.alert .C{width:476px;height:296px;position:absolute;left:5px;top:5px; }
|
||||
.ping_con{ margin:5px; border-bottom:1px dashed #CCC; padding-bottom:5px;}
|
||||
.ping_con ul{ height:30px;}
|
||||
.ping_con ul li{ float:left; color:#656767; font-weight:bold;}
|
||||
.ping_con h2{ font-size:14px; color:#444443; margin-bottom:10px; float:left;}
|
||||
.ping_con p{ color:#777777; font-size:12px; border-bottom:1px dashed #CCC; padding-bottom:5px;}
|
||||
.ping_con p span a{ color:#777777;}
|
||||
.ping_star{ width:160px; color:#333; font-weight:bold; margin-bottom:5px;}
|
||||
.ping_star span a{ float:right; width:20px; height:20px; background:url(images/star.png) -2px 0 no-repeat; margin-right:3px;}
|
||||
.ping_star span a:hover{background:url(images/star.png) -24px 0 no-repeat;}
|
||||
.ping_con textarea{ width:455px; height:76px; border:1px solid #15bccf; margin-bottom:5px; color:#666; font-size:12px;}
|
||||
a.ping_sub{ float:right; height:22px; width:60px; background:#15bccf; color:#fff; text-align:center;}
|
||||
a:hover.ping_sub{ background:#14a8b9;}
|
||||
.recall{ border-top:1px solid #CCC; padding:5px 0;}
|
||||
.recall_head{ float:left;}
|
||||
.recall_head a{ display:block; width:30px; height:30px; border:1px solid #CCC; padding:1px;}
|
||||
.recall_head a:hover{border:1px solid #15bccf;}
|
||||
.recall_con{ float:left;color:#777777; width:520px; margin-left:10px;word-break: break-all;word-wrap: break-word; }
|
||||
.recall_con a{ color:#15bccf; }
|
||||
.ping_list{ margin-top:15px;}
|
||||
.ping_ttl{height:18px;}
|
||||
.ping_ctt{height:auto;padding:6px;clear:both;}
|
||||
.ping_tb_{ border-bottom:3px solid #e4e4e4; text-align:center;}
|
||||
.ping_tb_ ul{height:24px;}
|
||||
.ping_tb_ li{float:left;height: 24px;width: auto; padding:0 10px;cursor:pointer;}
|
||||
.ping_normaltab { color:#15bccf ; border-bottom:3px solid #e4e4e4;}
|
||||
.ping_hovertab { color:#656767; font-weight:bold; border-bottom:3px solid #15bccf; }
|
||||
.ping_dis{display:block; }
|
||||
.ping_undis{display:none;}
|
||||
.ping_C{border-bottom:1px dashed #CCC; padding:10px 0 0px;}
|
||||
.ping_dispic a{ display:block; height:46px; width:46px; border:1px solid #CCC; padding:1px; float:left;}
|
||||
.ping_dispic a:hover{border:1px solid #15bccf;}
|
||||
.ping_discon{ float:left; width:610px; margin-left:10px; }
|
||||
/*.ping_distop span{ float:left;}*/
|
||||
.ping_distop p{ color:#5f5f5f;word-break: break-all;word-wrap: break-word;}
|
||||
.ping_disfoot a{ float:right; color: #6883b6; margin-left:5px; margin-bottom:5px;}
|
||||
/*.ping_distop span a{ float:right; width:20px; height:20px; background:url(images/star.png) -24px 0 no-repeat; margin-right:3px;}*/
|
||||
|
||||
/* 创建作品 work */
|
||||
.Newwork{ width:668px; height:418px;}
|
||||
.N_top{ float:right; margin-left:390px; }
|
||||
.N_con{ color:#484747; font-weight:bold; width:660px; margin-top:10px; }
|
||||
.N_con p{ }
|
||||
.w430{ width:470px;}
|
||||
.w557{ width:557px;}
|
||||
.w350{ width:350px;}
|
||||
.w620{ width:480px; height:160px; border:1px solid #CCC;}
|
||||
.bo{height:26px; border:1px solid #CCC; padding-left:5px; background:#fff;width:470px; }
|
||||
.bo02{height:26px; border:1px solid #CCC; padding-left:5px; background:#fff;width:480px; margin-left:2px; color: #999; }
|
||||
.hwork_txt{ width:560px; padding-left:5px; background:#fff;}
|
||||
a.tijiao{ height:28px; display:block; width:80px; color:#fff; background:#15bccf; text-align:center; padding-top:4px; float:left; margin-right:10px;}
|
||||
a:hover.tijiao{ background:#0f99a9;}
|
||||
.members_left{ float:left; width:410px; margin-right:20px; text-align:center;}
|
||||
.members_left{}
|
||||
.members_left ul li{ height:30px; border-bottom:1px solid #E4E4E4; width:410px; padding-top:10px; }
|
||||
.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;}
|
||||
.f_b{ font-weight: bold;}
|
||||
.members_right label{ margin-left:15px;}
|
||||
.N_search{ height:20px; border:1px solid #999;}
|
||||
/* 创建作品 homework */
|
||||
.hwork_new{ color:#4c4c4c;}
|
||||
.c_red{ color:#F00;}
|
||||
.hwork_input{ border:1px solid #64bdd9; height:22px; width:555px; background:#fff; margin-bottom:10px; padding:5px;}
|
||||
.hwork_input02{ border:1px solid #64bdd9; height:15px; width:120px; background:#fff; margin-bottom:10px; padding:5px;}
|
||||
.hwork_text{ border:1px solid #64bdd9; height:100px;width:555px; background:#fff; margin-left:5px; padding:5px; margin-bottom:10px;}
|
||||
.hwork_new ul li{ }
|
||||
.ml21{ margin-left:21px;}
|
||||
.ml9{ margin-left:9px;}
|
||||
.hwork_ttl{height:24px;}
|
||||
.hwork_ctt{height:auto; padding-left:10px;clear:both;}
|
||||
.hwork_tb_{ border-bottom:3px solid #e4e4e4; text-align:center;}
|
||||
.hwork_tb_ ul{height:24px;}
|
||||
.hwork_tb_ li{float:left;height: 24px;width: auto; padding:0 10px;cursor:pointer;}
|
||||
.hwork_normaltab { color:#15bccf ; border-bottom:3px solid #e4e4e4; }
|
||||
.hwork_hovertab { color:#656767; font-weight:bold; border-bottom:3px solid #15bccf; }
|
||||
.hwork_dis{display:block; }
|
||||
.hwork_undis{display:none;}
|
||||
.project_none{ display:none;}
|
||||
.about_project{ overflow:hidden;display:none;}
|
||||
/*成员搜索*/
|
||||
.members_right{ float:left; margin-left:8px;}
|
||||
.member_search{ width:220px; margin:0 auto;}
|
||||
.member_search_input{ border:1px solid #15bccf; background:#fff; width:170px; height:24px; color:#9b9b9b; padding-left:5px; margin-bottom:10px;}
|
||||
.member_search_btn{ background:#15bccf; color:#fff; text-align: center; width:40px; height:22px;border:1px solid #15bccf; padding-top:2px; cursor:pointer;}
|
||||
.member_search_btn:hover{ background:#0da1b2; border:1px solid #0da1b2;}
|
||||
a.member_btn{ padding: 3px 5px; background:#15bccf; color:#fff;}
|
||||
a:hover.member_btn{ background:#329cbd;}
|
||||
.hol{display: none;}
|
||||
|
||||
/* 新建项目 */
|
||||
.pro_new{ }
|
||||
.pro_new ul li{ margin-bottom:5px; width:auto; padding:2px 5px;}
|
||||
|
||||
/* 匿名评分弹框 */
|
||||
/*.popbox02{width:480px;height:200px;position:absolute;z-index:100;left:50%;top:50%;margin:-215px 0 0 -300px; background:#fff; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; box-shadow:0px 0px 8px #194a81; overflow:auto;}*/
|
||||
.alert .close02{width:26px;height:26px;overflow:hidden;position:absolute;top:-10px;right:-490px;background:url(images/close.png) no-repeat;cursor:pointer;}
|
||||
.ni_con { width:425px; margin:25px 30px;}
|
||||
.ni_con h2{ display:block; height:40px; width:188px; margin:0 auto;}
|
||||
.ni_con p{ color:#808181;}
|
||||
.ni_con a:hover{ text-decoration:none;}
|
||||
a.xls{ margin-left:5px; color:#136b3b;}
|
||||
/* 学生列表*/
|
||||
.st_list{ width:670px;}
|
||||
.st_search{ }
|
||||
.st_search span{ font-size:14px; font-weight:bold; color:#606060; margin-right:35px;}
|
||||
.st_search_input{ border:1px solid #1c9ec7; background:#fff; height:20px; color:#c4c4c4; width:200px; padding-left:5px; margin-bottom:5px;}
|
||||
.st_search a{ background:#1c9ec7; color:#fff;border:1px solid #1c9ec7; text-align:center; display:block; width:60px; height:20px; float:left; font-size:12px; }
|
||||
.st_search a:hover{ background:#048fbb; text-decoration:none;}
|
||||
.classbox{ border:1px solid #f8df8c; background:#fffce6; color:#0d90c3; padding:0 3px; float:left; margin-left:15px;}
|
||||
.st_addclass{ margin-top:5px;}
|
||||
.st_addclass ul li,.st_addclass a,.st_addclass img{ float:left;}
|
||||
.st_addclass img{ margin-top:3px;}
|
||||
.st_addclass a{ color:#0d90c3;}
|
||||
.st_box{ margin-top:10px; border-top:1px solid #CCC; padding-top:10px;}
|
||||
.st_box ul li{ float:left;}
|
||||
.st_box_top a{ font-weight:bold; color:#7a7a7a; float:left; margin-bottom:5px;}
|
||||
.st_box_top a:hover{ color:#1c9ec7;}
|
||||
a.st_up{ display: block; width:8px; float:left; height:13px; background:url(../images/pic_up.png) 0 0 no-repeat; margin-top:5px; margin-left:3px;}
|
||||
a.st_down{ display: block; width:8px; float:left; height:13px; background:url(../images/pic_up.png) 0 -22px no-repeat; margin-top:5px; margin-left:3px;}
|
||||
a.st_img { display:block;width:32px; height:32px; border:1px solid #CCC; padding:1px;}
|
||||
a:hover.st_img { border:1px solid #1c9ec7; }
|
||||
.st_boxlist{ border-bottom:1px dashed #CCC; height:43px; margin-bottom:10px; }
|
||||
.st_boxlist a{ float:left;}
|
||||
.st_boxlist ul{ float:left; width:200px; margin-left:10px;}
|
||||
.st_boxlist ul li a{ color:#5d5d5d;}
|
||||
.st_boxlist ul li a span{ color:#1c9ec7;}
|
||||
.st_boxlist ul li a:hover span{ color:#ff8e15;}
|
||||
.ml50{ margin-left:50px;}
|
||||
.ml358{ margin-left:358px;}
|
||||
.ml258{ margin-left:254px;}
|
||||
.ml65{ margin-left:65px;}
|
||||
a:hover.st_add{ color:#ff8e15;}
|
||||
.classbox_on{ border:1px solid #f8df8c; background:#f6f098; padding:0 3px; float:left; margin-left:15px;}
|
||||
.classbox_on a{ color:#716cad;}
|
||||
/* 创建课程courses*/
|
||||
.courses_input{ border:1px solid #64bdd9; height:16px; width:532px; background:#fff; margin-bottom:10px; padding:5px;}
|
||||
.courses_input_w{ width:300px;}
|
||||
.courses_text{ border:1px solid #64bdd9; height:100px;width:532px; background:#fff; margin-left:5px; padding:5px; margin-bottom:10px;}
|
||||
.upimg{ border:1px solid #eaeaea; display:block; width:60px; height:60px; padding:1px;}
|
||||
.upimg:hover{ border:1px solid #64bdd9; }
|
||||
.upbtn{ margin:40px 0 0 15px; display:block; padding:2px 5px; border:1px solid #eaeaea;}
|
||||
.upbtn:hover{border:1px solid #64bdd9; color:#64bdd9;cursor: pointer;}
|
||||
.upload_file{margin-left: -60px;margin-top: 40px;width: 50px;position: absolute;height: 24px;opacity: 0;cursor: pointer}
|
||||
/* 功能倒计时*/
|
||||
.w_img{ float:left; margin:10px 10px 15px 0px;}
|
||||
.w_p{ float:left; color:#15bccf; font-size:16px; font-weight:bold; margin-top:70px; }
|
||||
/* 新建项目弹框*/
|
||||
.table_left{ width:90px; text-align:right; color:#4c4c4c; font-weight:bold;}
|
||||
/*上传资源弹出框样式*/
|
||||
.popbox_polls{width:300px;height:100px;position:fixed !important;z-index:100;left:50%;top:50%;margin:-100px 0 0 -150px; background:#fff; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; box-shadow:0px 0px 8px #194a81; overflow:auto;}
|
||||
.upload_con h2{ display:block; background:#eaeaea; font-size:14px; color:#343333; height:31px; width: auto; margin-top:25px; padding-left:20px; padding-top:5px;}
|
||||
.upload_box{ width:430px; margin:15px auto;}
|
||||
|
||||
a:hover.link_file{ background:url(../images/pic_file.png) 0 -25px no-repeat; color:#3ca5c6;}
|
||||
.r_txt_tit{width:500px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;color:#15bccf; float:left; color:#09658c; font-size:14px;}
|
||||
|
||||
blockquote {background: #eeeeee;padding: 10px;margin-bottom: 10px;}
|
||||
.respond-form{display: none;margin: auto;clear: both;}
|
||||
|
||||
.reply_btn{ cursor:pointer; -moz-border-radius:3px; -webkit-border-radius:3px; border:1px solid #ccc; color:#999; border-radius:3px; padding:2px 10px; margin-bottom:10px;display: block;margin-left: 470px;}
|
||||
.reply_btn:hover{ background:#999; color:#fff; }
|
||||
|
||||
#attachments_fields input.description {margin-left: 4px;width: 100px;}
|
||||
#attachments_fields span.ispublic-label {display: inline-block;width: 30px;margin-left: 10px;}
|
||||
a.remove-upload {background: url(../images/delete.png) no-repeat 1px 50%;width: 1px;display: inline-block;padding-left: 16px;}
|
||||
#attachments_fields input.filename {border: 0;height: 1.8em;width: 150px;color: #555;background-color: inherit;background: url(../images/attachment.png) no-repeat 1px 50%;padding-left: 18px;padding-top: 2px;}
|
||||
span.add_attachment {font-size: 80%;line-height: 2.5em;}
|
||||
#attachments_fields span {display: block;white-space: nowrap;}
|
||||
.file_selector{position: relative;opacity: 0;filter: alpha(opacity:0);}
|
||||
#attachments_fields .ajax-waiting input.filename {background:url(../images/hourglass.png) no-repeat 0px 50%;}
|
||||
#attachments_fields .ajax-loading input.filename {background:url(../images/loading.gif) no-repeat 0px 50%;}
|
||||
.reply_btn{ cursor:pointer; -moz-border-radius:3px; -webkit-border-radius:3px; border:1px solid #ccc; color:#999; border-radius:3px; padding:2px 10px; margin-bottom:10px;display: block;margin-left: 470px;}
|
||||
.reply_btn:hover{ background:#999; color:#fff; }
|
||||
|
||||
#attachments_fields div.ui-progressbar { width: 100px; height:14px; margin: 2px 0 -5px 8px; display: inline-block; }
|
||||
.ui-widget {
|
||||
font-family: Verdana, sans-serif;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
.ui-widget-content {
|
||||
border: 1px solid #ddd;
|
||||
color: #333;
|
||||
}
|
||||
.ui-progressbar-value{margin:-1px;height:100%}
|
||||
.ui-widget-header{border:1px solid #628db6;background:#759fcf url(jquery/images/ui-bg_gloss-wave_35_759fcf_500x100.png) 50% 50% repeat-x;color:#fff;font-weight:bold}
|
||||
.ui-corner-left,.ui-corner-tl{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;-khtml-border-top-left-radius:4px;border-top-left-radius:4px}
|
||||
.link_file{ background:url(../images/pic_file.png) 0 7px no-repeat !important; padding-left:20px !important; color:#64bdd9 !important; }
|
||||
a:hover.link_file_board{ background:url(../images/pic_file.png) 0 -25px no-repeat; color:#3ca5c6;}
|
||||
a.link_file_board{ background:url(../images/pic_file.png) 0 3px no-repeat !important; padding-left:20px !important; color:#64bdd9 !important; }
|
||||
|
||||
#course_member_pagination_links{height: auto;float: left;}
|
||||
#course_member_pagination_links li{margin-bottom: 5px;}
|
||||
|
||||
/* colorbox
|
||||
*******************************************************************************/
|
||||
/*
|
||||
Colorbox Core Style:
|
||||
The following CSS is consistent between example themes and should not be altered.
|
||||
*/
|
||||
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
|
||||
#cboxWrapper {max-width:none;}
|
||||
#cboxOverlay{position:fixed; width:100%; height:100%;}
|
||||
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
|
||||
#cboxContent{position:relative;}
|
||||
#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
|
||||
#cboxTitle{margin:0;}
|
||||
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
|
||||
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
|
||||
.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
|
||||
.cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
|
||||
#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}
|
||||
|
||||
/*
|
||||
User Style:
|
||||
Change the following styles to modify the appearance of Colorbox. They are
|
||||
ordered & tabbed in a way that represents the nesting of the generated HTML.
|
||||
*/
|
||||
#cboxOverlay{background:#fff;}
|
||||
#colorbox{outline:0;}
|
||||
#cboxTopLeft{width:25px; height:25px; background:url(../images/colorbox/border1.png) no-repeat 0 0;}
|
||||
#cboxTopCenter{height:25px; background:url(../images/colorbox/border1.png) repeat-x 0 -50px;}
|
||||
#cboxTopRight{width:25px; height:25px; background:url(../images/colorbox/border1.png) no-repeat -25px 0;}
|
||||
#cboxBottomLeft{width:25px; height:25px; background:url(../images/colorbox/border1.png) no-repeat 0 -25px;}
|
||||
#cboxBottomCenter{height:25px; background:url(../images/colorbox/border1.png) repeat-x 0 -75px;}
|
||||
#cboxBottomRight{width:25px; height:25px; background:url(../images/colorbox/border1.png) no-repeat -25px -25px;}
|
||||
#cboxMiddleLeft{width:25px; background:url(../images/colorbox/border2.png) repeat-y 0 0;}
|
||||
#cboxMiddleRight{width:25px; background:url(../images/colorbox/border2.png) repeat-y -25px 0;}
|
||||
#cboxContent{background:#fff; overflow:hidden;}
|
||||
.cboxIframe{background:#fff;}
|
||||
#cboxError{padding:50px; border:1px solid #ccc;}
|
||||
#cboxLoadedContent{margin-bottom:20px;}
|
||||
#cboxTitle{position:absolute; bottom:0px; left:0; text-align:center; width:100%; color:#999;}
|
||||
#cboxCurrent{position:absolute; bottom:0px; left:100px; color:#999;}
|
||||
#cboxLoadingOverlay{background:#fff url(../images/colorbox/loading.gif) no-repeat 5px 5px;}
|
||||
|
||||
/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
|
||||
#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; }
|
||||
|
||||
/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
|
||||
#cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}
|
||||
|
||||
#cboxSlideshow{position:absolute; bottom:0px; right:42px; color:#444;}
|
||||
#cboxPrevious{position:absolute; bottom:0px; left:0; color:#444;}
|
||||
#cboxNext{position:absolute; bottom:0px; left:63px; color:#444;}
|
||||
#cboxClose{position:absolute; bottom:0; right:0; display:block; color:#444;}
|
||||
|
||||
/*
|
||||
The following fixes a problem where IE7 and IE8 replace a PNG's alpha transparency with a black fill
|
||||
when an alpha filter (opacity change) is set on the element or ancestor element. This style is not applied to or needed in IE9.
|
||||
See: http://jacklmoore.com/notes/ie-transparency-problems/
|
||||
*/
|
||||
.cboxIE #cboxTopLeft,
|
||||
.cboxIE #cboxTopCenter,
|
||||
.cboxIE #cboxTopRight,
|
||||
.cboxIE #cboxBottomLeft,
|
||||
.cboxIE #cboxBottomCenter,
|
||||
.cboxIE #cboxBottomRight,
|
||||
.cboxIE #cboxMiddleLeft,
|
||||
.cboxIE #cboxMiddleRight {
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*右侧内容--动态*/
|
||||
.project_r_h{ width:670px; height:40px; background:#eaeaea; margin-bottom:10px;}
|
||||
.project_r_h02{ width:920px; height:40px; background:#eaeaea; margin-bottom:10px;}
|
||||
.project_h2{ background:#64bdd9; color:#fff; height:33px; width:90px; text-align:center; font-weight:normal; padding-top:7px; font-size:16px;}
|
||||
.project_r_box{ border:1px solid #e2e1e1; width:670px; margin-top:10px;}
|
||||
.project_h3 { color:#646464; font-size:14px; padding:0 10px; border-bottom:1px solid #e2e1e1;}
|
||||
.more{ float:right; font-size:12px; font-weight:normal; color:#a9a9a9; margin-top:3px;}
|
||||
.more:hover{ color:#64bdd9;}
|
||||
.project_box_ul{ padding:0 10px;}
|
||||
.project_box_list{ padding:10px 0; border-bottom:1px dashed #e2e1e1; padding-left:30px; color:#6f6c6c;}
|
||||
.img_problem{ background:url(../images/new_project/img_project.png) 0 -20px no-repeat;}
|
||||
.img_talk{ background:url(../images/new_project/img_project.png) 0 -62px no-repeat;}
|
||||
.img_ziyuan{ background:url(../images/new_project/img_project.png) 0 -115px no-repeat;}
|
||||
.img_edition{ background:url(../images/new_project/img_project.png) 0 -167px no-repeat;}
|
||||
a.project_name{ color:#058c42;}
|
||||
a:hover.project_name{ color:#016f33;}
|
||||
.project_txt{ color:#0781b4; width:445px; display:block; float:left; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;}
|
||||
a.project_txt02{ color:#0781b4; width:618px; display:block; float:left; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;}
|
||||
a:hover.project_txt{ color:#066e9a;}
|
||||
.noline{ border-bottom:none;}
|
||||
.news_description{max-height: 38px;overflow:hidden; }
|
||||
.news_description_none{max-height: none;}
|
||||
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;}
|
||||
|
||||
|
||||
/*邮件邀请*/
|
||||
.box_main{ width:345px; margin:0 auto;}
|
||||
.box_h3{ color:#15bccf; text-align:center; font-size:16px;}
|
||||
.box_p{ color:#404040; margin-bottom:5px;}
|
||||
.fb_item{ color:#919191; border:1px solid #919191; height:28px; margin-bottom:10px; padding-left:5px; width:290px;}
|
||||
/*.icon_addm{ background:url(../images/img_floatbox.png) 0 -33px no-repeat; width:16px; height:16px; display:block; margin:5px 0 0 5px;}*/
|
||||
/*.icon_addm:hover{background:url(../images/img_floatbox.png) 0 -61px no-repeat; }*/
|
||||
/*.icon_removem{ background:url(../images/img_floatbox.png) -22px -33px no-repeat;width:16px; height:16px; display:block; margin:5px 0 0 5px}*/
|
||||
/*.icon_removem:hover{background:url(../images/img_floatbox.png) -22px -61px no-repeat;}*/
|
||||
a.btn_free{ background:#ff5722; display:block; width:80px; text-align:center; color:#fff; height:26px; padding-top:3px; margin-bottom:10px;}
|
||||
a:hover.btn_free{ background:#d63502;}
|
||||
/*成员邀请*/
|
||||
.invi_search{ width:230px; margin:0 auto;}
|
||||
.invi_search_input{ border:1px solid #15bccf; width:180px; height:24px; color:#9b9b9b; padding-left:5px; margin-bottom:10px;}
|
||||
a.invi_search_btn{ background:#15bccf; color:#fff; text-align: center; width:40px; height:22px;border:1px solid #15bccf; padding-top:2px; cursor:pointer;}
|
||||
a:hover.invi_search_btn{ background:#0da1b2; border:1px solid #0da1b2;}
|
||||
/*问题跟踪*/
|
||||
.problem_top{ margin:10px 0 ;}
|
||||
.problem_search_input{ border:1px solid #64bdd9; width:180px; height:24px; color:#9b9b9b; padding-left:5px; margin-bottom:10px;}
|
||||
a.problem_search_btn{ background:#64bdd9; color:#fff; text-align: center; width:40px; height:22px;border:1px solid #64bdd9; padding-top:2px; cursor:pointer;}
|
||||
a:hover.problem_search_btn{ background:#3da1c1; border:1px solid #3da1c1;}
|
||||
a.problem_new_btn{ margin-left:10px; border:1px solid #ff7143; color:#ff7143; padding:1px 3px; font-size:12px; text-align:center; padding-top:2px;}
|
||||
a:hover.problem_new_btn{ background:#ff7143; color:#fff;}
|
||||
.problem_p{ color:#535252; margin-top:5px;}
|
||||
.problem_p span{ color:#ff3e00;}
|
||||
a.problem_pic{ display:block; width:42px; height:42px; padding:3px; border:1px solid #e3e3e3;}
|
||||
a:hover.problem_pic{border:1px solid #64bdd9;}
|
||||
.problem_txt{ width:610px; margin-left:10px; color:#777777;word-break: break-all;word-wrap: break-word;}
|
||||
a.problem_name{ color:#ff5722;}
|
||||
a:hover.problem_name{ color:#d33503;}
|
||||
a.problem_tit{ color:#0781b4; width:430px; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;}
|
||||
a:hover.problem_tit{ color:#09658c; }
|
||||
.problem_main{ border-bottom:1px dashed #d4d4d4; padding-bottom:10px; margin-bottom:10px;}
|
||||
/****翻页***/
|
||||
ul.wlist{ float:right; border-bottom:none; height:30px; margin-top:20px; }
|
||||
ul.wlist li{float: left;}
|
||||
ul.wlist li a{ border:1px solid #15bccf; padding: 1px 4px 1px 4px; margin-left:3px;}
|
||||
ul.wlist li a:hover{ background:#15bccf; color:#fff; text-decoration:none;}
|
||||
/*.wlist_select { background-color:#64bdd9; color:#fff; padding: 1px 5px 0px 5px; margin-left:3px;margin-top: -2px; border:1px solid #64bdd9;}*/
|
||||
.wlist_select a{background-color: #64bdd9;cursor: default;}
|
||||
/****讨论区***/
|
||||
.talk_top{ margin:10px 0; font-size:14px; color:#4c4c4c;}
|
||||
.talk_top span{ color:#ff7143;}
|
||||
.talk_txt{ width:460px; margin-left:10px; color:#676868;}
|
||||
.talk_up{ color:#f63c00;}
|
||||
a.talk_pic{ display:block; width:32px; height:32px; padding:3px; border:1px solid #e3e3e3;}
|
||||
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;}
|
||||
.talk_info{ color:#7d7d7d; margin-left:60px; margin-top:10px;}
|
||||
a.talk_edit{ color:#426e9a; margin-right:5px;}
|
||||
a:hover.talk_edit{ color:#ff5722;}
|
||||
.talk_reply { background:#eeeeee; padding:10px; margin-bottom:10px;}
|
||||
.talkpage_text{ border:1px solid #64bdd9; width:600px; color:#7d7d7d; padding:5px; margin:10px 0 10px 50px; background:#fff;}
|
||||
/****新建讨论***/
|
||||
.talk_new{ color:#4c4c4c;}
|
||||
.talk_input{ border:1px solid #64bdd9; height:16px; width:585px; background:#fff; margin-bottom:10px; padding:5px;}
|
||||
.talk_text{ border:1px solid #64bdd9; height:100px;width:585px; background:#fff; margin-left:5px; padding:5px; margin-bottom:10px;}
|
||||
.talk_new ul li{ }
|
||||
.sb{width:70px; height:26px; color:#606060; cursor:pointer;}
|
||||
a.blue_btn{ background:#64bdd9; display:block; font-size:14px;color:#fff; font-weight:normal; text-align:center; margin-left:10px; margin-bottom:10px; padding:2px 10px;}
|
||||
a:hover.blue_btn{ background:#329cbd;}
|
||||
a.grey_btn{ background:#d9d9d9; color:#656565;font-size:14px; font-weight:normal; text-align:center; margin-left:10px; margin-bottom:10px; padding:2px 10px;}
|
||||
a:hover.grey_btn{ background:#717171; color:#fff;}
|
||||
/****资源库***/
|
||||
.f_l{ float:left;}
|
||||
.f_r{ float:right;}
|
||||
.resource a{ text-align:center;}
|
||||
.b_lblue{ background:#64bdd9;}
|
||||
.b_dblue{ background:#55a1b9; cursor:pointer;}
|
||||
.f_b{ font-weight: bold;}
|
||||
.c_blue{ color:#64bdd9;}
|
||||
.c_grey{ color:#999999;}
|
||||
.c_grey02{ color:#666666;}
|
||||
.f_14{ font-size:14px;}
|
||||
.c_dblue{ color:#3e6d8e;}
|
||||
.w90{width:90px;}
|
||||
.w40{width:40px;}
|
||||
.ml10{margin-left:10px;}
|
||||
.resource{ width:670px;}
|
||||
.re_top{width:660px; height:40px; background:#eaeaea; padding:5px;}
|
||||
.re_top input{ float:left;}
|
||||
.re_search{ margin-top:7px; margin-left:5px;}
|
||||
.re_schbox{ width:240px; height:24px; border:1px solid #64bdd9; color:#666666;}
|
||||
.re_schbtn{ width:60px; height:26px; color:#fff; margin-right:5px; border:none; margin-left:0px;padding-left: 0px;}
|
||||
a.re_fabu { display:block; width:90px; height:30px; font-size:14px; color:#fff; text-align:center; padding-top:10px; }
|
||||
a:hover.re_fabu{background:#55a1b9;}
|
||||
.re_con{ margin:5px; width:665px;}
|
||||
.re_con_top{color:#494949; }
|
||||
.re_con_top span{ color:#999999; font-weight:bold;}
|
||||
a.re_select{ display:block; height:20px; border:1px solid #ff9900; color:#ff9900; margin-left:10px; padding:2px 5px 1px;}
|
||||
a:hover.re_select{ background:#ff9900; color:#fff; text-decoration:none;}
|
||||
a.re_open{display:block; width:46px; height:19px; border:1px solid #64bdd9; color:#64bdd9; margin-left:10px;padding-top:3px;}
|
||||
a:hover.re_open{ background:#64bdd9; color:#fff; text-decoration:none;}
|
||||
a.re_de{ color:#6883b6; margin-left:15px;}
|
||||
.re_con_box{ border-bottom:1px dashed #dadada; padding-bottom:10px; margin-bottom:10px;}
|
||||
/****资源库***/
|
||||
/*.setting{ background:url(../images/setting.jpg) 0 0 no-repeat; width:670px; height:443px;}*/
|
||||
|
||||
/* 作业列表 */
|
||||
.ttl{ }
|
||||
.ctt{height:820px;clear:both; }
|
||||
#contentbox{float:right;clear:both;width:670px;/*滑动门的宽度*/}
|
||||
/* TAB 切换效果 */
|
||||
.tb_{ background-color: #eaeaea; height:40px; }
|
||||
.tb_ ul{height:40px; }
|
||||
.tb_ li{float:left;height:34px;width: 90px;cursor:pointer; font-size:14px; padding-top:6px; text-align:center; }
|
||||
a.tb_all{ margin-left:212px; font-size:12px; display:block; height:23px; padding-top:4px; width:90px; color:#7a7a7a; border:1px solid #cbcbcb; background:#fff; text-align: center;}
|
||||
a:hover.tb_all{ background:#eaeaea; text-decoration:none;}
|
||||
|
||||
.work_tb_{ background-color: #eaeaea; height:40px; }
|
||||
a.work_edit{color: #64bdd9; display:block; padding:1px 5px; border:1px solid #64bdd9;}
|
||||
a:hover.work_edit{color: #fff; background: #64bdd9;}
|
||||
|
||||
/* 控制显示与隐藏css类 */
|
||||
.normaltab { color:#64bdd9 ; }
|
||||
.hovertab { color:#fff; background-color:#64bdd9; }
|
||||
.normaltab a { color:#64bdd9 ; }
|
||||
.hovertab a{color:#fff; background-color:#64bdd9; text-decoration:none;}
|
||||
.dis{display:block; }
|
||||
.undis{display:none;}
|
||||
.c_red{ color:#de030d;}
|
||||
.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;}
|
||||
.dis_ul li{ float:left;}
|
||||
.dis_ul li a{ display:block; color:#15bccf; }
|
||||
.pic_head{ width:44px; padding:0px 15px 0 0px;}
|
||||
.pic_head a{ text-align:center; width:44px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
|
||||
.pic_head img{ border:1px solid #e3e3e3; width:40px; height:40px; padding:1px;}
|
||||
.pic_head img:hover{border:1px solid #15bccf;}
|
||||
.dis ul li.wname a{ width:260px; font-size:14px; color:#595959; padding:20px 0 0 0px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
|
||||
.dis ul li.wdown a{padding-top:22px; color:#3d7ec2; margin-right:35px;}
|
||||
.wscore{ padding-top:22px; color:#888888; width:96px;}
|
||||
.dis ul li.wping{margin-left:12px; }
|
||||
.dis ul li.wping a{ margin-top:18px; margin-bottom:3px; width:43px; height:22px; background:#15bccf; color:#fff; text-align:center; padding-top:4px;}
|
||||
.dis ul li.wping a:hover{ background-color:#03a1b3;}
|
||||
.code_list{ float:right; font-size:12px; color:#484848; padding:5px 3px; border-bottom:2px solid #15bccf; width:665px; margin-bottom:10px;}
|
||||
.code_list a{ color:#787878;}
|
||||
.fr{ float:right;}
|
||||
.c_grey{ color:#999; font-weight:normal;}
|
||||
.dis ul li.wname02 a{ width:200px; font-size:14px; color:#595959; padding:20px 0 0 15px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
|
||||
.dis ul li.wmine{ margin:12px 0 0 10px;}
|
||||
.dis ul li.wmine a{ color:#3d7ec2; text-align:center; width:50px; font-weight: bold;}
|
||||
.wzan{ margin:15px 0 0 25px; width:32px; height:44px;}
|
||||
.wzan a{ display: block;}
|
||||
a.wzan_img{background:url(images/pic_zan.png) 0 -59px no-repeat; display:block; height:31px; width:30px; color:#fff;}
|
||||
a.wzan_visited{background:url(images/pic_zan.png) 0 0 no-repeat;}
|
||||
.msg_box{ width:670px; height:173px; border-bottom:1px dashed #CCC; padding-top:10px;}
|
||||
.msg_box h4{ }
|
||||
.msg_box textarea{width:658px;height:90px;padding:5px;overflow:hidden;background-color: #ffffff; border:1px solid #CCC; margin:5px 0px; color:#666; font-size:12px; }
|
||||
/*.msg_box a{ float:right; display:block; width:50px; height:22px; background:#15bccf; padding-top:3px; color:#fff; margin-left:10px; text-align:center; margin-top:5px; }*/
|
||||
/*.msg_box a:hover{ background-color:#03a1b3; text-decoration:none;}*/
|
||||
|
||||
|
||||
/****评分弹框****/
|
||||
/*#popbox{width:488px;height:550px;position:absolute;z-index:100;left:50%;top:40%;margin:-215px 0 0 -300px; background:#fff; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; box-shadow:0px 0px 8px #194a81; padding:5px; overflow:auto; }*/
|
||||
.alert .close{width:26px;height:26px;overflow:hidden;position:absolute;top:-10px;right:-502px;background:url(images/close.png) no-repeat;cursor:pointer;}
|
||||
.alert .C{width:476px;height:296px;position:absolute;left:5px;top:5px; }
|
||||
.ping_con{ margin:5px; border-bottom:1px dashed #CCC; padding-bottom:5px;}
|
||||
.ping_con ul{ height:30px;}
|
||||
.ping_con ul li{ float:left; color:#656767; font-weight:bold;}
|
||||
.ping_con h2{ font-size:14px; color:#444443; margin-bottom:10px; float:left;}
|
||||
.ping_con p{ color:#777777; font-size:12px; border-bottom:1px dashed #CCC; padding-bottom:5px;}
|
||||
.ping_con p span a{ color:#777777;}
|
||||
.ping_star{ width:160px; color:#333; font-weight:bold; margin-bottom:5px;}
|
||||
.ping_star span a{ float:right; width:20px; height:20px; background:url(images/star.png) -2px 0 no-repeat; margin-right:3px;}
|
||||
.ping_star span a:hover{background:url(images/star.png) -24px 0 no-repeat;}
|
||||
.ping_con textarea{ width:455px; height:76px; border:1px solid #15bccf; margin-bottom:5px; color:#666; font-size:12px;}
|
||||
a.ping_sub{ float:right; height:22px; width:60px; background:#15bccf; color:#fff; text-align:center;}
|
||||
a:hover.ping_sub{ background:#14a8b9;}
|
||||
.recall{ border-top:1px solid #CCC; padding:5px 0;}
|
||||
.recall_head{ float:left;}
|
||||
.recall_head a{ display:block; width:30px; height:30px; border:1px solid #CCC; padding:1px;}
|
||||
.recall_head a:hover{border:1px solid #15bccf;}
|
||||
.recall_con{ float:left;color:#777777; width:520px; margin-left:10px;word-break: break-all;word-wrap: break-word; }
|
||||
.recall_con a{ color:#15bccf; }
|
||||
.ping_list{ margin-top:15px;}
|
||||
.ping_ttl{height:18px;}
|
||||
.ping_ctt{height:auto;padding:6px;clear:both;}
|
||||
.ping_tb_{ border-bottom:3px solid #e4e4e4; text-align:center;}
|
||||
.ping_tb_ ul{height:24px;}
|
||||
.ping_tb_ li{float:left;height: 24px;width: auto; padding:0 10px;cursor:pointer;}
|
||||
.ping_normaltab { color:#15bccf ; border-bottom:3px solid #e4e4e4;}
|
||||
.ping_hovertab { color:#656767; font-weight:bold; border-bottom:3px solid #15bccf; }
|
||||
.ping_dis{display:block; }
|
||||
.ping_undis{display:none;}
|
||||
.ping_C{border-bottom:1px dashed #CCC; padding:10px 0 0px;}
|
||||
.ping_dispic a{ display:block; height:46px; width:46px; border:1px solid #CCC; padding:1px; float:left;}
|
||||
.ping_dispic a:hover{border:1px solid #15bccf;}
|
||||
.ping_discon{ float:left; width:610px; margin-left:10px; }
|
||||
/*.ping_distop span{ float:left;}*/
|
||||
.ping_distop p{ color:#5f5f5f;word-break: break-all;word-wrap: break-word;}
|
||||
.ping_disfoot a{ float:right; color: #6883b6; margin-left:5px; margin-bottom:5px;}
|
||||
/*.ping_distop span a{ float:right; width:20px; height:20px; background:url(images/star.png) -24px 0 no-repeat; margin-right:3px;}*/
|
||||
|
||||
/* 创建作品 work */
|
||||
.Newwork{ width:668px; height:418px;}
|
||||
.N_top{ float:right; margin-left:390px; }
|
||||
.N_con{ color:#484747; font-weight:bold; width:660px; margin-top:10px; }
|
||||
.N_con p{ }
|
||||
.w430{ width:470px;}
|
||||
.w557{ width:557px;}
|
||||
.w350{ width:350px;}
|
||||
.w620{ width:480px; height:160px; border:1px solid #CCC;}
|
||||
.bo{height:26px; border:1px solid #CCC; padding-left:5px; background:#fff;width:470px; }
|
||||
.bo02{height:26px; border:1px solid #CCC; padding-left:5px; background:#fff;width:480px; margin-left:2px; color: #999; }
|
||||
.hwork_txt{ width:560px; padding-left:5px; background:#fff;}
|
||||
a.tijiao{ height:28px; display:block; width:80px; color:#fff; background:#15bccf; text-align:center; padding-top:4px; float:left; margin-right:10px;}
|
||||
a:hover.tijiao{ background:#0f99a9;}
|
||||
.members_left{ float:left; width:410px; margin-right:20px; text-align:center;}
|
||||
.members_left{}
|
||||
.members_left ul li{ height:30px; border-bottom:1px solid #E4E4E4; width:410px; padding-top:10px; }
|
||||
.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;}
|
||||
.f_b{ font-weight: bold;}
|
||||
.members_right label{ margin-left:15px;}
|
||||
.N_search{ height:20px; border:1px solid #999;}
|
||||
/* 创建作品 homework */
|
||||
.hwork_new{ color:#4c4c4c;}
|
||||
.c_red{ color:#F00;}
|
||||
.hwork_input{ border:1px solid #64bdd9; height:22px; width:555px; background:#fff; margin-bottom:10px; padding:5px;}
|
||||
.hwork_input02{ border:1px solid #64bdd9; height:15px; width:120px; background:#fff; margin-bottom:10px; padding:5px;}
|
||||
.hwork_text{ border:1px solid #64bdd9; height:100px;width:555px; background:#fff; margin-left:5px; padding:5px; margin-bottom:10px;}
|
||||
.hwork_new ul li{ }
|
||||
.ml21{ margin-left:21px;}
|
||||
.ml9{ margin-left:9px;}
|
||||
.hwork_ttl{height:24px;}
|
||||
.hwork_ctt{height:auto; padding-left:10px;clear:both;}
|
||||
.hwork_tb_{ border-bottom:3px solid #e4e4e4; text-align:center;}
|
||||
.hwork_tb_ ul{height:24px;}
|
||||
.hwork_tb_ li{float:left;height: 24px;width: auto; padding:0 10px;cursor:pointer;}
|
||||
.hwork_normaltab { color:#15bccf ; border-bottom:3px solid #e4e4e4; }
|
||||
.hwork_hovertab { color:#656767; font-weight:bold; border-bottom:3px solid #15bccf; }
|
||||
.hwork_dis{display:block; }
|
||||
.hwork_undis{display:none;}
|
||||
.project_none{ display:none;}
|
||||
.about_project{ overflow:hidden;display:none;}
|
||||
/*成员搜索*/
|
||||
.members_right{ float:left; margin-left:8px;}
|
||||
.member_search{ width:220px; margin:0 auto;}
|
||||
.member_search_input{ border:1px solid #15bccf; background:#fff; width:170px; height:24px; color:#9b9b9b; padding-left:5px; margin-bottom:10px;}
|
||||
.member_search_btn{ background:#15bccf; color:#fff; text-align: center; width:40px; height:22px;border:1px solid #15bccf; padding-top:2px; cursor:pointer;}
|
||||
.member_search_btn:hover{ background:#0da1b2; border:1px solid #0da1b2;}
|
||||
a.member_btn{ padding: 3px 5px; background:#15bccf; color:#fff;}
|
||||
a:hover.member_btn{ background:#329cbd;}
|
||||
.hol{display: none;}
|
||||
|
||||
/* 新建项目 */
|
||||
.pro_new{ }
|
||||
.pro_new ul li{ margin-bottom:5px; width:auto; padding:2px 5px;}
|
||||
|
||||
/* 匿名评分弹框 */
|
||||
/*.popbox02{width:480px;height:200px;position:absolute;z-index:100;left:50%;top:50%;margin:-215px 0 0 -300px; background:#fff; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; box-shadow:0px 0px 8px #194a81; overflow:auto;}*/
|
||||
.alert .close02{width:26px;height:26px;overflow:hidden;position:absolute;top:-10px;right:-490px;background:url(images/close.png) no-repeat;cursor:pointer;}
|
||||
.ni_con { width:425px; margin:25px 30px;}
|
||||
.ni_con h2{ display:block; height:40px; width:188px; margin:0 auto;}
|
||||
.ni_con p{ color:#808181;}
|
||||
.ni_con a:hover{ text-decoration:none;}
|
||||
a.xls{ margin-left:5px; color:#136b3b;}
|
||||
/* 学生列表*/
|
||||
.st_list{ width:670px;}
|
||||
.st_search{ }
|
||||
.st_search span{ font-size:14px; font-weight:bold; color:#606060; margin-right:35px;}
|
||||
.st_search_input{ border:1px solid #1c9ec7; background:#fff; height:20px; color:#c4c4c4; width:200px; padding-left:5px; margin-bottom:5px;}
|
||||
.st_search a{ background:#1c9ec7; color:#fff;border:1px solid #1c9ec7; text-align:center; display:block; width:60px; height:20px; float:left; font-size:12px; }
|
||||
.st_search a:hover{ background:#048fbb; text-decoration:none;}
|
||||
.classbox{ border:1px solid #f8df8c; background:#fffce6; color:#0d90c3; padding:0 3px; float:left; margin-left:15px;}
|
||||
.st_addclass{ margin-top:5px;}
|
||||
.st_addclass ul li,.st_addclass a,.st_addclass img{ float:left;}
|
||||
.st_addclass img{ margin-top:3px;}
|
||||
.st_addclass a{ color:#0d90c3;}
|
||||
.st_box{ margin-top:10px; border-top:1px solid #CCC; padding-top:10px;}
|
||||
.st_box ul li{ float:left;}
|
||||
.st_box_top a{ font-weight:bold; color:#7a7a7a; float:left; margin-bottom:5px;}
|
||||
.st_box_top a:hover{ color:#1c9ec7;}
|
||||
a.st_up{ display: block; width:8px; float:left; height:13px; background:url(../images/pic_up.png) 0 0 no-repeat; margin-top:5px; margin-left:3px;}
|
||||
a.st_down{ display: block; width:8px; float:left; height:13px; background:url(../images/pic_up.png) 0 -22px no-repeat; margin-top:5px; margin-left:3px;}
|
||||
a.st_img { display:block;width:32px; height:32px; border:1px solid #CCC; padding:1px;}
|
||||
a:hover.st_img { border:1px solid #1c9ec7; }
|
||||
.st_boxlist{ border-bottom:1px dashed #CCC; height:43px; margin-bottom:10px; }
|
||||
.st_boxlist a{ float:left;}
|
||||
.st_boxlist ul{ float:left; width:200px; margin-left:10px;}
|
||||
.st_boxlist ul li a{ color:#5d5d5d;}
|
||||
.st_boxlist ul li a span{ color:#1c9ec7;}
|
||||
.st_boxlist ul li a:hover span{ color:#ff8e15;}
|
||||
.ml50{ margin-left:50px;}
|
||||
.ml358{ margin-left:358px;}
|
||||
.ml258{ margin-left:254px;}
|
||||
.ml65{ margin-left:65px;}
|
||||
a:hover.st_add{ color:#ff8e15;}
|
||||
.classbox_on{ border:1px solid #f8df8c; background:#f6f098; padding:0 3px; float:left; margin-left:15px;}
|
||||
.classbox_on a{ color:#716cad;}
|
||||
/* 创建课程courses*/
|
||||
.courses_input{ border:1px solid #64bdd9; height:16px; width:532px; background:#fff; margin-bottom:10px; padding:5px;}
|
||||
.courses_input_w{ width:300px;}
|
||||
.courses_text{ border:1px solid #64bdd9; height:100px;width:532px; background:#fff; margin-left:5px; padding:5px; margin-bottom:10px;}
|
||||
.upimg{ border:1px solid #eaeaea; display:block; width:60px; height:60px; padding:1px;}
|
||||
.upimg:hover{ border:1px solid #64bdd9; }
|
||||
.upbtn{ margin:40px 0 0 15px; display:block; padding:2px 5px; border:1px solid #eaeaea;}
|
||||
.upbtn:hover{border:1px solid #64bdd9; color:#64bdd9;cursor: pointer;}
|
||||
.upload_file{margin-left: -60px;margin-top: 40px;width: 50px;position: absolute;height: 24px;opacity: 0;cursor: pointer}
|
||||
/* 功能倒计时*/
|
||||
.w_img{ float:left; margin:10px 10px 15px 0px;}
|
||||
.w_p{ float:left; color:#15bccf; font-size:16px; font-weight:bold; margin-top:70px; }
|
||||
/* 新建项目弹框*/
|
||||
.table_left{ width:90px; text-align:right; color:#4c4c4c; font-weight:bold;}
|
||||
/*上传资源弹出框样式*/
|
||||
.popbox_polls{width:300px;height:100px;position:fixed !important;z-index:100;left:50%;top:50%;margin:-100px 0 0 -150px; background:#fff; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; box-shadow:0px 0px 8px #194a81; overflow:auto;}
|
||||
.upload_con h2{ display:block; background:#eaeaea; font-size:14px; color:#343333; height:31px; width: auto; margin-top:25px; padding-left:20px; padding-top:5px;}
|
||||
.upload_box{ width:430px; margin:15px auto;}
|
||||
|
||||
a:hover.link_file{ background:url(../images/pic_file.png) 0 -25px no-repeat; color:#3ca5c6;}
|
||||
.r_txt_tit{width:500px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;color:#15bccf; float:left; color:#09658c; font-size:14px;}
|
||||
|
||||
blockquote {background: #eeeeee;padding: 10px;margin-bottom: 10px;}
|
||||
.respond-form{display: none;margin: auto;clear: both;}
|
||||
|
||||
.reply_btn{ cursor:pointer; -moz-border-radius:3px; -webkit-border-radius:3px; border:1px solid #ccc; color:#999; border-radius:3px; padding:2px 10px; margin-bottom:10px;display: block;margin-left: 470px;}
|
||||
.reply_btn:hover{ background:#999; color:#fff; }
|
||||
|
||||
#attachments_fields input.description {margin-left: 4px;width: 100px;}
|
||||
#attachments_fields span.ispublic-label {display: inline-block;width: 30px;margin-left: 10px;}
|
||||
a.remove-upload {background: url(../images/delete.png) no-repeat 1px 50%;width: 1px;display: inline-block;padding-left: 16px;}
|
||||
#attachments_fields input.filename {border: 0;height: 1.8em;width: 150px;color: #555;background-color: inherit;background: url(../images/attachment.png) no-repeat 1px 50%;padding-left: 18px;padding-top: 2px;}
|
||||
span.add_attachment {font-size: 80%;line-height: 2.5em;}
|
||||
#attachments_fields span {display: block;white-space: nowrap;}
|
||||
.file_selector{position: relative;opacity: 0;filter: alpha(opacity:0);}
|
||||
#attachments_fields .ajax-waiting input.filename {background:url(../images/hourglass.png) no-repeat 0px 50%;}
|
||||
#attachments_fields .ajax-loading input.filename {background:url(../images/loading.gif) no-repeat 0px 50%;}
|
||||
.reply_btn{ cursor:pointer; -moz-border-radius:3px; -webkit-border-radius:3px; border:1px solid #ccc; color:#999; border-radius:3px; padding:2px 10px; margin-bottom:10px;display: block;margin-left: 470px;}
|
||||
.reply_btn:hover{ background:#999; color:#fff; }
|
||||
|
||||
#attachments_fields div.ui-progressbar { width: 100px; height:14px; margin: 2px 0 -5px 8px; display: inline-block; }
|
||||
.ui-widget {
|
||||
font-family: Verdana, sans-serif;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
.ui-widget-content {
|
||||
border: 1px solid #ddd;
|
||||
color: #333;
|
||||
}
|
||||
.ui-progressbar-value{margin:-1px;height:100%}
|
||||
.ui-widget-header{border:1px solid #628db6;background:#759fcf url(jquery/images/ui-bg_gloss-wave_35_759fcf_500x100.png) 50% 50% repeat-x;color:#fff;font-weight:bold}
|
||||
.ui-corner-left,.ui-corner-tl{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;-khtml-border-top-left-radius:4px;border-top-left-radius:4px}
|
||||
.link_file{ background:url(../images/pic_file.png) 0 7px no-repeat !important; padding-left:20px !important; color:#64bdd9 !important; }
|
||||
a:hover.link_file_board{ background:url(../images/pic_file.png) 0 -25px no-repeat; color:#3ca5c6;}
|
||||
a.link_file_board{ background:url(../images/pic_file.png) 0 3px no-repeat !important; padding-left:20px !important; color:#64bdd9 !important; }
|
||||
|
||||
#course_member_pagination_links{height: auto;float: left;}
|
||||
#course_member_pagination_links li{margin-bottom: 5px;}
|
||||
|
||||
/* colorbox
|
||||
*******************************************************************************/
|
||||
/*
|
||||
Colorbox Core Style:
|
||||
The following CSS is consistent between example themes and should not be altered.
|
||||
*/
|
||||
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
|
||||
#cboxWrapper {max-width:none;}
|
||||
#cboxOverlay{position:fixed; width:100%; height:100%;}
|
||||
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
|
||||
#cboxContent{position:relative;}
|
||||
#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
|
||||
#cboxTitle{margin:0;}
|
||||
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
|
||||
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
|
||||
.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
|
||||
.cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
|
||||
#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}
|
||||
|
||||
/*
|
||||
User Style:
|
||||
Change the following styles to modify the appearance of Colorbox. They are
|
||||
ordered & tabbed in a way that represents the nesting of the generated HTML.
|
||||
*/
|
||||
#cboxOverlay{background:#fff;}
|
||||
#colorbox{outline:0;}
|
||||
#cboxTopLeft{width:25px; height:25px; background:url(../images/colorbox/border1.png) no-repeat 0 0;}
|
||||
#cboxTopCenter{height:25px; background:url(../images/colorbox/border1.png) repeat-x 0 -50px;}
|
||||
#cboxTopRight{width:25px; height:25px; background:url(../images/colorbox/border1.png) no-repeat -25px 0;}
|
||||
#cboxBottomLeft{width:25px; height:25px; background:url(../images/colorbox/border1.png) no-repeat 0 -25px;}
|
||||
#cboxBottomCenter{height:25px; background:url(../images/colorbox/border1.png) repeat-x 0 -75px;}
|
||||
#cboxBottomRight{width:25px; height:25px; background:url(../images/colorbox/border1.png) no-repeat -25px -25px;}
|
||||
#cboxMiddleLeft{width:25px; background:url(../images/colorbox/border2.png) repeat-y 0 0;}
|
||||
#cboxMiddleRight{width:25px; background:url(../images/colorbox/border2.png) repeat-y -25px 0;}
|
||||
#cboxContent{background:#fff; overflow:hidden;}
|
||||
.cboxIframe{background:#fff;}
|
||||
#cboxError{padding:50px; border:1px solid #ccc;}
|
||||
#cboxLoadedContent{margin-bottom:20px;}
|
||||
#cboxTitle{position:absolute; bottom:0px; left:0; text-align:center; width:100%; color:#999;}
|
||||
#cboxCurrent{position:absolute; bottom:0px; left:100px; color:#999;}
|
||||
#cboxLoadingOverlay{background:#fff url(../images/colorbox/loading.gif) no-repeat 5px 5px;}
|
||||
|
||||
/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
|
||||
#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; }
|
||||
|
||||
/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
|
||||
#cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}
|
||||
|
||||
#cboxSlideshow{position:absolute; bottom:0px; right:42px; color:#444;}
|
||||
#cboxPrevious{position:absolute; bottom:0px; left:0; color:#444;}
|
||||
#cboxNext{position:absolute; bottom:0px; left:63px; color:#444;}
|
||||
#cboxClose{position:absolute; bottom:0; right:0; display:block; color:#444;}
|
||||
|
||||
/*
|
||||
The following fixes a problem where IE7 and IE8 replace a PNG's alpha transparency with a black fill
|
||||
when an alpha filter (opacity change) is set on the element or ancestor element. This style is not applied to or needed in IE9.
|
||||
See: http://jacklmoore.com/notes/ie-transparency-problems/
|
||||
*/
|
||||
.cboxIE #cboxTopLeft,
|
||||
.cboxIE #cboxTopCenter,
|
||||
.cboxIE #cboxTopRight,
|
||||
.cboxIE #cboxBottomLeft,
|
||||
.cboxIE #cboxBottomCenter,
|
||||
.cboxIE #cboxBottomRight,
|
||||
.cboxIE #cboxMiddleLeft,
|
||||
.cboxIE #cboxMiddleRight {
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,63 @@
|
|||
.topbar_info02{ margin:5px 10px;width:480px; }
|
||||
.topbar_info02 p{color: #7f7f7f;}
|
||||
.search{ margin-top:8px; margin-left:71px;}
|
||||
/*信息*/
|
||||
.project_info{ background:#fff; padding:10px; padding-right:0px;width:222px; padding-right:8px; margin-bottom:10px;}
|
||||
.pr_info_id{ width:137px; color:#5a5a5a; font-size:14px; margin-top:5px;}
|
||||
.pr_info_logo{ border:1px solid #eaeaea; width:60px; height:60px; padding:1px;}
|
||||
.pr_info_logo:hover{ border:1px solid #64bdd9; }
|
||||
.pr_info_join{}
|
||||
a.pr_join_a{ color:#fff; display:block; padding:0 5px 0 3px; padding-top:2px; height:20px; margin-right:5px; float:left; text-align:center; background-color:#64bdd9; float:left; }
|
||||
a:hover.pr_join_a{ background:#41a8c8;}
|
||||
.pr_join_span{color: #fff; display:block; padding:0 5px; padding-top:2px; height:20px; margin-right:5px; float:left; text-align:center; background: #CCC;}
|
||||
.pr_setting{ display:block; background:url(../images/leftside.png) -1px 0 no-repeat; width:11px; height:11px; margin-top:3px; float:left; }
|
||||
.pr_copy{ display:block; background:url(../images/leftside.png) -1px -23px no-repeat; width:11px; height:11px; margin-top:3px; float:left; }
|
||||
.pr_close{ display:block; background:url(../images/leftside.png) -1px -49px no-repeat; width:11px; height:11px; margin-top:3px; float:left; }
|
||||
.pr_add{display:block; background:url(../images/leftside.png) 0px -71px no-repeat; width:11px; height:11px; margin-top:3px; float:left; }
|
||||
.pr_arrow{display:block; background:url(../images/leftside.png) 0px -90px no-repeat; width:11px; height:11px; margin-top:3px; float:left; }
|
||||
.pr_info_name{ color:#3e4040; font-size:14px; line-height:1.5;}
|
||||
.pr_info_name:hover{ color:#3ca5c6;}
|
||||
.pr_info_score{ font-size:14px; color:#3e4040; }
|
||||
.pr_info_score a{ color:#ff7143;}
|
||||
.pr_info_score a:hover{ color:#64bdd9;}
|
||||
.img_private{ background:url(../images/new_project/img_project.png) 0 0 no-repeat; width:33px; height:16px; color:#fff; font-size:12px; padding-left:7px; }
|
||||
.info_foot_num{ color:#3ca5c6; }
|
||||
.pr_info_foot{ color:#7f7f7f; margin-top:5px; }
|
||||
.info_foot_num:hover{ color:#2390b2;}
|
||||
.info_box{background:#fff; padding:10px;width:220px; }
|
||||
.info_box ul li{ font-size:12px; color: #3e4040; line-height:1.7;}
|
||||
|
||||
/*左侧导航*/
|
||||
.subNavBox{width:240px; background:#fff;margin:10px 10px 0 0;}
|
||||
.subNav{border-bottom:solid 1px #e5e3da;cursor:pointer;font-weight:bold;font-size:14px;color:#3ca5c6; height:26px;padding-left:10px;background-color:#fff; padding-top:2px;}
|
||||
a.subNav_jiantou{background:url(../images/jiantou1.jpg) no-repeat;background-position:95% 50%; background-color:#fff;}
|
||||
a:hover.subNav_jiantou:hover{color:#0781b4; }
|
||||
.currentDd{color:#0781b4; }
|
||||
.currentDt{background-color:#fff; }
|
||||
.navContent{display: none;border-bottom:solid 1px #e5e3da; }
|
||||
.navContent li a{display:block;width:240px;heigh:28px;text-align:center;font-size:12px;line-height:28px;color:#333}
|
||||
.navContent li a:hover{color:#fff;background-color:#b3e0ee}
|
||||
a.subnav_num{ font-weight:normal; color:#ff7143; font-size:12px;}
|
||||
a.subnav_green{ background:#28be6c; color:#fff; font-size:12px; font-weight:normal;height:18px; padding:0px 5px; padding-top:2px; display:block; margin-top:2px; margin-bottom:5px; float:right; margin-right:5px;}
|
||||
a:hover.subnav_green{ background:#14ad5a;}
|
||||
|
||||
|
||||
/*简介*/
|
||||
.project_intro{ width:220px; padding:10px; background:#fff; margin-top:10px; padding-top:5px; color:#6d6d6d; line-height:1.9;}
|
||||
.course_description{max-height: 112px;overflow:hidden; word-break: break-all;word-wrap: break-word;}
|
||||
.course_description_none{max-height: none;}
|
||||
.lg-foot{ border:1px solid #e8eef2; color: #929598; text-align:center; width:220px; height:23px; cursor:pointer;}
|
||||
.lg-foot:hover{ color:#787b7e; border:1px solid #d4d4d4;}
|
||||
/****标签(和资源库的tag样式一致)***/
|
||||
.project_Label{ width:220px; padding:10px; background:#fff; margin-top:10px; padding-top:5px; margin-bottom:10px;}
|
||||
a.yellowBtn{ display:inline-block;color:#0d90c3; height:22px;}
|
||||
.submit{height:21px;border:0; cursor:pointer; background:url(../images/btn.png) no-repeat 0 0;width:42px; margin-top:2px; margin-left:3px; }
|
||||
.isTxt{background:#fbfbfb url(../images/inputBg.png) repeat-x left top;height:22px;line-height:22px;border:1px solid #c1c1c1;padding:0 5px;color:#666666;}
|
||||
.re_tag{ width: auto; padding:0 5px; padding-top:2px; height:20px; border:1px solid #f8df8c; background:#fffce6; margin-right:5px; }
|
||||
.re_tag a{ color:#0d90c3;}
|
||||
.tag_h{ }
|
||||
.tag_h span,.tag_h a{ margin-bottom:5px;}
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,72 +1,17 @@
|
|||
@charset "utf-8";
|
||||
/* CSS Document */
|
||||
body{ font-size:12px; font-family:"微软雅黑","宋体"; line-height:1.9; background:#eaebec; font-style:normal;}
|
||||
div,html,img,ul,li,p,body,h1,h2,h3,h4,p,a,table,tr,td,fieldset,input,span,ol{ margin:0; padding:0;}
|
||||
div,img,tr,td,table{ border:0;}
|
||||
table,tr,td{border:0;cellspacing:0; cellpadding:0;}
|
||||
ol,ul,li{ list-style-type:none}
|
||||
.cl{ clear:both; overflow:hidden; }
|
||||
a{ text-decoration:none; cursor:pointer;}
|
||||
.ml10{ margin-left:10px;}
|
||||
.ml20{ margin-left:20px;}
|
||||
.mr10{ margin-right:10px;}
|
||||
.mb5{ margin-bottom:5px;}
|
||||
.mb10{ margin-bottom:10px;}
|
||||
.fl{ float: left;}
|
||||
.fr{ float:right;}
|
||||
|
||||
.project_h4{ font-size:14px; color:#3b3b3b;}
|
||||
|
||||
|
||||
.project_content{ width:940px; margin:10px auto;}
|
||||
.project_left{ float:left;}
|
||||
.project_right{ width:670px; float:left;background:#fff; padding:10px;}
|
||||
/*项目信息*/
|
||||
.project_info{ background:#fff; padding:10px;width:222px; padding-right:8px;}
|
||||
.pr_info_id{ width:137px; color:#5a5a5a; font-size:14px;}
|
||||
.pr_info_join{}
|
||||
.pr_info_join a{ color:#fff; display:block; padding:0 5px; margin-right:10px; float:left; height:22px; background:#64bdd9; text-align:center; }
|
||||
.pr_info_join a:hover{ background:#41a8c8;}
|
||||
a.pr_info_name{ color:#3e4040; font-size:14px; line-height:1.5;}
|
||||
a:hover.pr_info_name{ color:#3ca5c6;}
|
||||
.pr_info_score{ font-size:14px; color:#3e4040; }
|
||||
.pr_info_score a{ color:#ff7143;}
|
||||
.pr_info_score a:hover{ color:#64bdd9;}
|
||||
.img_private{ background:url(../images/img_project.png) 0 0 no-repeat; width:32px; height:16px; color:#fff; font-size:12px; padding-left:7px; }
|
||||
a.info_foot_num{ font-weight: bold; color:#3ca5c6; }
|
||||
.pr_info_foot{ color:#7f7f7f; margin-top:5px; }
|
||||
a:hover.info_foot_num{ color:#2390b2;}
|
||||
|
||||
/*左侧导航*/
|
||||
.subNavBox{width:240px; background:#fff;margin:10px 10px 0 0;}
|
||||
.subNav{border-bottom:solid 1px #e5e3da;cursor:pointer;font-weight:bold;font-size:14px;color:#3ca5c6;line-height:28px;padding-left:10px;background-color:#fff;}
|
||||
.subNav_jiantou{background:url(../images/jiantou1.jpg) no-repeat;background-position:95% 50%; background-color:#fff;}
|
||||
.subNav_jiantou:hover{color:#0781b4; }
|
||||
.currentDd{color:#0781b4; }
|
||||
.currentDt{background-color:#fff; }
|
||||
.navContent{display: none;border-bottom:solid 1px #e5e3da; }
|
||||
.navContent li a{display:block;width:240px;heigh:28px;text-align:center;font-size:12px;line-height:28px;color:#333}
|
||||
.navContent li a:hover{color:#fff;background-color:#b3e0ee}
|
||||
.subnav_num{ font-weight:normal; color:#ff7143; font-size:12px;}
|
||||
a.subnav_green{ background:#28be6c; color:#fff; font-size:12px; font-weight:normal;height:20px; padding:0px 5px; text-align:center; margin-top:5px; margin-left:82px;}
|
||||
a.ml95{ margin-left:97px;}
|
||||
a.ml105{ margin-left:120px;}
|
||||
a:hover.subnav_green{ background:#14ad5a;}
|
||||
|
||||
/*简介*/
|
||||
.project_intro{ width:220px; padding:10px; background:#fff; margin-top:10px; padding-top:5px; color:#6d6d6d;}
|
||||
.lg-foot{ border:1px solid #e8eef2; color: #929598; text-align:center; width:220px; height:23px; cursor:pointer;}
|
||||
.lg-foot:hover{ color:#787b7e;}
|
||||
/****标签(和资源库的tag样式一致)***/
|
||||
.project_Label{ width:220px; padding:10px; background:#fff; margin-top:10px; padding-top:5px;}
|
||||
a.yellowBtn{ display:inline-block;color:#0d90c3; height:22px;}
|
||||
.submit{height:21px;border:0; cursor:pointer; background:url(../images/btn.png) no-repeat 0 0;width:42px; margin-top:2px; margin-left:3px; }
|
||||
.isTxt{background:#fbfbfb url(../images/inputBg.png) repeat-x left top;height:22px;line-height:22px;border:1px solid #c1c1c1;padding:0 5px;color:#666666;}
|
||||
.re_tag{ width: auto; padding:0 5px; height:22px; border:1px solid #f8df8c; background:#fffce6; margin-right:5px; }
|
||||
.re_tag a{ color:#0d90c3;}
|
||||
.tag_h span,.tag_h a{ margin-bottom:5px;}
|
||||
a.lg-foot{ border:1px solid #e8eef2; color: #929598; text-align:center; width:220px; height:23px; cursor:pointer;}
|
||||
a:hover.lg-foot{ color:#787b7e;}
|
||||
|
||||
/*右侧内容--动态*/
|
||||
.project_r_h{ width:670px; height:40px; background:#eaeaea;}
|
||||
.project_h2{ background:#64bdd9; color:#fff; height:37px; width:90px; text-align:center; font-weight:normal; padding-top:3px; font-size:16px;}
|
||||
.project_r_h{ width:670px; height:40px; background:#eaeaea; margin-bottom:10px;}
|
||||
.project_h2{ background:#64bdd9; color:#fff; height:33px; width:90px; text-align:center; font-weight:normal; padding-top:7px; font-size:16px;}
|
||||
.project_r_box{ border:1px solid #e2e1e1; width:670px; margin-top:10px;}
|
||||
.project_h3 { color:#646464; font-size:14px; padding:0 10px; border-bottom:1px solid #e2e1e1;}
|
||||
a.more{ float:right; font-size:12px; font-weight:normal; color:#a9a9a9; margin-top:3px;}
|
||||
|
@ -77,78 +22,95 @@ a:hover.more{ color:#64bdd9;}
|
|||
.img_talk{ background:url(../images/img_project.png) 0 -62px no-repeat;}
|
||||
.img_ziyuan{ background:url(../images/img_project.png) 0 -115px no-repeat;}
|
||||
.img_edition{ background:url(../images/img_project.png) 0 -167px no-repeat;}
|
||||
.project_name{ color:#058c42;}
|
||||
.project_name:hover{ color:#016f33;}
|
||||
.project_txt{ color:#0781b4; width:445px; display:block; float:left; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;}
|
||||
.project_txt02{ color:#0781b4; width:618px; display:block; float:left; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;}
|
||||
.project_txt:hover{ color:#066e9a;}
|
||||
a.project_name{ color:#058c42;}
|
||||
a:hover.project_name{ color:#016f33;}
|
||||
a.project_txt{ color:#0781b4; width:445px; display:block; float:left; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;}
|
||||
a.project_txt02{ color:#0781b4; width:618px; display:block; float:left; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;}
|
||||
a:hover.project_txt{ color:#066e9a;}
|
||||
.noline{ border-bottom:none;}
|
||||
|
||||
/*弹框*/
|
||||
.floatbox{ width:420px; border:3px solid #15bccf; background:#fff; padding:5px;}
|
||||
.box_close{ display:block; float:right; width:16px; height:16px; background:url(../images/img_floatbox.png) 0 0 no-repeat;}
|
||||
.box_close:hover{background:url(../images/img_floatbox.png) -22px 0 no-repeat;}
|
||||
a.box_close{ display:block; float:right; width:16px; height:16px; background:url(../images/img_floatbox.png) 0 0 no-repeat;}
|
||||
a:hover.box_close{background:url(../images/img_floatbox.png) -22px 0 no-repeat;}
|
||||
/*邮件邀请*/
|
||||
.box_main{ width:345px; margin:0 auto;}
|
||||
.box_main02{ width:390px; margin:15px auto;}
|
||||
.box_h3{ color:#15bccf; text-align:center; font-size:16px;}
|
||||
.box_p{ color:#404040; margin-bottom:5px;}
|
||||
.fb_item{ color:#919191; border:1px solid #919191; height:28px; margin-bottom:10px; padding-left:5px; width:290px;}
|
||||
.icon_addm{ background:url(../images/img_floatbox.png) 0 -33px no-repeat; width:16px; height:16px; display:block; margin:5px 0 0 5px;}
|
||||
.icon_addm:hover{background:url(../images/img_floatbox.png) 0 -61px no-repeat; }
|
||||
.icon_removem{ background:url(../images/img_floatbox.png) -22px -33px no-repeat;width:16px; height:16px; display:block; margin:5px 0 0 5px}
|
||||
.icon_removem:hover{background:url(../images/img_floatbox.png) -22px -61px no-repeat;}
|
||||
.btn_free{ background:#ff5722; display:block; width:80px; text-align:center; color:#fff; height:26px; padding-top:3px; margin-bottom:10px;}
|
||||
.btn_free:hover{ background:#d63502;}
|
||||
a.icon_addm{ background:url(../images/img_floatbox.png) 0 -33px no-repeat; width:16px; height:16px; display:block; margin:5px 0 0 5px;}
|
||||
a:hover.icon_addm{background:url(../images/img_floatbox.png) 0 -61px no-repeat; }
|
||||
a.icon_removem{ background:url(../images/img_floatbox.png) -22px -33px no-repeat;width:16px; height:16px; display:block; margin:5px 0 0 5px}
|
||||
a:hover.icon_removem{background:url(../images/img_floatbox.png) -22px -61px no-repeat;}
|
||||
a.btn_free{ background:#ff5722; display:block; text-align:center; color:#fff; padding:3px 0; width:80px; margin-bottom:10px;}
|
||||
a:hover.btn_free{ background:#d63502;}
|
||||
/*成员邀请*/
|
||||
.invi_search{ width:230px; margin:0 auto;}
|
||||
.invi_search{ margin-left:50px;}
|
||||
.invi_search_input{ border:1px solid #15bccf; width:180px; height:24px; color:#9b9b9b; padding-left:5px; margin-bottom:10px;}
|
||||
.invi_search_btn{ background:#15bccf; color:#fff; text-align: center; width:40px; height:22px;border:1px solid #15bccf; padding-top:2px; cursor:pointer;}
|
||||
.invi_search_btn:hover{ background:#0da1b2; border:1px solid #0da1b2;}
|
||||
a.invi_search_btn{ background:#15bccf; color:#fff; text-align: center; width:40px; height:22px;border:1px solid #15bccf; padding-top:2px; cursor:pointer;}
|
||||
a:hover.invi_search_btn{ background:#0da1b2; border:1px solid #0da1b2;}
|
||||
.rolebox{ margin:10px 0;}
|
||||
/*问题跟踪*/
|
||||
.problem_top{ margin:10px 0 ;}
|
||||
.problem_search_input{ border:1px solid #64bdd9; width:180px; height:24px; color:#9b9b9b; padding-left:5px; margin-bottom:10px;}
|
||||
.problem_search_btn{ background:#64bdd9; color:#fff; text-align: center; width:40px; height:22px;border:1px solid #64bdd9; padding-top:2px; cursor:pointer;}
|
||||
.problem_search_btn:hover{ background:#3da1c1; border:1px solid #3da1c1;}
|
||||
.problem_new_btn{ margin-left:10px; border:1px solid #ff7143; color:#ff7143; width:60px; height:22px; font-size:12px; text-align:center; padding-top:2px;}
|
||||
.problem_new_btn:hover{ background:#ff7143; color:#fff;}
|
||||
a.problem_search_btn{ background:#64bdd9; color:#fff; text-align: center; width:40px; height:22px;border:1px solid #64bdd9; padding-top:2px; cursor:pointer;}
|
||||
a:hover.problem_search_btn{ background:#3da1c1; border:1px solid #3da1c1;}
|
||||
a.problem_new_btn{ margin-left:10px; border:1px solid #ff7143; color:#ff7143; padding:1px 3px; font-size:12px; text-align:center; padding-top:2px;}
|
||||
a:hover.problem_new_btn{ background:#ff7143; color:#fff;}
|
||||
.problem_p{ color:#535252; margin-top:5px;}
|
||||
.problem_p span{ color:#ff3e00;}
|
||||
.problem_pic{ display:block; width:42px; height:42px; padding:3px; border:1px solid #e3e3e3; margin-top:5px;}
|
||||
.problem_pic:hover{border:1px solid #64bdd9;}
|
||||
a.problem_pic{ display:block; width:42px; height:42px; padding:3px; border:1px solid #e3e3e3; margin-top:5px;}
|
||||
a:hover.problem_pic{border:1px solid #64bdd9;}
|
||||
.problem_txt{ width:610px; margin-left:10px; color:#777777;}
|
||||
.problem_name{ color:#ff5722;}
|
||||
.problem_name:hover{ color:#d33503;}
|
||||
.problem_tit{ color:#0781b4; width:430px; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;}
|
||||
.problem_tit:hover{ color:#09658c; }
|
||||
a.problem_name{ color:#ff5722;}
|
||||
a:hover.problem_name{ color:#d33503;}
|
||||
a.problem_tit{ color:#0781b4; width:430px; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;}
|
||||
a:hover.problem_tit{ color:#09658c; }
|
||||
.problem_main{ border-bottom:1px dashed #d4d4d4; padding-bottom:10px; margin-bottom:10px;}
|
||||
/****翻页***/
|
||||
.wlist{}
|
||||
.wlist a{ float:right; border:1px solid #64bdd9; padding:0 5px; margin-left:3px; color:#64bdd9;}
|
||||
.wlist a:hover{border:1px solid #64bdd9; background-color:#64bdd9; color:#fff; text-decoration:none;}
|
||||
.wlist_select a { background-color:#48aac9; color:#fff;}
|
||||
ul.wlist{ float:right; border-bottom:none; height:30px; margin-top:20px; }
|
||||
ul.wlist li{float: left;}
|
||||
ul.wlist li a{ border:1px solid #15bccf; padding: 1px 4px 1px 4px; margin-left:3px;}
|
||||
ul.wlist li a:hover{ background:#15bccf; color:#fff; text-decoration:none;}
|
||||
/*.wlist_select { background-color:#64bdd9; color:#fff; padding: 1px 5px 0px 5px; margin-left:3px;margin-top: -2px; border:1px solid #64bdd9;}*/
|
||||
.wlist_select a{background-color: #64bdd9;cursor: default;}
|
||||
/****讨论区***/
|
||||
.talk_top{ margin:10px 0; font-size:14px; color:#4c4c4c;}
|
||||
.talk_top span{ color:#ff7143;}
|
||||
.talk_txt{ width:460px; margin-left:10px; color:#676868;}
|
||||
.talk_up{ color:#f63c00;}
|
||||
.talk_pic{width:32px; height:32px; padding:2px;}
|
||||
.talk_btn{ background:#64bdd9; width:50px; height:22px; color:#fff; text-align:center; margin-top:12px; padding-top:2px;}
|
||||
.talk_btn:hover{ background:#2a9dc1;}
|
||||
a.talk_pic{ display:block; width:32px; height:32px; padding:3px; border:1px solid #e3e3e3;}
|
||||
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;}
|
||||
.talk_info{ color:#7d7d7d; margin-left:50px; margin-top:10px;}
|
||||
.talk_edit{ color:#426e9a; margin-right:5px;}
|
||||
.talk_edit:hover{ color:#ff5722;}
|
||||
.talk_info{ color:#7d7d7d; margin-left:60px; margin-top:10px;}
|
||||
a.talk_edit{ color:#426e9a; margin-right:5px;}
|
||||
a:hover.talk_edit{ color:#ff5722;}
|
||||
.talk_reply { background:#eeeeee; padding:10px; margin-bottom:10px;}
|
||||
.talk_text{ border:1px solid #64bdd9; width:600px; color:#7d7d7d; padding:5px; margin:10px 0 10px 50px;}
|
||||
.talkpage_text{ border:1px solid #64bdd9; width:600px; color:#7d7d7d; padding:5px; margin:10px 0 10px 50px; background:#fff;}
|
||||
/*.ping_dispic a{ display:block; height:46px; width:46px; border:1px solid #CCC; padding:1px; float:left;}*/
|
||||
/*.ping_dispic a:hover{border:1px solid #15bccf;}*/
|
||||
/****新建讨论***/
|
||||
.talk_new{ color:#4c4c4c;}
|
||||
.talk_input{ border:1px solid #64bdd9; height:16px; width:585px; background:#fff; margin-bottom:10px; padding:5px;}
|
||||
.talk_text{ border:1px solid #64bdd9; height:100px;width:585px; background:#fff; margin-left:5px; padding:5px; margin-bottom:10px;}
|
||||
.talk_new ul li{ }
|
||||
.sb{width:70px; height:26px; color:#606060; cursor:pointer;}
|
||||
a.blue_btn{ background:#64bdd9; display:block; font-size:14px;color:#fff; font-weight:normal; text-align:center; margin-left:10px; margin-bottom:10px; padding:2px 10px;}
|
||||
a:hover.blue_btn{ background:#329cbd;}
|
||||
a.grey_btn{ background:#d9d9d9; color:#656565;font-size:14px; font-weight:normal; text-align:center; margin-left:10px; margin-bottom:10px; padding:2px 10px;}
|
||||
a:hover.grey_btn{ background:#717171; color:#fff;}
|
||||
/****资源库***/
|
||||
.f_l{ float:left;}
|
||||
.f_r{ float:right;}
|
||||
.resource a{ text-align:center;}
|
||||
.b_lblue{ background:#64bdd9;}
|
||||
.b_dblue{ background:#55a1b9; cursor:pointer;}
|
||||
.f_b{ font-weight: bold;}
|
||||
.c_blue{ color:#64bdd9;}
|
||||
a.c_dblue{ color: #3ca5c6;}
|
||||
a:hover.c_dblue{ color: #0781b4;}
|
||||
.c_grey{ color:#999999;}
|
||||
.c_grey02{ color:#666666;}
|
||||
.f_14{ font-size:14px;}
|
||||
|
@ -166,17 +128,118 @@ a:hover.re_fabu{background:#55a1b9;}
|
|||
.re_con{ margin:5px; width:665px;}
|
||||
.re_con_top{color:#494949; }
|
||||
.re_con_top span{ color:#999999; font-weight:bold;}
|
||||
a.re_select{ display:block; width:88px; height:22px; border:1px solid #ff9900; color:#ff9900; margin-left:10px;}
|
||||
a.re_select{ display:block; padding:2px 10px; border:1px solid #ff9900; color:#ff9900; margin-left:10px;}
|
||||
a:hover.re_select{ background:#ff9900; color:#fff; text-decoration:none;}
|
||||
.re_open{display:block; width:46px; height:22px; border:1px solid #64bdd9; color:#64bdd9; margin-left:10px;}
|
||||
a.re_open{display:block; padding:2px 10px; border:1px solid #64bdd9; color:#64bdd9; margin-left:10px;}
|
||||
a:hover.re_open{ background:#64bdd9; color:#fff; text-decoration:none;}
|
||||
a.re_de{ color:#6883b6; margin-left:15px;}
|
||||
.re_con_box{ border-bottom:1px dashed #dadada; padding-bottom:10px; margin-bottom:10px;}
|
||||
/****资源库***/
|
||||
.setting{ background:url(../images/setting.jpg) 0 0 no-repeat; width:670px; height:443px;}
|
||||
|
||||
.upload_con { }
|
||||
.upload_con h2{ display:block; background:#eaeaea; font-size:14px; color:#343333; height:31px; width: auto; margin-top:25px; padding-left:20px; padding-top:5px;}
|
||||
.upload_box{ width:430px; height:80px;}
|
||||
a.upload_btn02{ display:block; float:left; margin-top:15px; width:80px; height:30px; text-align: center; color:#fff; font-size:14px; background:#15bccf; margin-right:15px;}
|
||||
a:hover.upload_btn02{ background:#55a1b9;}
|
||||
a.upload_btn_grey{background:#a3a3a3;}
|
||||
a:hover.upload_btn_grey{background:#8a8a8a;}
|
||||
.upload_btn{width:80px; height:26px;}
|
||||
.upload_check{ margin-top:4px;}
|
||||
|
||||
a.link_file{ background:url(../images/courses/pic_file.png) 0 2px no-repeat; padding-left:20px; color:#64bdd9; }
|
||||
a:hover.link_file{ background:url(../images/courses/pic_file.png) 0 -25px no-repeat; color:#3ca5c6;}
|
||||
.r_txt_tit{width:510px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;color:#15bccf; float:left; color:#09658c; font-size:14px;}
|
||||
/* 新建问题 */
|
||||
.newpro_box{ color:#6d6d6d;}
|
||||
.newpro_box02{ color:#6d6d6d; margin-left:30px; margin-bottom:10px; }
|
||||
.newpro_box ul li{ }
|
||||
.newpro_box input{ height:26px; float:left; margin-bottom:10px;}
|
||||
.newpro_box textarea{ height:150px; float:left; margin-bottom:10px;}
|
||||
.newpro_box select{ height:26px; float:left; margin-bottom:10px;}
|
||||
.label{ width:80px; text-align:right; font-size:14px; display:block; float:left;}
|
||||
.label02{ width:110px; text-align:right; font-size:14px; display:block; float:left;}
|
||||
.collapsible{ border-left:none;border-right:none;border-bottom:none; border-top:1px solid #e4e4e4; padding-left:30px; padding-top:10px; }
|
||||
|
||||
/* 弹框 新样式还没设计出来,暂时用的课程那边的样式 */
|
||||
.alert .close{width:26px;height:26px;overflow:hidden;position:absolute;top:-10px;right:-502px;background:url(images/close.png) no-repeat;cursor:pointer;}
|
||||
.alert .C{width:476px;height:296px;position:absolute;left:5px;top:5px; }
|
||||
.ping_con{ margin:5px; border-bottom:1px dashed #CCC; padding-bottom:5px;}
|
||||
.ping_con ul{ height:30px;}
|
||||
.ping_con ul li{ float:left; color:#656767; font-weight:bold;}
|
||||
.ping_con h2{ font-size:14px; color:#444443; margin-bottom:10px; float:left;}
|
||||
.ping_con p{ color:#777777; font-size:12px; border-bottom:1px dashed #CCC; padding-bottom:5px;}
|
||||
.ping_con p span a{ color:#777777;}
|
||||
.ping_star{ width:160px; color:#333; font-weight:bold; margin-bottom:5px;}
|
||||
.ping_star span a{ float:right; width:20px; height:20px; background:url(images/star.png) -2px 0 no-repeat; margin-right:3px;}
|
||||
.ping_star span a:hover{background:url(images/star.png) -24px 0 no-repeat;}
|
||||
.ping_con textarea{ width:455px; height:76px; border:1px solid #15bccf; margin-bottom:5px; color:#666; font-size:12px;}
|
||||
a.ping_sub{ float:right; height:22px; width:60px; background:#15bccf; color:#fff; text-align:center;}
|
||||
a:hover.ping_sub{ background:#14a8b9;}
|
||||
.recall{ border-top:1px solid #CCC; padding:5px 0;}
|
||||
.recall_head{ float:left;}
|
||||
.recall_head a{ display:block; width:30px; height:30px; border:1px solid #CCC; padding:1px;}
|
||||
.recall_head a:hover{border:1px solid #15bccf;}
|
||||
.recall_con{ float:left;color:#777777; width:520px; margin-left:10px;word-break: break-all;word-wrap: break-word; }
|
||||
.recall_con a{ color:#15bccf; }
|
||||
.ping_list{ margin-top:15px;}
|
||||
.ping_ttl{height:18px;}
|
||||
.ping_ctt{height:auto;padding:6px;clear:both;}
|
||||
.ping_tb_{ border-bottom:3px solid #e4e4e4; text-align:center;}
|
||||
.ping_tb_ ul{height:24px;}
|
||||
.ping_tb_ li{float:left;height: 24px;width: auto; padding:0 10px;cursor:pointer;}
|
||||
.ping_normaltab { color:#15bccf ; border-bottom:3px solid #e4e4e4;}
|
||||
.ping_hovertab { color:#656767; font-weight:bold; border-bottom:3px solid #15bccf; }
|
||||
.ping_dis{display:block; }
|
||||
.ping_undis{display:none;}
|
||||
.ping_C{border-bottom:1px dashed #CCC; padding:10px 0 0px;}
|
||||
.ping_dispic a{ display:block; height:46px; width:46px; border:1px solid #CCC; padding:1px; float:left;}
|
||||
.ping_dispic a:hover{border:1px solid #15bccf;}
|
||||
.ping_discon{ float:left; width:610px; margin-left:10px; }
|
||||
/*.ping_distop span{ float:left;}*/
|
||||
.ping_distop p{ color:#5f5f5f;word-break: break-all;word-wrap: break-word;}
|
||||
.ping_disfoot a{ float:right; color: #6883b6; margin-left:5px; margin-bottom:5px;}
|
||||
/*.ping_distop span a{ float:right; width:20px; height:20px; background:url(images/star.png) -24px 0 no-repeat; margin-right:3px;}*/
|
||||
|
||||
/*上传资源弹出框样式*/
|
||||
.popbox_polls{width:300px;height:100px;position:fixed !important;z-index:100;left:50%;top:50%;margin:-100px 0 0 -150px; background:#fff; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; box-shadow:0px 0px 8px #194a81; overflow:auto;}
|
||||
.upload_con h2{ display:block; background:#eaeaea; font-size:14px; color:#343333; height:31px; width: auto; margin-top:25px; padding-left:20px; padding-top:5px;}
|
||||
.upload_box{ width:430px; margin:15px auto;}
|
||||
|
||||
a:hover.link_file{ background:url(../images/pic_file.png) 0 -25px no-repeat; color:#3ca5c6;}
|
||||
.r_txt_tit{width:500px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;color:#15bccf; float:left; color:#09658c; font-size:14px;}
|
||||
|
||||
blockquote {background: #eeeeee;padding: 10px;margin-bottom: 10px;}
|
||||
.respond-form{display: none;margin: auto;clear: both;}
|
||||
|
||||
.reply_btn{ cursor:pointer; -moz-border-radius:3px; -webkit-border-radius:3px; border:1px solid #ccc; color:#999; border-radius:3px; padding:2px 10px; margin-bottom:10px;display: block;margin-left: 470px;}
|
||||
.reply_btn:hover{ background:#999; color:#fff; }
|
||||
|
||||
#attachments_fields input.description {margin-left: 4px;width: 100px;}
|
||||
#attachments_fields span.ispublic-label {display: inline-block;width: 30px;margin-left: 10px;}
|
||||
a.remove-upload {background: url(../images/delete.png) no-repeat 1px 50%;width: 1px;display: inline-block;padding-left: 16px;}
|
||||
#attachments_fields input.filename {border: 0;height: 1.8em;width: 150px;color: #555;background-color: inherit;background: url(../images/attachment.png) no-repeat 1px 50%;padding-left: 18px;padding-top: 2px;}
|
||||
span.add_attachment {font-size: 80%;line-height: 2.5em;}
|
||||
#attachments_fields span {display: block;white-space: nowrap;}
|
||||
.file_selector{position: relative;opacity: 0;filter: alpha(opacity:0);}
|
||||
#attachments_fields .ajax-waiting input.filename {background:url(../images/hourglass.png) no-repeat 0px 50%;}
|
||||
#attachments_fields .ajax-loading input.filename {background:url(../images/loading.gif) no-repeat 0px 50%;}
|
||||
.reply_btn{ cursor:pointer; -moz-border-radius:3px; -webkit-border-radius:3px; border:1px solid #ccc; color:#999; border-radius:3px; padding:2px 10px; margin-bottom:10px;display: block;margin-left: 470px;}
|
||||
.reply_btn:hover{ background:#999; color:#fff; }
|
||||
|
||||
#attachments_fields div.ui-progressbar { width: 100px; height:14px; margin: 2px 0 -5px 8px; display: inline-block; }
|
||||
.ui-widget {
|
||||
font-family: Verdana, sans-serif;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
.ui-widget-content {
|
||||
border: 1px solid #ddd;
|
||||
color: #333;
|
||||
}
|
||||
.ui-progressbar-value{margin:-1px;height:100%}
|
||||
.ui-widget-header{border:1px solid #628db6;background:#759fcf url(jquery/images/ui-bg_gloss-wave_35_759fcf_500x100.png) 50% 50% repeat-x;color:#fff;font-weight:bold}
|
||||
.ui-corner-left,.ui-corner-tl{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;-khtml-border-top-left-radius:4px;border-top-left-radius:4px}
|
||||
.link_file{ background:url(../images/pic_file.png) 0 7px no-repeat !important; padding-left:20px !important; color:#64bdd9 !important; }
|
||||
a:hover.link_file_board{ background:url(../images/pic_file.png) 0 -25px no-repeat; color:#3ca5c6;}
|
||||
a.link_file_board{ background:url(../images/pic_file.png) 0 3px no-repeat !important; padding-left:20px !important; color:#64bdd9 !important; }
|
||||
|
||||
#course_member_pagination_links{height: auto;float: left;}
|
||||
#course_member_pagination_links li{margin-bottom: 5px;}
|
||||
|
|