You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
327 lines
17 KiB
327 lines
17 KiB
<%= content_for(:header_tags) do %>
|
|
<%= import_ke(enable_at: true,init_activity: true) %>
|
|
<% end %>
|
|
|
|
<script xmlns="http://www.w3.org/1999/html">
|
|
function add_style(){
|
|
if($("select[id='tracker_id']").val() != 0){
|
|
$("#tracker_id").addClass('issues_filter_active');
|
|
}
|
|
if($("select[id='author_id']").val() != 0){
|
|
$("#author_id").addClass('issues_filter_active');
|
|
}
|
|
if($("select[id='assigned_to_id']").val() !=0){
|
|
$("#assigned_to_id").addClass('issues_filter_active');
|
|
}
|
|
if($("select[id='priority_id']").val() !=0){
|
|
$("#priority_id").addClass('issues_filter_active');
|
|
}
|
|
if($("select[id='fixed_version_id']").val() !=0){
|
|
$("#fixed_version_id").addClass('issues_filter_active');
|
|
}
|
|
if($("select[id='status_id']").val() != 0 ){
|
|
$("#status_id").addClass('issues_filter_active');
|
|
}
|
|
if($("select[id='done_ratio']").val() != -1){
|
|
$("#done_ratio").addClass('issues_filter_active');
|
|
}
|
|
if($("select[id='test']").val() != 0 ){
|
|
$("#test").addClass('issues_filter_active');
|
|
}
|
|
if($("select[id='tracker_id']").val() == 0){
|
|
$("#tracker_id").removeClass('issues_filter_active');
|
|
}
|
|
if($("select[id='author_id']").val() == 0){
|
|
$("#author_id").removeClass('issues_filter_active');
|
|
}
|
|
if($("select[id='assigned_to_id']").val() ==0){
|
|
$("#assigned_to_id").removeClass('issues_filter_active');
|
|
}
|
|
if($("select[id='priority_id']").val() ==0){
|
|
$("#priority_id").removeClass('issues_filter_active');
|
|
}
|
|
if($("select[id='fixed_version_id']").val() ==0){
|
|
$("#fixed_version_id").removeClass('issues_filter_active');
|
|
}
|
|
if($("select[id='status_id']").val() == 0 ){
|
|
$("#status_id").removeClass('issues_filter_active');
|
|
}
|
|
if($("select[id='done_ratio']").val() == -1){
|
|
$("#done_ratio").removeClass('issues_filter_active');
|
|
}
|
|
if($("select[id='test']").val() == 0 ){
|
|
$("#test").removeClass('issues_filter_active');
|
|
}
|
|
};
|
|
//issues列表
|
|
function g(o){
|
|
return document.getElementById(o);
|
|
}
|
|
function HoverLi(n){
|
|
//如果有N个标签,就将i<=N;
|
|
for(var i=1;i<=3;i++){
|
|
g('issues_list_nav_'+i).className='issues_nav_nomal';
|
|
g('issues_list_content_'+i).className='undis';
|
|
}
|
|
g('issues_list_content_'+n).className='dis';
|
|
g('issues_list_nav_'+n).className='issues_nav_hover';
|
|
}
|
|
$(function(){
|
|
$("#RSide").removeAttr("id");
|
|
//$("#Container").css("width","1000px");
|
|
$("input[nhname='date_show']").change(function(){
|
|
if($(this).val()=='创建日期起始' || $(this).val()=='创建日期结束')return;
|
|
$("input[nhname='date_val']",$(this).parent('div')).val($(this).val());
|
|
remote_function();
|
|
});
|
|
|
|
});
|
|
function remote_function() {
|
|
if($.trim($("#issue_create_date_end_show").val()) !="" && Date.parse($.trim($("#issue_create_date_end_show").val())) < Date.parse($.trim($("#issue_create_date_start_show").val()))){
|
|
alert("开始日期不能大于结束日期!");
|
|
}
|
|
$("#issue_query_form").submit();
|
|
// $.ajax({
|
|
// url:'<%#= project_issues_path(@project)%>',
|
|
// data:{
|
|
// subject:$("#v_subject").attr("value").replace(/(^\s*)|(\s*$)/g, ""),
|
|
// status_id: $("#status_id").attr("value").replace(/(^\s*)|(\s*$)/g, ""),
|
|
// assigned_to_id: $("#assigned_to_id option:selected").attr("value").replace(/(^\s*)|(\s*$)/g, ""),
|
|
// priority_id: $("#priority_id option:selected").attr("value").replace(/(^\s*)|(\s*$)/g, ""),
|
|
// author_id: $("#author_id option:selected").attr("value").replace(/(^\s*)|(\s*$)/g, "")
|
|
// },
|
|
// success: function(data){
|
|
// },
|
|
// error: function(data){
|
|
// }
|
|
// });
|
|
}
|
|
|
|
function remote_function_export(project_id) {
|
|
// $("#export_issue_hidden").attr("value","1");
|
|
// $("#issue_query_form").attr("set_filter","1");
|
|
// $("#issue_query_form").attr("action","/projects/"+project_id+"/issues.xls");
|
|
// $("#issue_query_form").submit();
|
|
// $("#issue_query_form").attr("action","/projects/"+project_id+"/issues");
|
|
// $("#issue_query_form").removeAttr("format");
|
|
// $("#issue_query_form").attr("set_filter","0");
|
|
// $("#export_issue_hidden").attr("value","0");
|
|
|
|
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");
|
|
$("#sendexcel").attr("href","/projects/"+project_id+"/issues.xls?export=true&set_filter=1&tracker_id="+tracker_id+"&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+"&subject="+subject+"&issue_create_date_start="+issue_create_date_start+"&issue_create_date_end="+issue_create_date_end+"&priority_id="+priority_id);
|
|
///projects/1811/issues.xls?export=true&set_filter=1
|
|
}
|
|
|
|
// function nh_reset_form() {
|
|
// $("#issue_query_form")[0].reset();
|
|
// $("input[nhname='date_val']").val('');//涛哥的火狐reset 清不掉这个值 我擦
|
|
// remote_function();
|
|
// }
|
|
|
|
function EnterPress(e){
|
|
var e = e || window.event;
|
|
if(e.keyCode == 13){
|
|
remote_function();
|
|
}
|
|
}
|
|
|
|
// 点击的时候让过滤条件选中assign_to
|
|
function switch_assign_to(assign) {
|
|
var assign = "option[value =" + assign + "]";
|
|
$("#issues_type_2").click(function(){
|
|
|
|
});
|
|
$("select[id='assigned_to_id']").find(assign).attr("selected", "selected");
|
|
$("select[id='author_id']").val('');
|
|
$("select[id='priority_id']").val('');
|
|
$("select[id='tracker_id']").val('');
|
|
$("select[id='fixed_version_id']").val('');
|
|
$("select[id='status_id']").val('');
|
|
$("select[id='done_ratio']").val('');
|
|
$("select[id='test']").val('');
|
|
$("#tracker_id").removeClass('issues_filter_active');
|
|
$("#author_id").removeClass('issues_filter_active');
|
|
$("#assigned_to_id").addClass('issues_filter_active');
|
|
$("#priority_id").removeClass('issues_filter_active');
|
|
$("#fixed_version_id").removeClass('issues_filter_active');
|
|
$("#status_id").removeClass('issues_filter_active');
|
|
$("#done_ratio").removeClass('issues_filter_active');
|
|
$("#test").removeClass('issues_filter_active');
|
|
remote_function();
|
|
}
|
|
|
|
// 点击的时候让过滤条件选中user_id
|
|
function createByMe(user_id) {
|
|
var user = "option[value =" + user_id + "]";
|
|
$("#createByMe").click(function(){
|
|
|
|
});
|
|
$("select[id='author_id']").find(user).attr("selected", "selected");
|
|
$("select[id='assigned_to_id']").val('');
|
|
$("select[id='priority_id']").val('');
|
|
$("select[id='tracker_id']").val('');
|
|
$("select[id='fixed_version_id']").val('');
|
|
$("select[id='status_id']").val('');
|
|
$("select[id='done_ratio']").val('');
|
|
$("select[id='test']").val('');
|
|
$("#tracker_id").removeClass('issues_filter_active');
|
|
$("#author_id").addClass('issues_filter_active');
|
|
$("#assigned_to_id").removeClass('issues_filter_active');
|
|
$("#priority_id").removeClass('issues_filter_active');
|
|
$("#fixed_version_id").removeClass('issues_filter_active');
|
|
$("#status_id").removeClass('issues_filter_active');
|
|
$("#done_ratio").removeClass('issues_filter_active');
|
|
$("#test").removeClass('issues_filter_active');
|
|
remote_function();
|
|
}
|
|
// 清楚表单所有选项
|
|
function all_reset_form() {
|
|
$("#issue_query_form")[0].reset();
|
|
$("select[id='author_id']").val('');
|
|
$("select[id='assigned_to_id']").val('');
|
|
$("input[nhname='date_val']").val('');
|
|
$("#tracker_id").removeClass('issues_filter_active');
|
|
$("#author_id").removeClass('issues_filter_active');
|
|
$("#assigned_to_id").removeClass('issues_filter_active');
|
|
$("#priority_id").removeClass('issues_filter_active');
|
|
$("#fixed_version_id").removeClass('issues_filter_active');
|
|
$("#status_id").removeClass('issues_filter_active');
|
|
$("#done_ratio").removeClass('issues_filter_active');
|
|
$("#test").removeClass('issues_filter_active');
|
|
remote_function();
|
|
}
|
|
</script>
|
|
|
|
<!--缺陷列表开始-->
|
|
<div id="myissues_con" class="myissues_con mb20">
|
|
<div class="clear mb5">
|
|
<div class="issues_statistics fl clear">
|
|
<ul>
|
|
<li>所有<a href="javascript:void(0);" class="issues_greycirbg_btn "><%= @issues_filter.count %></a></li>
|
|
<li>开启<a href="javascript:void(0);" class="issues_greycirbg_btn "><%= @issue_open_count %></a></li>
|
|
<li>关闭<a href="javascript:void(0);" class="issues_greycirbg_btn "><%= @issue_close_count %></a></li>
|
|
</ul>
|
|
</div><!--issues_statistics end-->
|
|
<% if User.current.admin? || User.current.member_of?(@project) %>
|
|
<a href="<%= new_project_issue_path(@project)%>" class="shixun-task-btn task-btn-orange fr " >新建</a>
|
|
<% end %>
|
|
</div>
|
|
<% if @issues.empty? %>
|
|
<%= render :partial => "welcome/no_data" %>
|
|
<% else %>
|
|
<% unless @project.enabled_modules.where("name = 'issue_tracking'").empty? %>
|
|
<%= form_tag({:controller => 'issues', :action => 'index', :project_id => @project},:remote=>'xls', :method => :get,:id=>"issue_query_form", :class => 'query_form') do %>
|
|
<%= hidden_field_tag 'set_filter', '1' %>
|
|
<%= hidden_field_tag 'export_issue_hidden', '0' %>
|
|
<div class="clear mb10">
|
|
<div class="hw_search_box fl ">
|
|
<input class="hw_search-input" placeholder="输入Issue名称进行搜索" type="text" id="v_subject" name="subject" onkeypress="EnterPress(event)" onkeydown="EnterPress()">
|
|
<a href="javascript:void(0);" class="hw_btn_search" onclick="remote_function();" ></a>
|
|
</div>
|
|
<a href="javascript:void(0);" class="sy_btn_grey fl ml5" onclick="HoverLi(1);all_reset_form();">清除</a>
|
|
|
|
<div class="calendar_div fr">
|
|
<input id="issue_date_end_issue_export" name="issue_create_date_end" nhname="date_val" type="hidden"/>
|
|
<input type="text" nhname="date_show" id="issue_create_date_end_show" class="InputBox fl W120 calendar_input" readonly="readonly" size="13" placeholder="结束日期">
|
|
<%= calendar_for('issue_create_date_end_show')%>
|
|
</div>
|
|
<div class="calendar_div fr">
|
|
<input id="issue_date_start_issue_export" name="issue_create_date_start" nhname="date_val" type="hidden"/>
|
|
<input type="text" nhname="date_show" id="issue_create_date_start_show" class="InputBox fl W120 calendar_input" readonly="readonly" size="13" placeholder="开始日期">
|
|
<%= calendar_for('issue_create_date_start_show')%>
|
|
</div>
|
|
</div>
|
|
<div class="issues_con_list clearfix" style="position: relative;">
|
|
<ul id="issues_list_nav" class="clearfix">
|
|
<li id="issues_list_nav_1" onclick="HoverLi(1);all_reset_form();" class="issues_nav_hover">
|
|
<a href="javascript:void(0);" id="issues_type_1" >搜索结果</a>
|
|
<span id="issue_filter_all"><%= render :partial => "issues/issue_filter_all" %></span>
|
|
</li>
|
|
<li id="issues_list_nav_2" onclick="HoverLi(2);switch_assign_to(<%= User.current.id %>);">
|
|
<a href="javascript:void(0);" id="issues_type_2" >指派给我
|
|
<span id="issue_assigned_count"><%= render :partial => "issues/issue_filter" %></span>
|
|
</a>
|
|
</li>
|
|
<li id="issues_list_nav_3" onclick="HoverLi(3);createByMe(<%= User.current.id %>)">
|
|
<a href="javascript:void(0);" id="issues_type_3" >我的发布
|
|
<span id="issue_author_count"><%= render :partial => "issues/issue_filter_author" %></span>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
<div class="issues_filter">
|
|
<div class="issues_form_filter mt10 mr5 clearfix">
|
|
<%= select( :issue,:user_id, @project.members.order("lower(users.login)").map{|c| [User.find(c.user_id).show_name, c.user_id]}.unshift(["发布人",0]),
|
|
{ :include_blank => false,:selected=>@author_id ? @author_id : 0},
|
|
{:onchange=>"remote_function();add_style();",:id=>"author_id",:name=>"author_id",:class=>"fl "}
|
|
)
|
|
%>
|
|
|
|
<%= select( :issue, :user_id, principals_options_for_isuue_list(@project),
|
|
{ :include_blank => false,:selected=>@assign_to_id ? @assign_to_id : 0
|
|
},
|
|
{:onchange=>"remote_function();add_style();",:id=>"assigned_to_id",:name=>"assigned_to_id",:class=>"fl"}
|
|
)
|
|
%>
|
|
|
|
<%= select(:issue, :tracker, [["缺陷",1],["功能",2],["支持",3],["任务",4],["周报",5]].unshift(["类型",0]),
|
|
{:include_blank => false, :selected => @tracker_id ? @tracker_id : 0},
|
|
{:onchange => "remote_function();add_style();", :id => "tracker_id", :name => "tracker_id", :class => "fl issues_filter_select_min "}) %>
|
|
|
|
<%= select( :issue,:prior, [["低",1],["正常",2],["高",3],["紧急",4],["立刻",5]].unshift(["优先度",0]),
|
|
{ :include_blank => false,:selected=>@priority_id ? @priority_id : 0
|
|
},
|
|
{:onchange=>"remote_function();add_style();",:id=>"priority_id",:name=>"priority_id",:class=>"fl issues_filter_select_min02"}
|
|
)
|
|
%>
|
|
|
|
<%= select(:issue, :fixed_version, options_for_version_isuue_list(@project),
|
|
{:include_blank => false, :selected => @fixed_version_id ? @fixed_version_id : 0},
|
|
{:onchange => "remote_function();add_style();", :id => "fixed_version_id", :name => "fixed_version_id", :class => "fl issues_filter_select_max mr5"}) %>
|
|
|
|
<%= select( :issue,:status, [["新增",1],["正在解决",2],["已解决",3],["反馈",4],["关闭",5],["拒绝",6]].unshift(["状态",0]),
|
|
{ :include_blank => false,:selected=>@status_id ? @status_id : 0
|
|
},
|
|
{:onchange=>"remote_function();add_style();",:id=>"status_id",:name=>"status_id",:class=>"fl issues_filter_select_min"}
|
|
)
|
|
%>
|
|
|
|
<%= select( :issue,:done_ratio, ((0..10).to_a.collect { |r| ["#{r*10} %", r*10] }).unshift(["完成度",-1]),
|
|
{:include_blank => false, :selected => @done_ratio ? @done_ratio : -1},
|
|
{:onchange=>"remote_function();add_style();",:id=>"done_ratio",:name=>"done_ratio",:class=>"fl issues_filter_select_min02"}) %>
|
|
|
|
<%= select(:issue, :test, [["最新创建",1],["最早创建",2],["最近更新",3],["最早更新", 4]].unshift(["排序",0]),
|
|
{:include_blank => false, :selected => @test ? @test : 0 },
|
|
{:onchange => "remote_function();add_style();", :id => "test", :name => "test", :class => "fr issues_filter_select_min"}) %>
|
|
|
|
</div>
|
|
</div><!--issues_filter end-->
|
|
<div id="issue_list">
|
|
<%= render :partial => 'issues/all_list', :locals => {:issues => @issues, :query => @query,:issue_pages=>@issue_pages,:issue_count=>@issue_count,:project=>@project,:subject=>@subject} %>
|
|
</div>
|
|
</div>
|
|
<% end %>
|
|
|
|
<% end %>
|
|
|
|
|
|
<% end %>
|
|
<%#= render :partial => 'issues/all_list', :locals => {:issues => @issues, :query => @query,:issue_pages=>@issue_pages,:issue_count=>@issue_count,:project=>@project,:subject=>@subject} %>
|
|
</div><!--issues_con_list end-->
|
|
|
|
<!--issues_filter end-->
|
|
<div id="issues_list_content_1"></div><!--issues_list_content_1 end-->
|
|
<div id="issues_list_content_2" class="undis"></div><!--issues_list_content_2 end-->
|
|
<div id="issues_list_content_3" class="undis"></div><!--issues_list_content_3 end-->
|
|
<!--缺陷列表结束-->
|
|
|