Merge branch 'dev_newproject' of https://git.trustie.net/jacknudt/trustieforge into dev_newproject
This commit is contained in:
commit
624cba3228
|
@ -563,6 +563,7 @@ class IssuesController < ApplicationController
|
|||
# 值所以用delete是因为issue和journal在act_as_attachment中是同一个类型
|
||||
# 非动态页面直接刷新,动态页面手动刷新
|
||||
def delete_journal
|
||||
@is_project = params[:is_project]
|
||||
@issue = Issue.find(params[:id])
|
||||
begin
|
||||
forge_acts = ForgeMessage.where(:forge_message_type => "Journal", :forge_message_id => params[:journal_id])
|
||||
|
@ -583,6 +584,156 @@ class IssuesController < ApplicationController
|
|||
end
|
||||
end
|
||||
|
||||
def statistics
|
||||
@project = Project.find(params[:id])
|
||||
if @project.nil?
|
||||
render_404
|
||||
end
|
||||
retrieve_query
|
||||
sort_init(@query.sort_criteria.empty? ? [['id', 'desc']] : @query.sort_criteria)
|
||||
sort_update(@query.sortable_columns)
|
||||
@query.sort_criteria = sort_criteria.to_a
|
||||
@project_base_tag = 'base_projects'
|
||||
if @query.valid?
|
||||
@tracker_id = params[:tracker_id]
|
||||
@assign_to_id = params[:assigned_to_id]
|
||||
@author_id = params[:author_id]
|
||||
@priority_id = params[:priority_id]
|
||||
@status_id = params[:status_id]
|
||||
@subject = params[:subject]
|
||||
@done_ratio = params[:done_ratio]
|
||||
@fixed_version_id = params[:fixed_version_id]
|
||||
@issue_count = @query.issue_count
|
||||
@test = params[:test]
|
||||
@project_sort = 'issues.updated_on desc'
|
||||
if params[:test] != "0"
|
||||
case @test
|
||||
when "1"
|
||||
@project_sort = 'issues.created_on desc'
|
||||
when "2"
|
||||
@project_sort = 'issues.created_on asc'
|
||||
when "3"
|
||||
@project_sort = 'issues.updated_on desc'
|
||||
when "4"
|
||||
@project_sort = 'issues.updated_on asc'
|
||||
end
|
||||
end
|
||||
|
||||
@issues_filter = @query.issues(:order => @project_sort)
|
||||
|
||||
#统计
|
||||
@results = {}
|
||||
|
||||
#统计total
|
||||
@alltotal = {}
|
||||
for i in 0..5 do
|
||||
@alltotal[i] = 0
|
||||
end
|
||||
|
||||
@opentotal = {}
|
||||
for i in 0..5 do
|
||||
@opentotal[i] = 0
|
||||
end
|
||||
|
||||
@closetotal = {}
|
||||
for i in 0..5 do
|
||||
@closetotal[i] = 0
|
||||
end
|
||||
|
||||
#开启关闭
|
||||
@issue_open_count = 0
|
||||
@issue_close_count = 0
|
||||
|
||||
@issues_filter.each do |issue|
|
||||
@alltotal[0] = @alltotal[0] + 1
|
||||
@alltotal[issue.tracker_id.to_i] = @alltotal[issue.tracker_id.to_i] + 1
|
||||
user_id = issue.assigned_to_id
|
||||
if issue.assigned_to_id.nil?
|
||||
user_id = issue.author_id
|
||||
end
|
||||
|
||||
if !@results[user_id].nil?
|
||||
@results[user_id][0] = @results[user_id][0] + 1
|
||||
@results[user_id][issue.tracker_id.to_i] = @results[user_id][issue.tracker_id.to_i] + 1
|
||||
|
||||
if issue.status_id.to_i == 5
|
||||
@issue_close_count = @issue_close_count + 1
|
||||
@results[user_id][12] = @results[user_id][12]+1
|
||||
@results[user_id][12+issue.tracker_id.to_i] = @results[user_id][12+issue.tracker_id.to_i]+1
|
||||
|
||||
@closetotal[0] = @closetotal[0] + 1
|
||||
@closetotal[issue.tracker_id.to_i] = @closetotal[issue.tracker_id.to_i] + 1
|
||||
else
|
||||
@issue_open_count = @issue_open_count + 1
|
||||
@results[user_id][6] = @results[user_id][6]+1
|
||||
@results[user_id][6+issue.tracker_id.to_i] = @results[user_id][6+issue.tracker_id.to_i]+1
|
||||
|
||||
@opentotal[0] = @opentotal[0] + 1
|
||||
@opentotal[issue.tracker_id.to_i] = @opentotal[issue.tracker_id.to_i] + 1
|
||||
end
|
||||
else
|
||||
|
||||
@results[user_id] = {}
|
||||
|
||||
tmpuser = User.find(user_id)
|
||||
|
||||
@results[user_id][:name] = tmpuser.nil? ? " " : tmpuser.show_name
|
||||
#所有的
|
||||
@results[user_id][0] = 1
|
||||
for i in 1..17 do
|
||||
@results[user_id][i] = 0
|
||||
end
|
||||
# @results[user_id][1] = 0
|
||||
# @results[user_id][2] = 0
|
||||
# @results[user_id][3] = 0
|
||||
# @results[user_id][4] = 0
|
||||
# @results[user_id][5] = 0
|
||||
@results[user_id][issue.tracker_id.to_i] = 1
|
||||
|
||||
#开启的 status_id = 12346
|
||||
# @results[user_id][6] = 0
|
||||
# @results[user_id][7] = 0
|
||||
# @results[user_id][8] = 0
|
||||
# @results[user_id][9] = 0
|
||||
# @results[user_id][10] = 0
|
||||
# @results[user_id][11] = 0
|
||||
|
||||
#关闭的 status_id = 5
|
||||
# @results[user_id][12] = 0
|
||||
# @results[user_id][13] = 0
|
||||
# @results[user_id][14] = 0
|
||||
# @results[user_id][15] = 0
|
||||
# @results[user_id][16] = 0
|
||||
# @results[user_id][17] = 0
|
||||
|
||||
if issue.status_id.to_i == 5
|
||||
@results[user_id][12] = 1
|
||||
@results[user_id][12+issue.tracker_id.to_i] = 1
|
||||
@issue_close_count = @issue_close_count+1
|
||||
|
||||
@closetotal[0] = @closetotal[0] + 1
|
||||
@closetotal[issue.tracker_id.to_i] = @closetotal[issue.tracker_id.to_i] + 1
|
||||
else
|
||||
@issue_open_count = @issue_open_count+1
|
||||
@results[user_id][6] = 1
|
||||
@results[user_id][6+issue.tracker_id.to_i] = 1
|
||||
|
||||
@opentotal[0] = @opentotal[0] + 1
|
||||
@opentotal[issue.tracker_id.to_i] = @opentotal[issue.tracker_id.to_i] + 1
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
respond_to do |format|
|
||||
format.js
|
||||
end
|
||||
|
||||
else
|
||||
render_404
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def find_project
|
||||
|
|
|
@ -106,6 +106,8 @@ class UsersController < ApplicationController
|
|||
|
||||
#二级回复
|
||||
def reply_to
|
||||
@is_project = params[:is_project]
|
||||
|
||||
case params[:type]
|
||||
when 'HomeworkCommon'
|
||||
@reply = JournalsForMessage.find params[:reply_id]
|
||||
|
|
|
@ -34,43 +34,81 @@ class VersionsController < ApplicationController
|
|||
def index
|
||||
# 顶部导航
|
||||
@project_menu_type = 7
|
||||
|
||||
type = params[:type]
|
||||
version_all_count = Version.where(:project_id => @project.id)
|
||||
case type
|
||||
when nil,"1"
|
||||
@versions = @project.versions
|
||||
when "2"
|
||||
@versions = @project.versions.where(:status => 'open')
|
||||
when "3"
|
||||
@versions = @project.versions.where(:status => 'locked')
|
||||
when "4"
|
||||
@versions = @project.versions.where(:status => 'closed')
|
||||
end
|
||||
@versions_count = Version.where(:project_id => @project.id).count
|
||||
@versions_open_count = Version.where(:project_id => @project.id, :status => "open").count
|
||||
@versions_locked_count = Version.where(:project_id => @project.id, :status => "locked").count
|
||||
@versions_closed_count = Version.where(:project_id => @project.id, :status => "closed").count
|
||||
@versions_count = version_type_count(type, @versions_count, @versions_open_count, @versions_locked_count, @versions_closed_count)
|
||||
@limit = 10
|
||||
@is_remote = true
|
||||
@version_pages = Paginator.new @versions_count, @limit, params['page'] || 1
|
||||
@offset ||= @version_pages.offset
|
||||
@versions = paginateHelper @versions, @limit
|
||||
respond_to do |format|
|
||||
format.html {
|
||||
@trackers = @project.trackers.sorted.all
|
||||
retrieve_selected_tracker_ids(@trackers, @trackers.select {|t| t.is_in_roadmap?})
|
||||
@with_subprojects = params[:with_subprojects].nil? ? Setting.display_subprojects_issues? : (params[:with_subprojects] == '1')
|
||||
project_ids = @with_subprojects ? @project.self_and_descendants.collect(&:id) : [@project.id]
|
||||
|
||||
@versions = @project.shared_versions || []
|
||||
@versions += @project.rolled_up_versions.visible if @with_subprojects
|
||||
#added by young
|
||||
@versions = @versions.uniq.reverse#Modified by young
|
||||
unless params[:completed]
|
||||
@completed_versions = @versions.select {|version| version.closed? || version.completed? }
|
||||
@versions -= @completed_versions
|
||||
format.html
|
||||
format.js
|
||||
format.api
|
||||
# format.html {
|
||||
# @trackers = @project.trackers.sorted.all
|
||||
# retrieve_selected_tracker_ids(@trackers, @trackers.select {|t| t.is_in_roadmap?})
|
||||
# @with_subprojects = params[:with_subprojects].nil? ? Setting.display_subprojects_issues? : (params[:with_subprojects] == '1')
|
||||
# project_ids = @with_subprojects ? @project.self_and_descendants.collect(&:id) : [@project.id]
|
||||
#
|
||||
# @versions = @project.shared_versions || []
|
||||
# @versions += @project.rolled_up_versions.visible if @with_subprojects
|
||||
# #added by young
|
||||
# @versions = @versions.uniq.reverse#Modified by young
|
||||
# unless params[:completed]
|
||||
# @completed_versions = @versions.select {|version| version.closed? || version.completed? }
|
||||
# @versions -= @completed_versions
|
||||
# end
|
||||
# @offset, @limit = api_offset_and_limit({:limit => 4})
|
||||
# @versions_count = @versions.count
|
||||
# @versions_pages = Paginator.new @versions_count, @limit, params['page']
|
||||
# @offset ||= @versions_pages.offset
|
||||
# @versions = @versions.slice(@offset, @limit)
|
||||
# #end by young
|
||||
#
|
||||
# @issues_by_version = {}
|
||||
# if @selected_tracker_ids.any? && @versions.any?
|
||||
# issues = Issue.visible.all(
|
||||
# :include => [:project, :status, :tracker, :priority, :fixed_version],
|
||||
# :conditions => {:tracker_id => @selected_tracker_ids, :project_id => project_ids, :fixed_version_id => @versions.map(&:id)},
|
||||
# :order => "#{Project.table_name}.lft, #{Tracker.table_name}.position, #{Issue.table_name}.id"
|
||||
# )
|
||||
# @issues_by_version = issues.group_by(&:fixed_version)
|
||||
# end
|
||||
# @versions.reject! {|version| !project_ids.include?(version.project_id) && @issues_by_version[version].blank?}
|
||||
# }
|
||||
# format.api {
|
||||
# @versions = @project.shared_versions.all
|
||||
# }
|
||||
end
|
||||
@offset, @limit = api_offset_and_limit({:limit => 4})
|
||||
@versions_count = @versions.count
|
||||
@versions_pages = Paginator.new @versions_count, @limit, params['page']
|
||||
@offset ||= @versions_pages.offset
|
||||
@versions = @versions.slice(@offset, @limit)
|
||||
#end by young
|
||||
|
||||
@issues_by_version = {}
|
||||
if @selected_tracker_ids.any? && @versions.any?
|
||||
issues = Issue.visible.all(
|
||||
:include => [:project, :status, :tracker, :priority, :fixed_version],
|
||||
:conditions => {:tracker_id => @selected_tracker_ids, :project_id => project_ids, :fixed_version_id => @versions.map(&:id)},
|
||||
:order => "#{Project.table_name}.lft, #{Tracker.table_name}.position, #{Issue.table_name}.id"
|
||||
)
|
||||
@issues_by_version = issues.group_by(&:fixed_version)
|
||||
end
|
||||
@versions.reject! {|version| !project_ids.include?(version.project_id) && @issues_by_version[version].blank?}
|
||||
}
|
||||
format.api {
|
||||
@versions = @project.shared_versions.all
|
||||
}
|
||||
|
||||
# 统计各种类型数量
|
||||
def version_type_count type, all_count, opened_count, locked_count, closed_count
|
||||
case type
|
||||
when nil, "1"
|
||||
all_count
|
||||
when "2"
|
||||
opened_count
|
||||
when "3"
|
||||
locked_count
|
||||
when "4"
|
||||
closed_count
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -47,4 +47,9 @@ module PullRequestsHelper
|
|||
|
||||
end
|
||||
|
||||
def request_commonts_count request_id, gpid
|
||||
g = Gitlab.client
|
||||
comments_count = g.merge_request_comments(gpid, request_id).count
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -54,4 +54,18 @@ module VersionsHelper
|
|||
def status_by_options_for_select(value)
|
||||
options_for_select(STATUS_BY_CRITERIAS.collect {|criteria| [l("field_#{criteria}".to_sym), criteria]}, value)
|
||||
end
|
||||
|
||||
# 通过类型显示不同的样式
|
||||
def get_version_type type
|
||||
case type
|
||||
when "open"
|
||||
"roadmap_blueicon"
|
||||
when "locked"
|
||||
"roadmap_greenicon"
|
||||
when "closed"
|
||||
"roadmap_greyicon"
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<% end %>
|
||||
<div style="text-align:center;">
|
||||
<a href="<%=project_issues_path(:project_id => @project, :format => 'xls', :export => true, :set_filter => "1")%>" id="sendexcel" class="btn_newpro_grey fl ml15 mt15" alt="导出" onclick="remote_function_export('<%= @project.id %>')">导出</a>
|
||||
<a href="#" class="btn_newpro_grey fl ml5 mt15" alt="统计">统计</a>
|
||||
<a onclick="getIssueStatistics('<%= project_issues_statistics_path(@project.id) %>')" class="btn_newpro_grey fl ml5 mt15" alt="统计">统计</a>
|
||||
<div class="pages fr" style="width:auto; display:inline-block;">
|
||||
<ul id="issue_list_pagination">
|
||||
<%= pagination_links_full @issue_pages, @issue_count, :per_page_links => false, :remote => @is_remote, :flag => true, :is_new => true %>
|
||||
|
|
|
@ -0,0 +1,151 @@
|
|||
|
||||
<div class="myissues_head mb5">
|
||||
<h2 class="ml15">issue统计</h2>
|
||||
</div>
|
||||
<div class="clear mb5">
|
||||
<div class="issues_statistics fl">
|
||||
<ul>
|
||||
<li>所有<a style="cursor: pointer;" onclick="showResultAll();" class="issues_greycirbg_btn "><%= @issues_filter.count %></a></li>
|
||||
<li>开启<a style="cursor: pointer;" onclick="showResultOpen();" class="issues_greycirbg_btn "><%= @issue_open_count %></a></li>
|
||||
<li>关闭<a style="cursor: pointer;" onclick="showResultClose();" class="issues_greycirbg_btn "><%= @issue_close_count %></a></li>
|
||||
</ul>
|
||||
</div><!--issues_statistics end-->
|
||||
<a href="<%= new_project_issue_path(@project)%>" class="sy_btn_green fr " >新建</a>
|
||||
</div>
|
||||
<div id="result_all" class="">
|
||||
<table class="sy_new_table " cellpadding="0" cellspacing="0">
|
||||
<thead>
|
||||
<tr>
|
||||
<td class="dis p10" style="width:166px;">指派给</td>
|
||||
<td class="w130">所有</td>
|
||||
<td class="w130">需求</td>
|
||||
<td class="w130">任务</td>
|
||||
<td class="w130">缺陷</td>
|
||||
<td class="w130">支持</td>
|
||||
<td class="w130">周报</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<% @results.each do |k,v|%>
|
||||
<tr>
|
||||
<td class="hidden dis p10" style="width:166px;"><%= v[:name] %></td>
|
||||
<td class="w130"><%= v[0] %></td>
|
||||
<td class="w130"><%= v[2] %></td>
|
||||
<td class="w130"><%= v[4] %></td>
|
||||
<td class="w130"><%= v[1] %></td>
|
||||
<td class="w130"><%= v[3] %></td>
|
||||
<td class="w130"><%= v[5] %></td>
|
||||
</tr>
|
||||
<% end %>
|
||||
<tr>
|
||||
<td class="hidden dis p10" style="width:166px;">Total</td>
|
||||
<td class="w130"><%= @alltotal[0] %></td>
|
||||
<td class="w130"><%= @alltotal[2] %></td>
|
||||
<td class="w130"><%= @alltotal[4] %></td>
|
||||
<td class="w130"><%= @alltotal[1] %></td>
|
||||
<td class="w130"><%= @alltotal[3] %></td>
|
||||
<td class="w130"><%= @alltotal[5] %></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="result_open" style="display: none">
|
||||
<table class="sy_new_table " cellpadding="0" cellspacing="0">
|
||||
<thead>
|
||||
<tr>
|
||||
<td class="dis p10" style="width:166px;">指派给</td>
|
||||
<td class="w130">所有</td>
|
||||
<td class="w130">需求</td>
|
||||
<td class="w130">任务</td>
|
||||
<td class="w130">缺陷</td>
|
||||
<td class="w130">支持</td>
|
||||
<td class="w130">周报</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<% @results.each do |k,v|%>
|
||||
<% if v[6] > 0 %>
|
||||
<tr>
|
||||
<td class="hidden dis p10" style="width:166px;"><%= v[:name] %></td>
|
||||
<td class="w130"><%= v[6] %></td>
|
||||
<td class="w130"><%= v[8] %></td>
|
||||
<td class="w130"><%= v[10] %></td>
|
||||
<td class="w130"><%= v[7] %></td>
|
||||
<td class="w130"><%= v[9] %></td>
|
||||
<td class="w130"><%= v[11] %></td>
|
||||
</tr>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<tr>
|
||||
<td class="hidden dis p10" style="width:166px;">Total</td>
|
||||
<td class="w130"><%= @opentotal[0] %></td>
|
||||
<td class="w130"><%= @opentotal[2] %></td>
|
||||
<td class="w130"><%= @opentotal[4] %></td>
|
||||
<td class="w130"><%= @opentotal[1] %></td>
|
||||
<td class="w130"><%= @opentotal[3] %></td>
|
||||
<td class="w130"><%= @opentotal[5] %></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="result_close" style="display: none">
|
||||
<table class="sy_new_table " cellpadding="0" cellspacing="0">
|
||||
<thead>
|
||||
<tr>
|
||||
<td class="dis p10" style="width:166px;">指派给</td>
|
||||
<td class="w130">所有</td>
|
||||
<td class="w130">需求</td>
|
||||
<td class="w130">任务</td>
|
||||
<td class="w130">缺陷</td>
|
||||
<td class="w130">支持</td>
|
||||
<td class="w130">周报</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<% @results.each do |k,v|%>
|
||||
<% if v[12] > 0 %>
|
||||
<tr>
|
||||
<td class="hidden dis p10" style="width:166px;"><%= v[:name] %></td>
|
||||
<td class="w130"><%= v[12] %></td>
|
||||
<td class="w130"><%= v[14] %></td>
|
||||
<td class="w130"><%= v[16] %></td>
|
||||
<td class="w130"><%= v[13] %></td>
|
||||
<td class="w130"><%= v[15] %></td>
|
||||
<td class="w130"><%= v[17] %></td>
|
||||
</tr>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<tr>
|
||||
<td class="hidden dis p10" style="width:166px;">Total</td>
|
||||
<td class="w130"><%= @closetotal[0] %></td>
|
||||
<td class="w130"><%= @closetotal[2] %></td>
|
||||
<td class="w130"><%= @closetotal[4] %></td>
|
||||
<td class="w130"><%= @closetotal[1] %></td>
|
||||
<td class="w130"><%= @closetotal[3] %></td>
|
||||
<td class="w130"><%= @closetotal[5] %></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function showResultAll(){
|
||||
$("#result_all").show();
|
||||
$("#result_open").hide();
|
||||
$("#result_close").hide();
|
||||
}
|
||||
function showResultOpen(){
|
||||
$("#result_all").hide();
|
||||
$("#result_open").show();
|
||||
$("#result_close").hide();
|
||||
|
||||
}
|
||||
function showResultClose(){
|
||||
$("#result_all").hide();
|
||||
$("#result_open").hide();
|
||||
$("#result_close").show();
|
||||
}
|
||||
|
||||
</script>
|
|
@ -1,8 +1,13 @@
|
|||
<% if @issue_id %> //issue详情中回复
|
||||
<%= render "jounal_refresh" %>
|
||||
<%= render "jounal_refresh" %>
|
||||
<%else%>
|
||||
$("#div_user_issue_reply_<%=@user_activity_id %>").html("<%= escape_javascript(render :partial => 'users/project_issue_reply', :locals => {:activity => @issue, :user_activity_id => @user_activity_id}) %>");
|
||||
sd_create_editor_from_data(<%= @user_activity_id %>, null, "100%", "UserActivity");
|
||||
<% if params[:is_project] %>
|
||||
$("#div_user_issue_reply_<%=@user_activity_id %>").html("<%= escape_javascript(render :partial => 'projects/project_issue_reply', :locals => {:activity => @issue, :user_activity_id => @user_activity_id}) %>");
|
||||
<% else %>
|
||||
$("#div_user_issue_reply_<%=@user_activity_id %>").html("<%= escape_javascript(render :partial => 'users/project_issue_reply', :locals => {:activity => @issue, :user_activity_id => @user_activity_id}) %>");
|
||||
<% end %>
|
||||
|
||||
sd_create_editor_from_data(<%= @user_activity_id %>, null, "100%", "UserActivity");
|
||||
//init_activity_KindEditor_data(<%= @user_activity_id %>,"","87%", 'UserActivity');
|
||||
// sd_create_editor_from_data(<%#= @issue.id%>, null, "100%");
|
||||
// sd_create_editor_from_data(<%#= @issue.id%>, null, "100%");
|
||||
<%end %>
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
<% if @user_activity_id %>
|
||||
<%# 动态中 %>
|
||||
$("#div_user_issue_reply_<%=@user_activity_id%>").html("<%= escape_javascript(render :partial => 'users/project_issue_reply', :locals => {:activity => @issue, :user_activity_id => @user_activity_id}) %>");
|
||||
<% if params[:is_project] %>
|
||||
$("#div_user_issue_reply_<%=@user_activity_id%>").html("<%= escape_javascript(render :partial => 'projects/project_issue_reply', :locals => {:activity => @issue, :user_activity_id => @user_activity_id}) %>");
|
||||
<% else %>
|
||||
$("#div_user_issue_reply_<%=@user_activity_id%>").html("<%= escape_javascript(render :partial => 'users/project_issue_reply', :locals => {:activity => @issue, :user_activity_id => @user_activity_id}) %>");
|
||||
<% end %>
|
||||
|
||||
sd_create_editor_from_data(<%= @user_activity_id%>, null, "100%","<%=@issue.class.name%>");
|
||||
<% else %>
|
||||
<%# issue详情 %>
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
<% if @user_activity_id %>
|
||||
<% if @is_project %>
|
||||
$("#div_user_issue_reply_<%=@user_activity_id%>").html("<%= escape_javascript(render :partial => 'projects/project_issue_reply', :locals => {:activity => @issue, :user_activity_id => @user_activity_id}) %>");
|
||||
<% else %>
|
||||
$("#div_user_issue_reply_<%=@user_activity_id%>").html("<%= escape_javascript(render :partial => 'users/project_issue_reply', :locals => {:activity => @issue, :user_activity_id => @user_activity_id}) %>");
|
||||
<% end %>
|
||||
sd_create_editor_from_data(<%= @user_activity_id%>, null, "100%","<%=@issue.class.name%>");
|
||||
<% else %>
|
||||
<%= render "jounal_refresh" %>
|
||||
<%= render "jounal_refresh" %>
|
||||
<% end %>
|
|
@ -203,7 +203,7 @@
|
|||
</script>
|
||||
|
||||
<!--缺陷列表开始-->
|
||||
<div class="myissues_con ">
|
||||
<div id="myissues_con" class="myissues_con ">
|
||||
<div class="clear mb5">
|
||||
<div class="issues_statistics fl clear">
|
||||
<ul>
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
$("#myissues_con").html("<%= escape_javascript(render :partial => 'issues/statistics')%>");
|
|
@ -35,12 +35,11 @@
|
|||
<%= render :partial => 'layouts/base_project_top' %>
|
||||
</div>
|
||||
|
||||
<div class="fl">
|
||||
<%= render_flash_messages %>
|
||||
<%= yield %>
|
||||
<%= call_hook :view_layouts_base_content %>
|
||||
<div style="clear:both;"></div>
|
||||
</div>
|
||||
|
||||
<div style="clear:both;"></div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -76,7 +76,7 @@
|
|||
<% end %>
|
||||
<% end %>
|
||||
<div class="cl"></div>
|
||||
<div class="mt10" style="font-weight:normal;">
|
||||
<div class="mb10" style="font-weight:normal;">
|
||||
<%= render :partial=>"attachments/activity_attach", :locals=>{:activity => activity} %>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -86,7 +86,7 @@
|
|||
<% count = all_replies.count %>
|
||||
<%# allow_delete = (activity.user == User.current || User.current.admin? || User.current.allowed_to?(:as_teacher,activity.course)) %>
|
||||
<%# count = fetch_user_leaveWord_reply(activity).count %>
|
||||
<div class="homepagePostReply">
|
||||
<div class="container-big-grey">
|
||||
<%= render :partial => 'projects/project_reply_banner', :locals => {:count => count, :activity => activity, :user_activity_id => user_activity_id,:is_course => is_course,:is_board =>is_board} %>
|
||||
|
||||
<% comments = all_replies[0..2] %>
|
||||
|
@ -97,9 +97,9 @@
|
|||
<% end %>
|
||||
|
||||
<% if !activity.locked? %>
|
||||
<div class="homepagePostReplyContainer borderBottomNone minHeight48">
|
||||
<div class="reply-container ml15 borderBottomNone minHeight48">
|
||||
<div class="homepagePostReplyPortrait mr15 imageFuzzy" id="reply_image_<%= user_activity_id%>"><%= link_to image_tag(url_to_avatar(User.current), :width => "33", :height => "33"), user_path(activity.author_id), :alt => "用户头像" %></div>
|
||||
<div class="homepagePostReplyInputContainer mb10">
|
||||
<div class="reply-content mb10">
|
||||
<% if User.current.logged? %>
|
||||
<div nhname='new_message_<%= user_activity_id%>' style="display:none;">
|
||||
<%= form_for('new_form',:url => {:controller=>'messages',:action => 'reply', :id => activity.id, :board_id => activity.board_id,:is_course => is_course, :is_board => 'true'},:method => "post", :remote => true) do |f|%>
|
||||
|
|
|
@ -48,7 +48,7 @@
|
|||
<p class="proInfoP"><span><%= activity.status.name %></span> <a href="javascript:void(0)" class="pic_edit2 ml5"></a></p>
|
||||
<%= select( :issue,:status, [["新增",1],["正在解决",2],["已解决",3],["反馈",4],["关闭",5],["拒绝",6]].unshift(["状态",0]),
|
||||
{:include_blank => false, :selected => @status_id ? @status_id : 0 },
|
||||
{:onchange=>"remote_function('#issue_query_form_#{activity.id}');",:id=>"status_id",:name=>"status_id",:class=>"w70 undis issueEdit",:style=>"white-space:nowrap; overflow:hidden;"}
|
||||
{:onchange=>"remote_function('#issue_query_form_#{activity.id}');",:id=>"status_id",:name=>"status_id",:class=>"w130 undis issueEdit",:style=>"white-space:nowrap; overflow:hidden;"}
|
||||
)
|
||||
%>
|
||||
</li>
|
||||
|
@ -62,7 +62,7 @@
|
|||
<a href="javascript:void(0)" class="pic_edit2 ml5" style="vertical-align:top;"></a></span>
|
||||
<%= select( :issue, :user_id, principals_options_for_isuue_list(activity.project),
|
||||
{ :include_blank => false,:selected => @assign_to_id ? @assign_to_id : 0},
|
||||
{:onchange=>"remote_function('#issue_query_assign_form_#{activity.id}');", :id =>"assigned_to_id", :name => "assigned_to_id",:class=>"undis issueEdit", :style => "width:130px;"}) %>
|
||||
{:onchange=>"remote_function('#issue_query_assign_form_#{activity.id}');", :id =>"assigned_to_id", :name => "assigned_to_id",:class=>"w130 undis issueEdit"}) %>
|
||||
</li>
|
||||
<% end %>
|
||||
<div class="cl"></div>
|
||||
|
@ -75,7 +75,7 @@
|
|||
<span class="proInfoP"><span><%= activity.priority.name %></span> <a href="javascript:void(0)" class="pic_edit2 ml5"></a> </span>
|
||||
<%= select( :issue,:prior, [["低",1],["正常",2],["高",3],["紧急",4],["立刻",5]].unshift(["优先级",0]),
|
||||
{:include_blank => false,:selected=>@priority_id ? @priority_id : 0},
|
||||
{:onchange=>"remote_function('#issue_query_prior_form_#{activity.id}');",:id=>"priority_id",:name=>"priority_id",:class=>"w70 undis issueEdit"}) %>
|
||||
{:onchange=>"remote_function('#issue_query_prior_form_#{activity.id}');",:id=>"priority_id",:name=>"priority_id",:class=>"w130 undis issueEdit"}) %>
|
||||
</li>
|
||||
<% end %>
|
||||
<div class="cl"></div>
|
||||
|
@ -85,7 +85,7 @@
|
|||
<span class="proInfoP" style="width:130px;"><span><%= activity.done_ratio %>%</span> <a href="javascript:void(0)" class="pic_edit2 ml5"></a> </span>
|
||||
<%= select( :issue,:done_ratio, ((0..10).to_a.collect { |r| ["#{r*10} %", r*10] }),
|
||||
{:include_blank => false, :selected => @done_ratio ? @done_ratio : 0},
|
||||
{:onchange=>"remote_function('#issue_query_done_form_#{activity.id}');",:id=>"done_ratio",:name=>"done_ratio",:class=>"w70 undis issueEdit"}) %>
|
||||
{:onchange=>"remote_function('#issue_query_done_form_#{activity.id}');",:id=>"done_ratio",:name=>"done_ratio",:class=>"w130 undis issueEdit"}) %>
|
||||
<% end %>
|
||||
</li>
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
<span style="position: relative" class="fr mr20">
|
||||
<%= link_to(
|
||||
l(:button_reply),
|
||||
{:controller => 'users', :action => 'reply_to', :reply_id => comment.id, :type => 'Issue', :user_activity_id => user_activity_id, :activity_id => activity.id},
|
||||
{:controller => 'users', :action => 'reply_to', :reply_id => comment.id, :type => 'Issue', :user_activity_id => user_activity_id, :activity_id => activity.id, :is_project => true},
|
||||
:remote => true,
|
||||
:method => 'get',
|
||||
:title => l(:button_reply)) %>
|
||||
|
@ -51,7 +51,7 @@
|
|||
</span>
|
||||
<%= link_to(
|
||||
l(:button_delete),
|
||||
{:controller => 'issues',:action => 'delete_journal', :id => activity.id,:journal_id=>comment.id, :user_activity_id => user_activity_id},
|
||||
{:controller => 'issues',:action => 'delete_journal', :id => activity.id,:journal_id=>comment.id, :user_activity_id => user_activity_id, :is_project => true},
|
||||
:method => 'get',
|
||||
:confirm => l(:text_are_you_sure),
|
||||
:remote=>true,
|
||||
|
@ -81,7 +81,7 @@
|
|||
<div class="reply-content mb10">
|
||||
<% if User.current.logged? %>
|
||||
<div nhname='new_message_<%= user_activity_id %>' style="display:none;">
|
||||
<%= form_for('new_form',:url => add_journal_issue_path(activity.id, :user_activity_id => user_activity_id),:method => "post", :remote => true) do |f| %>
|
||||
<%= form_for('new_form',:url => add_journal_issue_path(activity.id, :user_activity_id => user_activity_id, :is_project => true),:method => "post", :remote => true) do |f| %>
|
||||
<input type="hidden" name="user_activity_id" value="<%=user_activity_id%>">
|
||||
<div nhname='toolbar_container_<%= user_activity_id%>'></div>
|
||||
<textarea placeholder="有问题或有建议,请直接给我留言吧!" style="display: none" nhname='new_message_textarea_<%= user_activity_id%>' name="notes"></textarea>
|
||||
|
|
|
@ -6,11 +6,11 @@
|
|||
autoUrl('reply_content_<%= comment.id %>');
|
||||
});
|
||||
</script>
|
||||
<li class="homepagePostReplyContainer" nhname="reply_rec">
|
||||
<li class="reply-container ml15" nhname="reply_rec">
|
||||
<div class="homepagePostReplyPortrait">
|
||||
<%= link_to image_tag(url_to_avatar(comment.creator_user), :width => 33, :height => 33, :alt => "用户头像"), user_url_in_org(comment.creator_user.id) %>
|
||||
</div>
|
||||
<div class="homepagePostReplyDes" onmouseover="$('#delete_reply_<%=activity_id %>_<%=comment.id %>').show();" onmouseout="$('#delete_reply_<%=activity_id %>_<%=comment.id %>').hide();">
|
||||
<div class="reply-content ml15" onmouseover="$('#delete_reply_<%=activity_id %>_<%=comment.id %>').show();" onmouseout="$('#delete_reply_<%=activity_id %>_<%=comment.id %>').hide();">
|
||||
<%= render :partial => 'projects/project_message_contents', :locals => {:comment => comment}%>
|
||||
|
||||
<% if !comment.content_detail.blank? %>
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
<div class="<%= User.current.logged? ? 'orig_reply_box' : 'orig_reply_box2' %> borderBottomNone" id="reply_to_message_<%= reply.id%>">
|
||||
<% if User.current.logged? %>
|
||||
<div class="homepagePostReplyPortrait mr15 imageFuzzy" id="reply_image_<%= reply.id%>"><%= link_to image_tag(url_to_avatar(User.current), :width => "33", :height => "33"), user_path(User.current), :alt => "用户头像" %></div>
|
||||
<div class="orig_textarea mb10 fl">
|
||||
<div nhname='new_message_<%= reply.id%>'>
|
||||
<% if @type == 'Message' %>
|
||||
<%= form_for('new_form',:url => {:controller => 'messages', :action => 'reply', :id => reply.id, :board_id => reply.board.id, :is_project => true}, :method => "post", :remote => true) do |f|%>
|
||||
<%= hidden_field_tag 'is_course', params[:is_course], :value => @is_course %>
|
||||
<%= hidden_field_tag 'is_board', params[:is_board], :value => @is_board %>
|
||||
<%= hidden_field_tag 'parent_id', params[:parent_id], :value => reply.id %>
|
||||
<%= hidden_field_tag 'activity_id',params[:activity_id],:value =>@activity_id %>
|
||||
<%= hidden_field_tag 'user_activity_id',params[:user_activity_id],:value =>@user_activity_id %>
|
||||
<div nhname='toolbar_container_<%= reply.id%>'></div>
|
||||
<textarea placeholder="有问题或有建议,请直接给我留言吧!" style="display: none" nhname='new_message_textarea_<%= reply.id%>' name="content"></textarea>
|
||||
<a id="new_message_submit_btn_<%= reply.id%>" href="javascript:void(0)" onclick="this.style.display='none'" class="blue_n_btn fr" style="display:none;margin-top:6px;">发送</a>
|
||||
<div class="cl"></div>
|
||||
<p nhname='contentmsg_<%= reply.id%>'></p>
|
||||
<% end%>
|
||||
<% elsif @type == 'Issue' %>
|
||||
<%= form_for('new_form',:url => add_reply_issue_path(reply.issue.id, :is_project => true),:method => "post", :remote => true) do |f|%>
|
||||
<%= hidden_field_tag 'journal_id',params[:journal_id],:value =>reply.id %>
|
||||
<%= hidden_field_tag 'user_activity_id',params[:user_activity_id],:value =>@user_activity_id %>
|
||||
<div nhname='toolbar_container_<%= reply.id%>' ></div>
|
||||
<textarea placeholder="有问题或有建议,请直接给我留言吧!" style="display: none" nhname='new_message_textarea_<%= reply.id%>' name="content"></textarea>
|
||||
<a id="new_message_submit_btn_<%= reply.id%>" href="javascript:void(0)" onclick="this.style.display='none'" class="blue_n_btn fr" style="display:none;margin-top:6px;">发送</a>
|
||||
<div class="cl"></div>
|
||||
<p nhname='contentmsg_<%= reply.id%>' class="fl"></p>
|
||||
<% end %>
|
||||
|
||||
<% end %>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<% else %>
|
||||
<%= render :partial => "users/show_unlogged_reply" %>
|
||||
<% end %>
|
||||
<div class="cl"></div>
|
||||
</div>
|
|
@ -1,41 +1,51 @@
|
|||
<%= form_tag(url_for(:controller => 'pull_requests', :action => 'create', :project_id => @project.id, :forked_project_id => @forked_project.try(:gpid)), :id => 'pull_request_form', :method => "post", :remote => true) do %>
|
||||
<div class="new-merge-wrap">
|
||||
<div class="merge-option-name fl mt8"><span class="c_red">*</span>标题</div><input type="text" id="pr_name" name="title" class="merge-title-input fl ml30" />
|
||||
<p id ="pull_request_title" class="fl ml100 fontGrey2 mt5 c_red" style="display: none">标题不能为空</p>
|
||||
<div class="cl mb10"></div>
|
||||
<div class="merge-option-name fl">描述</div><textarea type="text" name="description" class="merge-description-input fl ml30"></textarea>
|
||||
<!--<p class="fl ml100 f12 mt5"><a href="javascript:void(0);" class="AnnexBtn fl mr10">上传附件</a></p>-->
|
||||
<div class="cl"></div>
|
||||
<div class="new_roadmap_conbox mb10" >
|
||||
<div class="new_roadmap_info_top clear ">
|
||||
<h4 class=" new_roadmap_listtitle"> 新建Pull Request </h4>
|
||||
</div>
|
||||
<div class="new-merge-wrap borderBottomNone">
|
||||
<div class="merge-option-name fl" style="padding:5px 0">源分支</div>
|
||||
<%= select_tag :branch, options_for_select(@source_rev), :id => "source_branch", :name => "source_branch", :value => "source_branch", :class => "ml30 fontGrey3 fb fl", :style => "padding:5px 0 5px 5px;" %>
|
||||
<div class="cl mb10"></div>
|
||||
<div class="merge-option-name fl" style="padding:5px 0">目标分支</div>
|
||||
<%= form_tag(url_for(:controller => 'pull_requests', :action => 'create', :project_id => @project.id, :forked_project_id => @forked_project.try(:gpid)), :id => 'pull_request_form', :method => "post", :remote => true) do %>
|
||||
<div class="clear new_roadmap_listbox">
|
||||
<ul class="PullReques_new_box ">
|
||||
<li class="mb10 clear">
|
||||
<label class=" fl PullReques_label"> 源分支 : </label>
|
||||
<%= select_tag :branch, options_for_select(@source_rev), :id => "source_branch", :name => "source_branch", :value => "source_branch", :class => "fl PullReques_minselect" %>
|
||||
<label class=" fl ml10 "> 合并到目标分支 : </label>
|
||||
<% if @forked_project.nil? %>
|
||||
<%= select_tag :branch, options_for_select(@source_rev), :id => "pull_request_branch", :name => "target_branch", :value => "target_branch",:class => "ml30 fontGrey3 fb fl", :style => "padding:5px 0 5px 5px;" %>
|
||||
<%= select_tag :branch, options_for_select(@source_rev), :id => "pull_request_branch", :name => "target_branch", :value => "target_branch",:class => "fl PullReques_minselect ml5" %>
|
||||
<% else %>
|
||||
<select onchange="choice_branch(this.value, document.getElementById('pull_request_branch'), <%= @source_rev %>, <%= @forked_rev %>);" id="pull_request_project" name="source_project" value="source_project" class="ml30 fontGrey3 fb fl" style = "padding:5px 0 5px 5px;">
|
||||
<select onchange="choice_branch(this.value, document.getElementById('pull_request_branch'), <%= @source_rev %>, <%= @forked_rev %>);" id="pull_request_project" name="source_project" value="source_project" class="fl PullReques_minselect">
|
||||
<option name="<%= @project.id %>" value="source_project_name" ><%= @source_project_name %></option>
|
||||
<option name="<%= @forked_project.id %>" value="forked_project_name" ><%= @forked_project_name %></option>
|
||||
</select>
|
||||
<select name="target_branch" id="pull_request_branch" class = "ml30 fontGrey3 fb fl" style = "width:140px; padding:5px 0 5px 5px;">
|
||||
<select name="target_branch" id="pull_request_branch" class = "fl PullReques_minselect ml5" >
|
||||
<% @source_rev.each do |rev| %>
|
||||
<option value="<%= rev %>"><%= rev %></option>
|
||||
<% end %>
|
||||
</select>
|
||||
<% end %>
|
||||
<p id="pull_request_project_hidden" style="display: none"><%= @forked_project.nil? ? "" : @project.id %></p>
|
||||
<div class="cl"></div>
|
||||
<p id ="pull_request_branch_error" class="ml100 fontGrey2 mt5 c_red" style="display: none">没有内容可以合并,请切换一个不同的分支</p>
|
||||
<div class="cl"></div>
|
||||
</li>
|
||||
<div class="alert alert-blue mb10" id ="pull_request_branch_error" style="display: none">
|
||||
<span class="c_orange">您选择的源分支和目标分支为似乎没有差异,请将新改动提交至源分支或者切换到其它目标分支</span>
|
||||
</div>
|
||||
<div class="new-merge-row b_grey" style="border-top:1px solid #ddd;">
|
||||
<a href="javascript:void(0);" class="BlueCirBtn fl ml10" onclick="pull_request_commit()">提交请求</a>
|
||||
<%= link_to "返回", project_pull_requests_path(:project_id => @project.id), :class => "fr linkGrey2 mt5 mr10" %>
|
||||
<div class="cl"></div>
|
||||
<li class="mb10 clear">
|
||||
<label class=" fl PullReques_label"><span class="c_red f12">*</span> 标题 : </label>
|
||||
<input type="text" id="pr_name" name="title" class="fl PullReques_maxinput" placeholder="请输入合并请求的标题" />
|
||||
</li>
|
||||
<div class="c_orange pl62 mb4" id ="pull_request_title" style="display: none">
|
||||
标题不能为空
|
||||
</div>
|
||||
<% end %>
|
||||
<li class=" clear">
|
||||
<label class=" fl PullReques_label"> 描述 : </label>
|
||||
<textarea type="text" name="description" class="PullReques_textarea fl mb10" placeholder="在此输入合并请求的描述"></textarea>
|
||||
</li>
|
||||
<li class="mb10 clear">
|
||||
<%= link_to "返回", project_pull_requests_path(:project_id => @project.id), :class => "btn btn-grey fr" %>
|
||||
<a href="javascript:void(0);" class="btn btn-blue fr mr5" onclick="pull_request_commit()">确定</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function regex_pr_name()
|
||||
|
@ -74,7 +84,7 @@
|
|||
//提交pull request
|
||||
function pull_request_commit()
|
||||
{
|
||||
if(regex_pr_name() && regex_branch())
|
||||
if(regex_branch() && regex_pr_name())
|
||||
{
|
||||
$("#pull_request_form").submit();
|
||||
}
|
||||
|
|
|
@ -2,15 +2,21 @@
|
|||
<div class="no-merge-content">没有可显示的请求</div>
|
||||
<% else %>
|
||||
<% @requests.each do |request| %>
|
||||
<li>
|
||||
<% request %>
|
||||
<%=link_to request.title, project_pull_request_path(request.id, :project_id => @project.id), :class => "linkGrey3 fb fl hidden", :style => "width:100%;"%>
|
||||
<!--<a href="javascript:void(0);" class="fr fontGrey2 fb"><img src="/images/comments.png" class="mr5" width="15" />0</a><span class="fr mr15 fb fontGrey2">关闭</span>-->
|
||||
<div class="cl mb5"></div>
|
||||
<span class="fontGrey2">由 <%= link_to request.author.try(:username), user_path(get_user_by_login_and(request.author.try(:username))), :class => "link-blue" %> 创建于<%= time_tag(request.created_at) %></span>
|
||||
<span class="fr fontGrey2"><%= time_tag(request.updated_at) %>更新</span>
|
||||
<div class="cl"></div>
|
||||
</li>
|
||||
<div class="clear new_roadmap_listbox">
|
||||
<div class="clear">
|
||||
<span class="icons_pullreques fl "></span>
|
||||
<h4 class="fl new_roadmap_listtitle"><%=link_to request.title, project_pull_request_path(request.id, :project_id => @project.id) %></h4>
|
||||
<% if request_commonts_count(request.try(:id), @project.gpid) > 0 %>
|
||||
<%= link_to request_commonts_count(request.try(:id), @project.gpid), project_pull_request_path(request.id, :project_id => @project.id), :class => "fr mt2" %>
|
||||
<% end %>
|
||||
<%= link_to "", project_pull_request_path(request.id, :project_id => @project.id), :class => "issues_icons_mes fr mr5 ml5" %>
|
||||
</div>
|
||||
<div class="c_grey clear mt5">
|
||||
<p class="fl">由 <%= link_to request.author.try(:username), user_path(get_user_by_login_and(request.author.try(:username))), :class => "linkBlue2" %> 创建于<%= time_tag(request.created_at) %>前</p>
|
||||
<span class="fl ml10"><%= time_tag(request.updated_at) %>前更新</span>
|
||||
<p class="fr"><%= @project.name+"/"+request.source_branch %><span class="c_grey02 ml10 mr10">合并到</span><%= request.target_branch %></p>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<div style="text-align:center;">
|
||||
|
|
|
@ -1,4 +1,60 @@
|
|||
<% if @allow_to_pull_request %>
|
||||
<!--PullReques列表开始-->
|
||||
<div class="new_roadmap_conbox " >
|
||||
<div class="new_roadmap_navbox clear">
|
||||
<ul class="new_roadmap_nav fl" >
|
||||
<li class="new_roadmap_nav_hover"><%= link_to "待处理<span class='new_roadmap_nav_taghover ml5'>#{@requests_opened_count}</span>".html_safe, project_pull_requests_path(:type => "1"), :remote => true, :class => "new_roadmap_type_nomal" %></li>
|
||||
<li><%= link_to "已处理<span class='new_roadmap_nav_tagnomal ml5'>#{@requests_merged_count}</span>".html_safe, project_pull_requests_path(:type => "2"), :remote => true, :class => "new_roadmap_type_nomal" %></li>
|
||||
<li><%= link_to "已关闭<span class='new_roadmap_nav_tagnomal ml5'>#{@requests_closed_count}</span>".html_safe, project_pull_requests_path(:type => "3"), :remote => true, :class => "new_roadmap_type_nomal" %></li>
|
||||
</ul>
|
||||
<% if allow_pull_request(@project) && User.current.member_of?(@project) %>
|
||||
<%= link_to "创建Pull Request", new_project_pull_request_path, :class => "btn btn-green fr mr15 mt10" %>
|
||||
<% end %>
|
||||
</div>
|
||||
<!--<div class="pullreques_category clear ">-->
|
||||
<!--<a href="javascript:void(0);" class="sortdownbtn mt10 fr mr15"></a>-->
|
||||
<!--<a href="javascript:void(0);" class="sy_cgrey fr">更新时间</a>-->
|
||||
<!--<a href="javascript:void(0);" class="sortupbtn mt10 fr"></a>-->
|
||||
<!--<a href="javascript:void(0);" class="sy_cgrey fr">创建时间 </a>-->
|
||||
<!--</div>-->
|
||||
<div id="pull_requests_list">
|
||||
<%= render "pull_requests/pull_requests_list" %>
|
||||
|
||||
<div class=" pages ">
|
||||
<a href="javascript:void(0);" class="pages-big" >上一页</a>
|
||||
<a href="javascript:void(0);" class="active " >1</a>
|
||||
<a href="javascript:void(0);" >2</a>
|
||||
<a href="javascript:void(0);" >3</a>
|
||||
<a href="javascript:void(0);" >...</a>
|
||||
<a href="javascript:void(0);" >31</a>
|
||||
<a href="javascript:void(0);" class="pages-big" >下一页</a>
|
||||
<div class="cl"></div>
|
||||
</div><!--翻页 end-->
|
||||
<div class="cl"></div>
|
||||
</div><!--new_roadmap_content_1 end-->
|
||||
</div><!--new_roadmap end-->
|
||||
<!--PullReques列表结束-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<%#= render :partial => "pull_requests/pull_request_container" %>
|
||||
<ul id="mergeBanner" class="project-merge-banner">
|
||||
<li class="active"><%= link_to "待处理<span class='project-number-dot'>#{@requests_opened_count}</span>".html_safe, project_pull_requests_path(:type => "1"), :remote => true %></li>
|
||||
|
@ -17,12 +73,12 @@
|
|||
|
||||
|
||||
<script>
|
||||
$("#mergeBanner").parent().css({"width":"730px","background-color":"#fff","padding":"10px","margin-left":"10px","margin-bottom":"10px"});
|
||||
$("#mergeBanner").parent().before("<div class='homepageRightBanner mb10'><span class='f16 fontGrey3'>Pull Request</span></div>");
|
||||
// $("#mergeBanner").parent().css({"width":"730px","background-color":"#fff","padding":"10px","margin-left":"10px","margin-bottom":"10px"});
|
||||
// $("#mergeBanner").parent().before("<div class='homepageRightBanner mb10'><span class='f16 fontGrey3'>Pull Request</span></div>");
|
||||
|
||||
$(".project-merge-banner li").click(function(){
|
||||
$(".project-merge-banner li").removeClass("active");
|
||||
$(this).addClass("active");
|
||||
$(".new_roadmap_nav li").click(function(){
|
||||
$(".new_roadmap_nav li").removeClass("new_roadmap_nav_hover");
|
||||
$(this).addClass("new_roadmap_nav_hover");
|
||||
});
|
||||
</script>
|
||||
<% else %>
|
||||
|
|
|
@ -1,3 +1,28 @@
|
|||
<%= render :partial => "pull_requests/pull_request_container" %>
|
||||
<%= render :partial => "pull_requests/new" %>
|
||||
<div id="pull_request_new_form">
|
||||
<div id="create_pull_request_error">
|
||||
<%= render :partial => "pull_requests/error_message" %>
|
||||
</div>
|
||||
|
||||
<%= render :partial => "pull_requests/form" %>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
// $("#pull_request_new_form").parent().css({"width":"730px","background-color":"#fff","padding":"10px","margin-left":"10px","margin-bottom":"10px"});
|
||||
|
||||
$("#changed-files").toggle(function(){
|
||||
$("#changed-files-detail").show();
|
||||
},function(){
|
||||
$("#changed-files-detail").hide();
|
||||
});
|
||||
|
||||
$(".merge-record li a").click(function(){
|
||||
$(".merge-record li a").removeClass("active");
|
||||
$(this).addClass("active");
|
||||
|
||||
var index = $(".merge-record li a").index(this);
|
||||
|
||||
$("#merge_record_0, #merge_record_1").hide();
|
||||
$("#merge_record_" + index).show();
|
||||
});
|
||||
</script>
|
||||
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
if($("#reply_message_<%= @reply.id%>").length > 0) {
|
||||
<% if params[:is_project] %>
|
||||
$("#reply_message_<%= @reply.id%>").replaceWith("<%= escape_javascript(render :partial => 'projects/reply_to', :locals => {:reply => @reply}) %>");
|
||||
<% else %>
|
||||
$("#reply_message_<%= @reply.id%>").replaceWith("<%= escape_javascript(render :partial => 'users/reply_to', :locals => {:reply => @reply}) %>");
|
||||
<% end %>
|
||||
$("#reply_iconup_<%=@reply.id %>").show();
|
||||
$(function(){
|
||||
sd_create_editor_from_data(<%= @reply.id%>,null,"100%", "<%=@reply.class.to_s%>");
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
<% @versions.each do |version| %>
|
||||
<div class="clear new_roadmap_listbox">
|
||||
<div class="clear">
|
||||
<h4 class="fl new_roadmap_listtitle"><%= link_to_version version, :name => version_anchor(version) %></h4><span class="fl <%= get_version_type(version.status) %> mt3 ml5"></span>
|
||||
<%= link_to "导出", version_path(version, :format => 'xls'), :class => "btn_newpro_grey fr" %>
|
||||
<a href="javascript:void(0);" class="roadmap_icons_del fr mt5 mr5" alt="删除"></a>
|
||||
<a href="javascript:void(0);" class="roadmap_icons_edit fr mt5 " alt="编辑"></a>
|
||||
</div>
|
||||
<ul class="new_roadmap_list_txt clear mb5">
|
||||
<li>完成 <span class="ml5 c_red" title="<%= version.closed_percent %>"><%= version.closed_percent.round %>% </span></li>
|
||||
<li>Issues<span class="ml5 "><%= version.issues_count %> </span></li>
|
||||
<li>已关闭<span class="ml5 "><%= version.closed_issues_count %> </span></li>
|
||||
<li>
|
||||
<% if version.completed? %>
|
||||
<span></span><%= format_date(version.effective_date) %>
|
||||
<% elsif version.effective_date %>
|
||||
<span class="muban-icons-clock"></span><%= due_date_distance_in_words(version.effective_date) %>(<%= format_date(version.effective_date) %>)
|
||||
<% end %>
|
||||
<!--<span ></span>截止日期剩余 5天(2016-10-31)</li>-->
|
||||
</ul>
|
||||
<div class="c_grey">
|
||||
<p><%= version.description %></p>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
|
||||
<div style="text-align:center;">
|
||||
<div class="pages" style="width:auto; display:inline-block;">
|
||||
<ul id="homework_pository_ref_pages">
|
||||
<%= pagination_links_full @version_pages, @versions_count, :per_page_links => false, :remote => @is_remote, :flag => true, :is_new => true %>
|
||||
</ul>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cl"></div>
|
|
@ -1,78 +1,34 @@
|
|||
<div class="project_r_h" style="width:730px;">
|
||||
<h2 class="project_h2"><%= l(:label_roadmap) %></h2>
|
||||
</div>
|
||||
<div class="roadmap">
|
||||
<fieldset id="filters" class="collapsible collapsed" >
|
||||
<legend><%= l(:label_version_display_settings)%></legend>
|
||||
<%= form_tag({}, :method => :get) do %>
|
||||
<% @trackers.each do |tracker| %>
|
||||
<label><%= check_box_tag "tracker_ids[]", tracker.id, (@selected_tracker_ids.include? tracker.id.to_s), :id => nil %>
|
||||
<%=h tracker.name %></label>
|
||||
<% end %>
|
||||
<!--label for="completed"><%#= check_box_tag "completed", 1, params[:completed] %> <%#= l(:label_show_completed_versions) %></label-->
|
||||
<% if @project.descendants.active.any? %>
|
||||
<%= hidden_field_tag 'with_subprojects', 0 %>
|
||||
<label><%= check_box_tag 'with_subprojects', 1, @with_subprojects %> <%=l(:label_subproject_plural)%></label>
|
||||
<% end %>
|
||||
<%= submit_tag l(:button_apply), :class => 'sub_btn ml10', :name => nil %>
|
||||
<%= link_to l(:label_version_new), new_project_version_path(@project), :class => 'green_u_btn fr' if User.current.allowed_to?(:manage_versions, @project) %>
|
||||
<% end %>
|
||||
</fieldset>
|
||||
|
||||
<% if @versions.empty? %>
|
||||
<p class="nodata mt10"><%= l(:label_no_data) %></p>
|
||||
<% else %>
|
||||
<% @versions.each do |version| %>
|
||||
|
||||
<div class="roadmap_box" style="width:710px;">
|
||||
<p><a class=" f16 fb c_dblue ">
|
||||
<a class=" f16 fb c_dblue " ><%= version_anchor(version)%></a>
|
||||
<%#= link_to_version_show version, :name => version_anchor(version) %>
|
||||
<% if version.completed? %>
|
||||
<span style="color: #E8770D;float:right;"><%= format_date(version.effective_date) %></span>
|
||||
<% elsif version.effective_date %>
|
||||
<span style="color: #E8770D;float:right;"><strong><%= due_date_distance_in_words(version.effective_date) %></strong> (<%= format_date(version.effective_date) %>)</span>
|
||||
<% end %>
|
||||
</a>
|
||||
</p>
|
||||
<div class="roadmap_pro mb10">
|
||||
<%= render :partial => 'versions/overview', :locals => {:version => version} %>
|
||||
<%#= render(:partial => "wiki/content", :locals => {:content => version.wiki_page.content}) if version.wiki_page %>
|
||||
|
||||
</div><!--roadmap_pro end-->
|
||||
<% if (issues = @issues_by_version[version]) && issues.size > 0 %>
|
||||
<div class="roadmap_list">
|
||||
<%= form_tag({}) do -%>
|
||||
<p class="f14 mb5">»<%= l(:label_related_issues) %></p>
|
||||
<ul class="roadmap_list_ul">
|
||||
<% issues.each do |issue| -%>
|
||||
<li style="overflow:hidden">
|
||||
<%= link_to_issue_version(issue, :project => (@project != issue.project)) %>
|
||||
<span class="mr5 fr" >指派给:<%= link_to "#{User.find(issue.try(:assigned_to_id)).show_name}", user_path(issue.try(:assigned_to_id)), :class => "c_blue hidden fr", :style => "width:50px;" %></span>
|
||||
<!--里程碑列表开始-->
|
||||
<div class="new_roadmap_conbox mb10" >
|
||||
<div class="new_roadmap_navbox clear">
|
||||
<ul class="new_roadmap_nav fl" >
|
||||
<li class="new_roadmap_nav_hover">
|
||||
<%= link_to "所有<span class='new_roadmap_nav_taghover ml5'>#{@versions_count}</span>".html_safe, project_roadmap_path(@project, :type => "1"), :remote => true, :class => "new_roadmap_type_nomal", :id => "new_roadmap_type_1" %>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to "打开<span class='new_roadmap_nav_taghover ml5'>#{@versions_open_count}</span>".html_safe, project_roadmap_path(@project, :type => "2"), :remote => true, :class => "new_roadmap_type_nomal", :id => "new_roadmap_type_1" %>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to "锁定<span class='new_roadmap_nav_taghover ml5'>#{@versions_locked_count}</span>".html_safe, project_roadmap_path(@project, :type => "3"), :remote => true, :class => "new_roadmap_type_nomal", :id => "new_roadmap_type_1" %>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to "关闭<span class='new_roadmap_nav_taghover ml5'>#{@versions_closed_count}</span>".html_safe, project_roadmap_path(@project, :type => "4"), :remote => true, :class => "new_roadmap_type_nomal", :id => "new_roadmap_type_1" %>
|
||||
</li>
|
||||
<% end -%>
|
||||
</ul>
|
||||
<% end %>
|
||||
<a href="javascript:void(0);" class="btn btn-green fr mr15 mt10"> 新建 </a>
|
||||
</div>
|
||||
<% end %><!--roadmap_list end-->
|
||||
<div class="roadmap_list">
|
||||
<p class="f14 mb5">»<%= l(:label_versions_description)%></p>
|
||||
<p><%=h version.description %></p>
|
||||
<!--p class="f14 mb5">»<%#= link_to "导出:Excel", version_path(version, :format => 'xls') %></p-->
|
||||
</div><!--roadmap_list end-->
|
||||
</div><!--roadmap_box end-->
|
||||
<% end %>
|
||||
<ul class="wlist" >
|
||||
<%= pagination_links_full @versions_pages%>
|
||||
</ul>
|
||||
<div class="cl"></div>
|
||||
<% end %>
|
||||
</div><!--roadmap end-->
|
||||
<div id="version_list">
|
||||
<%= render :partial => "versions/list" %>
|
||||
</div>
|
||||
</div><!--new_roadmap end-->
|
||||
<!--里程碑列表结束-->
|
||||
|
||||
<% html_title(l(:label_roadmap)) %>
|
||||
|
||||
<%= context_menu issues_context_menu_path %>
|
||||
|
||||
<script>
|
||||
$(".project_r_h").parent().css({"width":"730px","background-color":"#fff","padding":"10px","margin-left":"10px","margin-bottom":"10px"});
|
||||
<script type="text/javascript" language="javascript">
|
||||
$(".new_roadmap_nav li").click(function(){
|
||||
$(".new_roadmap_nav li").removeClass("new_roadmap_nav_hover");
|
||||
$(this).addClass("new_roadmap_nav_hover");
|
||||
});
|
||||
</script>
|
|
@ -0,0 +1,2 @@
|
|||
$("#version_list").html('<%= escape_javascript(render :partial => 'list') %>');
|
||||
$("#pages").html('<%= pagination_links_full @version_pages, @versions_count, :per_page_links => false, :remote => @is_remote, :flag => true, :is_new => true %>');
|
|
@ -545,6 +545,7 @@ RedmineApp::Application.routes.draw do
|
|||
get '/projects/:project_id/issues/calendar', :to => 'calendars#show', :as => 'project_calendar'
|
||||
get '/issues/calendar', :to => 'calendars#show'
|
||||
|
||||
get 'projects/:id/issues/statistics', :to => 'issues#statistics', :as => 'project_issues_statistics'
|
||||
get 'projects/:id/issues/report', :to => 'reports#issue_report', :as => 'project_issues_report'
|
||||
get 'projects/:id/issues/report/:detail', :to => 'reports#issue_report_details', :as => 'project_issues_report_details'
|
||||
post '/users/:id/user_activities', :to => 'users#show', :as => "user_activities"
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 201 KiB After Width: | Height: | Size: 205 KiB |
|
@ -2175,3 +2175,27 @@ function autoHeight(id, baseheight) {
|
|||
});
|
||||
};
|
||||
|
||||
function getIssueStatistics(url){
|
||||
var tracker_id = $("#tracker_id").attr("value");
|
||||
var subject = $("#v_subject").attr("value");
|
||||
var assigned_to_id = $("#assigned_to_id").attr("value");
|
||||
var fixed_version_id = $("#fixed_version_id").attr("value");
|
||||
var status_id = $("#status_id").attr("value");
|
||||
var done_ratio = $("#done_ratio").attr("value");
|
||||
var test = $("#test").attr("value");
|
||||
var author_id = $("#author_id").attr("value");
|
||||
var priority_id = $("#priority_id").attr("value");
|
||||
var issue_create_date_start = $("#issue_date_start_issue_export").attr("value");
|
||||
var issue_create_date_end = $("#issue_date_end_issue_export").attr("value");
|
||||
|
||||
$.ajax({
|
||||
url: url,
|
||||
type: 'get',
|
||||
data: {tracker_id: tracker_id,subject:subject,assigned_to_id:assigned_to_id, fixed_version_id:fixed_version_id, status_id:status_id,done_ratio:done_ratio,test:test,author_id:author_id,priority_id:priority_id,issue_create_date_start:issue_create_date_start,issue_create_date_end:issue_create_date_end},
|
||||
success: function(data){ },
|
||||
beforeSend: function(){ },
|
||||
complete: function(){}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -214,6 +214,7 @@ h4{ font-size:14px;}/*color:#3b3b3b;*/
|
|||
.pl10 {padding-left:10px;}
|
||||
.pr5 {padding-right:5px;}
|
||||
.pr10{padding-right: 10px;}
|
||||
.pl62 {padding-left: 62px;}
|
||||
.pl15{ padding-left:15px;}
|
||||
.pt5{ padding-top:5px;}
|
||||
.pt10{ padding-top:10px;}
|
||||
|
@ -233,6 +234,7 @@ h4{ font-size:14px;}/*color:#3b3b3b;*/
|
|||
.w108 {width:108px;}
|
||||
.w125{width:125px;}
|
||||
.w128{ width:128px;}
|
||||
.w130{ width:130px;}
|
||||
.w140{ width:140px;}
|
||||
.w150{ width:150px;}
|
||||
.w170{width:170px;}
|
||||
|
|
|
@ -768,9 +768,9 @@ input.issues_calendar_input{ padding-left:5px; color:#444; border-right:none;}
|
|||
a.issues_list_title{ color:#444; max-width:380px; overflow:hidden; text-overflow:ellipsis; -o-text-overflow:ellipsis; white-space:nowrap; }
|
||||
a:hover.issues_list_title{color:#3b94d6;}
|
||||
.issues_list_titlebox span{ font-size: 12px;color: #888; font-weight: normal; }
|
||||
.issues_ciricons_01{ width: 22px; height: 22px; display: inline-block; background: url("../images/project/icons_issue.png") 0 0 no-repeat;}
|
||||
.issues_ciricons_02{ width: 22px; height: 22px; display: inline-block; background: url("../images/project/icons_issue.png") 0 -30px no-repeat;}
|
||||
.issues_icons_mes{width: 17px; height: 17px; display: inline-block; background: url("../images/project/icons_issue.png") 0 -57px no-repeat; }
|
||||
.issues_ciricons_01{ width: 22px; height: 22px; display: inline-block; background: url("/images/new_project/icons_issue.png") 0 0 no-repeat;}
|
||||
.issues_ciricons_02{ width: 22px; height: 22px; display: inline-block; background: url("/images/new_project/icons_issue.png") 0 -30px no-repeat;}
|
||||
.issues_icons_mes{width: 17px; height: 17px; display: inline-block; background: url("/images/new_project/icons_issue.png") 0 -57px no-repeat; }
|
||||
.issues_list_name{ font-size: 12px;}
|
||||
.issues_list_name:hover{ color: #3b94d6;}
|
||||
.issues_list_small{ font-size: 12px; color: #666;}
|
||||
|
@ -971,3 +971,42 @@ select.new_roadmap_select{border:1px solid #dbdbdb; color: #666;}
|
|||
.new_roadmap_table td{ padding:0 5px;}
|
||||
/*模板图标20161020byLB*/
|
||||
.muban-icons-clock{ background: url("/images/new_project/icons_issue.png") 0 -224px no-repeat; display: inline-block; width: 19px; height: 13px;}
|
||||
|
||||
/* pullreques 20161020byLB */
|
||||
.pullreques_category{ height: 35px; line-height: 35px;background: #f0f0f0; }
|
||||
.pullreques span{ float: left;}
|
||||
a.sortupbtn{ background: url(/images/sy/liststyle.png) 0 3px no-repeat;width:12px;height:17px; display:block; margin-right:10px; cursor:pointer;}
|
||||
a.sortdownbtn{background: url(/images/sy/liststyle.png) 0 -12px no-repeat; width:12px; height:17px;display:block;cursor:pointer; }
|
||||
.icons_pullreques{background: url(/images/new_project/icons_issue.png) 0 -270px no-repeat; display: inline-block; width: 25px; height: 25px;}
|
||||
.pullreques_blueicon{ background: url(/images/new_project/icons_issue.png) 0 -299px no-repeat; display: inline-block; width: 43px; height: 16px;}
|
||||
.pullreques_greyicon{ background: url(/images/new_project/icons_issue.png) 0 -322px no-repeat; display: inline-block; width: 43px; height: 16px;}
|
||||
.pullreques_greyicon02{ background: url(/images/new_project/icons_issue.png) 0 -344px no-repeat; display: inline-block; width:32px; height: 16px;}
|
||||
.pullreques_reply_textarea{ width: 100%; padding:0; height: 60px; color: #666;}
|
||||
.pullreques_reply_list li{ padding:15px 0; border-top: 1px dashed #ddd; }
|
||||
.pullreques_reply_user_img{ width:50px;height:50px; -webkit-border-radius:50px;-moz-border-radius:50px;-o-border-radius:50px;border-radius:50px;}
|
||||
a.pullreques_reply_name{ font-weight: bold; color: #333;}
|
||||
.pullreques_reply_txt{ width: 900px;color: #666;}
|
||||
.pullreques_pull_top { width: 100%; height: 40px; line-height: 40px; background: #f4f4f4; border-top:1px solid #e1e1e1;border-bottom:1px solid #e1e1e1;}
|
||||
a.pullreques_pull_name{display: block; margin-left: 10px;max-width:80px; color:#3b94d6; overflow:hidden;white-space: nowrap; text-overflow:ellipsis;}
|
||||
.pullreques_pull_list li{ height: 30px; line-height: 30px; }
|
||||
.pullreques_pull_txt{display: block; margin-left: 10px;max-width:740px; overflow:hidden;white-space: nowrap; text-overflow:ellipsis;}
|
||||
.pullreques_change_list li{height: 40px; line-height: 40px;border-bottom:1px solid #e1e1e1; }
|
||||
.pullreques_change_list li:last-child{ border-bottom: none;}
|
||||
.pullreques_icons_add{background: url(/images/new_project/icons_issue.png) 0 -374px no-repeat; display: inline-block; width: 19px; height: 16px;}
|
||||
.pullreques_icons_del{background: url(/images/new_project/icons_issue.png) 0 -399px no-repeat; display: inline-block; width: 19px; height: 16px;}
|
||||
.pullreques_icons_new{background: url(/images/new_project/icons_issue.png) 0 -421px no-repeat; display: inline-block; width: 19px; height: 16px;}
|
||||
.PullReques_minselect{border:1px solid #e1e1e1; height: 30px; line-height: 30px; width: 262px;color: #666;}
|
||||
.PullReques_maxinput{ width:900px;border:1px solid #e1e1e1; height: 30px; line-height: 30px; color: #666;}
|
||||
.PullReques_textarea{width:900px;border:1px solid #e1e1e1; height: 80px; line-height: 1.9; color: #666;}
|
||||
.PullReques_new_box li{ height: 30px; line-height: 30px; color: #666;}
|
||||
.PullReques_label{ width: 60px; text-align: right;}
|
||||
.PullReques_new_box input:focus,select:focus{border:1px solid #e1e1e1;}
|
||||
|
||||
/*模板form 20161013byLB*/
|
||||
textarea.muban_textarea{ width: 98.5%;border:1px solid #ddd; background:#fff; color:#666; padding:5px;}
|
||||
/*提示条20161020byLB*/
|
||||
.alert{ padding:10px;border: 1px solid transparent; text-align: center;}
|
||||
.alert-blue{ background-color: #d9edf7;border-color: #bce8f1; color: #3a87ad;}
|
||||
.alert-orange{ background-color: #fff9e9;border-color: #f6d0b1; color:#ee4a20;}
|
||||
.close{padding: 0;cursor: pointer; background: transparent; border: 0; -webkit-appearance: none; font-size: 21px; font-weight: bold;line-height: 1; color: #000000; text-shadow: 0 1px 0 #ffffff; opacity: 0.3;}
|
||||
.close:hover{opacity: 0.5;}
|
|
@ -1156,7 +1156,7 @@ input.new_loggin_input{
|
|||
margin-top:250px;
|
||||
}
|
||||
/*未登录回复提示*/
|
||||
.visitor-box {width:620px; height:33px; line-height:33px; text-align:center; vertical-align: middle; border:1px solid #ccc; background-color: #fff;}
|
||||
.visitor-box {height:33px; line-height:33px; text-align:center; vertical-align: middle; border:1px solid #ccc; background-color: #fff;}
|
||||
|
||||
/* 个人资料修改弹框 */
|
||||
.winbox{
|
||||
|
|
|
@ -142,6 +142,7 @@ h4{ font-size:14px; }
|
|||
.mb20{ margin-bottom:20px;}
|
||||
.mb30 {margin-bottom:30px;}
|
||||
.mb40 {margin-bottom:40px;}
|
||||
.pl62 {padding-left: 62px;}
|
||||
.pl10 {padding-left:10px;}
|
||||
.pl15{ padding-left:15px;}
|
||||
.pl5{ padding-left:5px;}
|
||||
|
|
Loading…
Reference in New Issue