From 527e67d5d58a320564ca92dd45bc12adc8ae47ad Mon Sep 17 00:00:00 2001
From: cxt <853663049@qq.com>
Date: Wed, 10 Jul 2019 17:41:03 +0800
Subject: [PATCH] =?UTF-8?q?=E5=8D=95=E4=BD=8D=E9=83=A8=E9=97=A8=E5=90=8D?=
=?UTF-8?q?=E7=A7=B0=E6=97=A0=E6=B3=95=E7=9B=B4=E6=8E=A5=E4=BF=AE=E6=94=B9?=
=?UTF-8?q?=E3=80=81=E5=90=88=E5=B9=B6=E7=9A=84url=E6=B2=A1=E6=9C=89?=
=?UTF-8?q?=E8=81=94=E5=8A=A8=E8=BF=87=E6=9D=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/managements_controller.rb | 21 +++++++++++++++++--
.../managements/_departments_list.html.erb | 12 +++++++++--
.../managements/_edit_depart_name.html.erb | 15 +++++++++++++
.../managements/update_depart_name.js.erb | 1 +
config/routes.rb | 2 ++
public/javascripts/edu/management.js | 21 +++++++++++++++++++
6 files changed, 68 insertions(+), 4 deletions(-)
create mode 100644 app/views/managements/_edit_depart_name.html.erb
create mode 100644 app/views/managements/update_depart_name.js.erb
diff --git a/app/controllers/managements_controller.rb b/app/controllers/managements_controller.rb
index 67ea8b57..d3336e08 100644
--- a/app/controllers/managements_controller.rb
+++ b/app/controllers/managements_controller.rb
@@ -1481,7 +1481,7 @@ end
redirect_to departments_managements_path
end
- # 修改单位部门列表
+ # 更改单位部门列表
def update_department
dep = Department.find params[:department_id]
@edit_id = params[:department_id]
@@ -1498,6 +1498,22 @@ end
end
end
+ # 修改部门名称
+ def update_depart_name
+ @depart = Department.find(params[:depart_id])
+ @depart.update_attributes(:name => params[:depart_name]) if @depart.school.departments.where(name: params[:depart_name]).count == 0
+ end
+
+ # 检查是否存在同名的部门
+ def check_depart_name
+ depart = Department.find(params[:depart_id])
+ if depart.school.departments.where(name: params[:depart_name]).count == 0
+ render :json => {status: 0, message: ""}
+ else
+ render :json => {status: -1, message: "该名称已存在"}
+ end
+ end
+
def edit_departments_school
begin
dep = Department.find(params[:department_id])
@@ -1511,9 +1527,10 @@ end
# ApplyAddDepartment.where(:department_id =>params[:departments]).update_all(:department_id=>department_id)
# users = UserExtensions.where("department_id = #{alt_dep.department_id}")
# users.update_all(:department_id => department.id)
- apply_dep.destroy_all;
+ apply_dep.destroy_all
users = UserExtensions.where(:department_id => params[:alter_dep_id])
users.update_all(:department_id => dep.id)
+ dep.update_attributes(:identifier => alter_dep.identifier) if dep.identifier.nil? && alter_dep.identifier.present?
alter_dep.destroy
end
rescue Exception => e
diff --git a/app/views/managements/_departments_list.html.erb b/app/views/managements/_departments_list.html.erb
index 26bad842..f9ba8659 100644
--- a/app/views/managements/_departments_list.html.erb
+++ b/app/views/managements/_departments_list.html.erb
@@ -17,7 +17,7 @@
<% @department.each_with_index do |department,index| %>
<%= (@page -1) * @limit + index + 1 %> |
- <%= department.name %> |
+ <%= department.name %> |
<%= School.where(:id => department.school_id).first %> |
<%= UserExtensions.where(:department_id => department.id, :school_id => department.school_id ).count %> |
<%= User.where(:id => UserExtensions.where(:department_id => department.id, :school_id => department.school_id).map(&:user_id),:professional_certification => 1).count %> |
@@ -38,8 +38,9 @@
<%= format_time department.created_at %> |
- 删除
+ 删除
<%= link_to '更改', update_department_managements_path(:school_id=> department.school_id,:department_id => department.id), :remote => true, :class => "application-default-link" %>
+ 修改
|
<% end %>
@@ -78,4 +79,11 @@
$("#update_host_count_depart_id").val(id);
$("input[name='host_count']").val($("#depart_host_count_"+id).html().trim());
}
+
+ function editDepartName(id){
+ var htmlvalue = "<%= escape_javascript(render :partial => 'managements/edit_depart_name') %>";
+ pop_box_new(htmlvalue,400,204);
+ $("#update_depart_name_depart_id").val(id);
+ $("input[name='depart_name']").val($("#department_name_"+id).html().trim());
+ }
diff --git a/app/views/managements/_edit_depart_name.html.erb b/app/views/managements/_edit_depart_name.html.erb
new file mode 100644
index 00000000..fadcf5a2
--- /dev/null
+++ b/app/views/managements/_edit_depart_name.html.erb
@@ -0,0 +1,15 @@
+
\ No newline at end of file
diff --git a/app/views/managements/update_depart_name.js.erb b/app/views/managements/update_depart_name.js.erb
new file mode 100644
index 00000000..24a2e19b
--- /dev/null
+++ b/app/views/managements/update_depart_name.js.erb
@@ -0,0 +1 @@
+$("#department_name_<%= @depart.id %>").html("<%= params[:depart_name] %>");
\ No newline at end of file
diff --git a/config/routes.rb b/config/routes.rb
index c9d01c3b..f5fafc29 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -629,6 +629,8 @@ RedmineApp::Application.routes.draw do ## oauth相关
match 'new_major', :via => [:get, :post]
post 'insert_major'
match 'update_department',:via => [:get, :post]
+ post 'update_depart_name'
+ get 'check_depart_name'
post 'edit_departments_school'
get 'create_departments'
post 'add_department'
diff --git a/public/javascripts/edu/management.js b/public/javascripts/edu/management.js
index f8571035..e755c5fd 100644
--- a/public/javascripts/edu/management.js
+++ b/public/javascripts/edu/management.js
@@ -26,6 +26,27 @@ function submit_depart_host_count(){
}
}
+function submit_depart_name_form(){
+ if($("input[name='depart_name']").val().trim() == ""){
+ $("#update_depart_name_notice").html("名称不能为空").show();
+ } else {
+ $.ajax({
+ type: "GET",
+ url: '/managements/check_depart_name',
+ data: {depart_id: $("#update_depart_name_depart_id").val(), depart_name: $("input[name='depart_name']").val().trim()},
+ success: function (data) {
+ if(data.status == 0){
+ $("#update_depart_name_notice").hide();
+ $('#update_depart_name_form').submit();
+ hideModal();
+ } else{
+ $("#update_depart_name_notice").html("该名称已存在").show();
+ }
+ }
+ });
+ }
+}
+
/*--------------------------- 用户授权全选 -------------------------------*/
$("#all_member_select").live('click', function(){
if($("#all_member_select").is(':checked')){