From 53e792918bda655622604c5299309420bb69b19c Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Thu, 4 Apr 2019 14:48:35 +0800 Subject: [PATCH 1/4] 1 --- app/controllers/managements_controller.rb | 49 +++++++++ .../managements/_customer_addUnit.html.erb | 100 ++++++++++++++++++ app/views/managements/customers_list.js.erb | 6 ++ app/views/managements/partners.html.erb | 3 +- config/routes.rb | 2 + 5 files changed, 159 insertions(+), 1 deletion(-) create mode 100644 app/views/managements/_customer_addUnit.html.erb create mode 100644 app/views/managements/customers_list.js.erb diff --git a/app/controllers/managements_controller.rb b/app/controllers/managements_controller.rb index c92ae34d..20e40fc6 100644 --- a/app/controllers/managements_controller.rb +++ b/app/controllers/managements_controller.rb @@ -1193,6 +1193,53 @@ end end + # 添加客户 + def customers_list + @search = params[:search] + @province = params[:province] + partner_id = params[:partner] + @partner = Partner.find partner_id + @customers = @partner.customers + customer_id = @customers.present? ? @customers.map(&:id).join(",") : -1 + @schools = School.where("partner_id != ? and customer_id not in(#{customer_id})", @partner.id) + + if params[:search] + @schools = @schools.where("name like ?", "%#{@search}%") + end + + if params[:province] + @schools = @schools.where("province like ?", "%#{@province}%") + end + + @limit = 10 + @page = params[:page] || 1 + @schools_count = @schools.count + + @total_pages = (@schools_count / 10.0).ceil + @schools = paginateHelper @schools, @limit + respond_to do |format| + format.js + format.json { + render json: @schools + } + end + end + + def add_customers + school_ids = params[:school_ids] + if school_ids.length > 0 + school_ids.each do |s| + school = School.where("id = ?",s).first + if school.present? + customer = Customer.new(partner_id: params[:partner_id]) + customer.save! + school.update_attributes(:customer_id => customer.id) + end + end + render :json => {status: 1, message: "创建成功!"} + end + end + def all_partners @search = params[:search] @province = params[:province] @@ -1238,6 +1285,8 @@ end + + # 删除部门管理员 def delete_depart_member DepartmentMember.where(:department_id => params[:depart], :user_id => params[:user_id]).destroy_all diff --git a/app/views/managements/_customer_addUnit.html.erb b/app/views/managements/_customer_addUnit.html.erb new file mode 100644 index 00000000..17f31b47 --- /dev/null +++ b/app/views/managements/_customer_addUnit.html.erb @@ -0,0 +1,100 @@ +
+
添加合作伙伴
+
+
+
+ <%= render partial: "managements/partner_search_form" %> +
+ 搜索 +
+
+

+ 单位 + 地区 +

+
+ <%= render :partial => "partners_list" %> +
+

+
+ +
  • + 取消 + 确定 +
  • +
    +
    + \ No newline at end of file diff --git a/app/views/managements/customers_list.js.erb b/app/views/managements/customers_list.js.erb new file mode 100644 index 00000000..5068df4f --- /dev/null +++ b/app/views/managements/customers_list.js.erb @@ -0,0 +1,6 @@ +<% if params[:search] %> + $("#search_user_list").html("<%= j(render :partial => "partners_list") %>") +<% else %> + var html="<%= escape_javascript(render :partial => "managements/customer_addUnit",locals: {all_path: customers_list_managements_path}) %>"; + pop_box_new(html,572,500); +<% end %> diff --git a/app/views/managements/partners.html.erb b/app/views/managements/partners.html.erb index b7471786..7eeb80a0 100644 --- a/app/views/managements/partners.html.erb +++ b/app/views/managements/partners.html.erb @@ -44,7 +44,8 @@
  • 序号 客户名称 - +添加 + +添加 添加时间
  • <% @current_partner.try(:customers).try(:each) do |customer| %> diff --git a/config/routes.rb b/config/routes.rb index 2b826b52..c3ac80c7 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -711,6 +711,8 @@ RedmineApp::Application.routes.draw do ## oauth相关 post 'rename_subject_level' post 'delete_subject_level' post 'update_level_for_subject' + post :add_customers + get :customers_list end end # Enable Grack support From 29caae1c36d6138995ea17ba8d83a8ef159c0071 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Thu, 4 Apr 2019 15:38:32 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AE=A2=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/managements_controller.rb | 13 +++++++------ .../managements/_customer_addUnit.html.erb | 16 ++++++++-------- .../_customers_search_form.html.erb | 19 +++++++++++++++++++ app/views/managements/customers_list.js.erb | 2 +- app/views/managements/partners.html.erb | 2 +- 5 files changed, 36 insertions(+), 16 deletions(-) create mode 100644 app/views/managements/_customers_search_form.html.erb diff --git a/app/controllers/managements_controller.rb b/app/controllers/managements_controller.rb index 61b353cb..f571b47c 100644 --- a/app/controllers/managements_controller.rb +++ b/app/controllers/managements_controller.rb @@ -1197,20 +1197,21 @@ end def customers_list @search = params[:search] @province = params[:province] - partner_id = params[:partner] + partner_id = params[:partner_id] @partner = Partner.find partner_id @customers = @partner.customers - customer_id = @customers.present? ? @customers.map(&:id).join(",") : -1 - @schools = School.where("partner_id != ? and customer_id not in(#{customer_id})", @partner.id) - + if @customers.present? + @schools = School.where("(partner_id != ? or partner_id is NULL) and (customer_id is NULL or customer_id not in(#{@customers.map(&:id).join(",")}))", @partner.id) + else + @schools = School.where("partner_id != ? or partner_id is NULL", @partner.id) + end if params[:search] @schools = @schools.where("name like ?", "%#{@search}%") end - if params[:province] + if params[:province] && params[:province] != '0' @schools = @schools.where("province like ?", "%#{@province}%") end - @limit = 10 @page = params[:page] || 1 @schools_count = @schools.count diff --git a/app/views/managements/_customer_addUnit.html.erb b/app/views/managements/_customer_addUnit.html.erb index 17f31b47..28ff3f36 100644 --- a/app/views/managements/_customer_addUnit.html.erb +++ b/app/views/managements/_customer_addUnit.html.erb @@ -1,9 +1,9 @@
    -
    添加合作伙伴
    +
    添加客户
    - <%= render partial: "managements/partner_search_form" %> + <%= render partial: "managements/customers_search_form" %>
    搜索
    @@ -12,7 +12,7 @@ 单位 地区

    -
    +
    <%= render :partial => "partners_list" %>

    @@ -32,7 +32,7 @@ var totalpage = <%= @total_pages.to_i %>; //总页数,防止超过总页数继续滚动 var winH = $(window).height(); //页面可视区域高度 - $("#search_user_list").scroll(function() { + $("#search_customers_list").scroll(function() { if (i < totalpage) { // 当滚动的页数小于总页数的时候,继续加载 var pageH = $(document.body).height(); @@ -50,10 +50,10 @@ }); function get_schools(page) { - var msg_list = $('#search_user_list'); + var msg_list = $('#search_customers_list'); if (msg_list.height() + msg_list[0].scrollTop >= msg_list[0].scrollHeight - 60) { msg_list_loading = true; - $.getJSON("<%= all_path %>?page="+page, function(schools) { + $.getJSON("<%= all_path %>?partner_id=<%= @partner.id %>page="+page+"&search="+$("#partner_name_search").val()+"&province="+$("#partner_province").val(), function(schools) { if (schools) { msg_list_loading = false; var s_html = ""; @@ -68,7 +68,7 @@ " "+array["school"]["province"]+"" + "

    " }); - $("#search_user_list").append(s_html); + $("#search_customers_list").append(s_html); i ++; } }); @@ -90,7 +90,7 @@ success: function (e) { if(e.status === 1){ hideModal(); - window.location.href = "<%= partners_managements_path %>"; + window.location.href = "<%= partners_managements_path(partner: @partner.id) %>"; } } }) diff --git a/app/views/managements/_customers_search_form.html.erb b/app/views/managements/_customers_search_form.html.erb new file mode 100644 index 00000000..28c7ece0 --- /dev/null +++ b/app/views/managements/_customers_search_form.html.erb @@ -0,0 +1,19 @@ +<%= form_for "", :url => {:controller=> 'managements', :action => 'customers_list', :partner_id => @partner.id}, :html => {:id => 'partners_search_form'}, :method => "get", :remote => true do |f| %> +
    + 地区: + +
    +
    + 单位: + +
    + +<% end %> + + \ No newline at end of file diff --git a/app/views/managements/customers_list.js.erb b/app/views/managements/customers_list.js.erb index 5068df4f..b112b613 100644 --- a/app/views/managements/customers_list.js.erb +++ b/app/views/managements/customers_list.js.erb @@ -1,5 +1,5 @@ <% if params[:search] %> - $("#search_user_list").html("<%= j(render :partial => "partners_list") %>") + $("#search_customers_list").html("<%= j(render :partial => "partners_list") %>") <% else %> var html="<%= escape_javascript(render :partial => "managements/customer_addUnit",locals: {all_path: customers_list_managements_path}) %>"; pop_box_new(html,572,500); diff --git a/app/views/managements/partners.html.erb b/app/views/managements/partners.html.erb index 7eeb80a0..e53a20ee 100644 --- a/app/views/managements/partners.html.erb +++ b/app/views/managements/partners.html.erb @@ -44,7 +44,7 @@
  • 序号 客户名称 - +添加 添加时间
  • From c0df561a75b506ae1a0c3403a2ca6dae6bb0336f Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Thu, 4 Apr 2019 15:40:54 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E5=90=88=E4=BD=9C=E4=BC=99=E4=BC=B4?= =?UTF-8?q?=E6=8A=A5500?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/managements/partners.html.erb | 83 +++++++++++++------------ 1 file changed, 44 insertions(+), 39 deletions(-) diff --git a/app/views/managements/partners.html.erb b/app/views/managements/partners.html.erb index e53a20ee..86b241f8 100644 --- a/app/views/managements/partners.html.erb +++ b/app/views/managements/partners.html.erb @@ -15,56 +15,61 @@ <% end %>
    -
    -
    -
    -
    -

    添加时间<%= format_time @current_partner.try(:created_at) %>

    -
    - 管理员 -
      -
    • - <%= link_to '+', add_partner_member_box_managements_path(:partner => 1), :remote => true, :class => "addManage" %> -
    • + <% if @current_partner.present? %> +
      +
      +
      +
      +

      + 添加时间<%= format_time @current_partner.try(:created_at) %> +

      +
      + 管理员 +
        +
      • + <%= link_to '+', add_partner_member_box_managements_path(:partner => 1), :remote => true, :class => "addManage" %> +
      • - <% unless @current_partner.nil? %> - <% @current_partner.users.each_with_index do |user, index| %> -
      • - <%= image_tag(url_to_avatar(user)) %> - - - -
      • + <% unless @current_partner.nil? %> + <% @current_partner.users.each_with_index do |user, index| %> +
      • + <%= image_tag(url_to_avatar(user)) %> + + + +
      • + <% end %> <% end %> - <% end %> -
      +
    +
    -
    -
    -
  • - 序号 - 客户名称 - +添加 - 添加时间 -
  • - <% @current_partner.try(:customers).try(:each) do |customer| %> -
  • - <%= customer.school.id %> - <%= customer.school.name %> - +
    +
  • + 序号 + 客户名称 + +添加 + 添加时间 +
  • + <% @current_partner.try(:customers).try(:each) do |customer| %> +
  • + <%= customer.school.id %> + <%= customer.school.name %> + 删除 - + 2019-04-03 16:04 -
  • - <% end %> + + <% end %> +
    -
    + <% end %> +