parent
dc04d43f9c
commit
6cf21f155f
@ -1,22 +0,0 @@
|
||||
$(document).on('turbolinks:load', function() {
|
||||
var $editModal = $('.department-apply-edit-modal');
|
||||
if($editModal.length > 0){
|
||||
var $form = $editModal.find('form.department-apply-form');
|
||||
var $applyIdInput = $form.find('input[name="id"]');
|
||||
$editModal.on('show.bs.modal', function (event) {
|
||||
var $link = $(event.relatedTarget);
|
||||
var applyId = $link.data('id');
|
||||
$applyIdInput.val(applyId);
|
||||
});
|
||||
$editModal.on('click', '.submit-btn', function(){
|
||||
$.ajax({
|
||||
method: "PUT",
|
||||
dataType: 'script',
|
||||
url: "/admins/department_applies/"+ $applyIdInput.val(),
|
||||
data: $form.serialize(),
|
||||
}).done(function(){
|
||||
$editModal.modal('hide');
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
@ -0,0 +1,122 @@
|
||||
class Admins::UnitAppliesController < Admins::BaseController
|
||||
before_action :get_apply,only: [:agree,:destroy,:edit,:update]
|
||||
|
||||
def index
|
||||
params[:sort_by] ||= 'created_at'
|
||||
params[:sort_direction] ||= 'desc'
|
||||
unit_applies = Admins::UnitApplyQuery.call(params)
|
||||
@unit_applies = paginate unit_applies.preload(:school, :user)
|
||||
end
|
||||
|
||||
def agree
|
||||
ActiveRecord::Base.transaction do
|
||||
begin
|
||||
@unit_apply.update_attribute("status",1)
|
||||
@unit_apply&.applied_messages&.update_all(status:1)
|
||||
@unit_apply&.school&.update_attribute("province",@unit_apply.province)
|
||||
|
||||
# #申请信息的创建
|
||||
apply_message_params = {
|
||||
user_id: @unit_apply&.user_id,
|
||||
status: 1,
|
||||
viewed: 0,
|
||||
applied_id: @unit_apply.school_id,
|
||||
applied_type: "ApplyAddSchools",
|
||||
name: @unit_apply.name,
|
||||
}
|
||||
AppliedMessage.new(apply_message_params).save(validate: false)
|
||||
|
||||
Tiding.where(user_id: 1, trigger_user_id: @unit_apply.user_id, container_id: @unit_apply.id,
|
||||
container_type: 'ApplyAddSchools', status: 0, tiding_type: "Apply").update_all(status: 1)
|
||||
#消息的创建
|
||||
tiding_params = {
|
||||
user_id: @unit_apply.user_id,
|
||||
trigger_user_id: 0,
|
||||
container_id: @unit_apply.id,
|
||||
container_type: 'ApplyAddSchools',
|
||||
belong_container_id: @unit_apply.school_id,
|
||||
belong_container_type: "School",
|
||||
tiding_type: "System",
|
||||
status: 1
|
||||
}
|
||||
Tiding.create(tiding_params)
|
||||
render_success_js
|
||||
rescue Exception => e
|
||||
Rails.logger.info("############_________________#########{e}")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def destroy
|
||||
Admins::DeleteUnitApplyService.call(@unit_apply, params)
|
||||
render_success_js
|
||||
end
|
||||
|
||||
def edit
|
||||
@all_schools = School.where.not(id: @unit_apply.school_id).pluck("name","id")
|
||||
|
||||
end
|
||||
|
||||
def update
|
||||
school = School.find_by(id: params[:school_id])
|
||||
ActiveRecord::Base.transaction do
|
||||
@unit_apply&.applied_messages&.update_all(status:4)
|
||||
Tiding.where(user_id: 1, trigger_user_id: @unit_apply.user_id, container_id: @unit_apply.id,
|
||||
container_type: 'ApplyAddSchools', status: 0, tiding_type: "Apply").update_all(status: 1)
|
||||
|
||||
#消息的创建
|
||||
tiding_params = {
|
||||
user_id: @unit_apply.user_id,
|
||||
trigger_user_id: 0,
|
||||
container_id: @unit_apply.id,
|
||||
container_type: 'ApplyAddSchools',
|
||||
belong_container_id: params[:school_id],
|
||||
belong_container_type: "School",
|
||||
tiding_type: "System",
|
||||
status: 3,
|
||||
extra: school.try(:name).to_s
|
||||
}
|
||||
Tiding.create(tiding_params)
|
||||
|
||||
UserExtension.where(school_id: @unit_apply.school_id).update_all(school_id: params[:school_id].to_i)
|
||||
ApplyAddDepartment.where(:school_id => @unit_apply.school_id).update_all(school_id: params[:school_id].to_i)
|
||||
|
||||
# 判断重复
|
||||
before_apply_departments = Department.where(school_id: @unit_apply.school_id)
|
||||
before_apply_departments.each do |department|
|
||||
after_dep = Department.where(school_id: params[:school_id].to_i, name: department.name)&.first
|
||||
if after_dep.present?
|
||||
UserExtension.where(school_id: @unit_apply.school_id, department_id: department.id).update_all(department_id: after_dep.id)
|
||||
department.destroy
|
||||
department.apply_add_departments.destroy_all
|
||||
else
|
||||
department.apply_add_departments.update_all(school_id: school.id)
|
||||
department.update_attribute(:school_id, school.id)
|
||||
end
|
||||
end
|
||||
|
||||
@unit_apply&.school&.destroy
|
||||
apply_params = {
|
||||
status: 2,
|
||||
name: school&.name.to_s,
|
||||
school_id: params[:school_id],
|
||||
province: params[:province],
|
||||
city: params[:city],
|
||||
address: params[:address]
|
||||
}
|
||||
@unit_apply.update_attributes(apply_params)
|
||||
# render_success_js
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def get_apply
|
||||
@unit_apply = ApplyAddSchool.find_by(id:params[:id])
|
||||
end
|
||||
|
||||
def disk_auth_filename(source_type, source_id, type)
|
||||
File.join(storage_path, "#{source_type}", "#{source_id}#{type}")
|
||||
end
|
||||
end
|
||||
|
@ -0,0 +1,24 @@
|
||||
class Admins::UnitApplyQuery < ApplicationQuery
|
||||
include CustomSortable
|
||||
|
||||
attr_reader :params
|
||||
|
||||
sort_columns :created_at, default_by: :created_at, default_direction: :desc
|
||||
|
||||
def initialize(params)
|
||||
@params = params
|
||||
end
|
||||
|
||||
def call
|
||||
unit_applies = ApplyAddSchool.where(status:0)
|
||||
|
||||
# 关键字模糊查询
|
||||
keyword = params[:keyword].to_s.strip
|
||||
if keyword.present?
|
||||
unit_applies = unit_applies.where("name like ?","%#{keyword}%")
|
||||
end
|
||||
|
||||
custom_sort(unit_applies, params[:sort_by], params[:sort_direction])
|
||||
end
|
||||
end
|
||||
|
@ -0,0 +1,56 @@
|
||||
class Admins::DeleteUnitApplyService < ApplicationService
|
||||
|
||||
attr_reader :department, :params
|
||||
|
||||
def initialize(unit_apply, params)
|
||||
@unit_apply = unit_apply
|
||||
@params = params
|
||||
end
|
||||
|
||||
def call
|
||||
ActiveRecord::Base.transaction do
|
||||
@unit_apply.update_attribute("status",3)
|
||||
@unit_apply&.applied_messages&.update_all(status:3)
|
||||
@unit_apply&.school&.apply_add_departments&.update_all(status:3)
|
||||
|
||||
applied_departments = ApplyAddDepartment.where(school_id: @unit_apply.school_id)
|
||||
applied_departments.update_all(status: 3)
|
||||
|
||||
use_extensions = UserExtension&.where(school_id: @unit_apply.school_id)
|
||||
user_ids = UserExtension&.where(school_id: @unit_apply.school_id)&.pluck(:user_id)
|
||||
User.where(id: user_ids).update_all(profile_completed: false)
|
||||
use_extensions.update_all(school_id: nil,department_id: nil)
|
||||
|
||||
@unit_apply&.user&.user_extension&.update_attribute("department_id", nil)
|
||||
|
||||
# 申请了职业认证的用户撤销申请
|
||||
apply_user_auth = ApplyUserAuthentication.where(user_id: user_ids, auth_type: 2, status: 0)
|
||||
apply_user_auth.each do |apply|
|
||||
apply.tidings.destroy_all
|
||||
apply.update_attribute('status', 3)
|
||||
diskfile2 = disk_auth_filename('UserAuthentication', apply.user_id, 'PRO')
|
||||
diskfilePRO = diskfile2 + 'temp'
|
||||
File.delete(diskfilePRO) if File.exist?(diskfilePRO)
|
||||
File.delete(diskfile2) if File.exist?(diskfile2)
|
||||
end
|
||||
|
||||
# 未审批删除
|
||||
if params[:tip] == "unapplied"
|
||||
Tiding.where(:user_id => 1, :trigger_user_id => @unit_apply.user_id, :container_id => @unit_apply.id, :container_type => 'ApplyAddSchools', :status => 0, :tiding_type => "Apply").update_all(status: 1)
|
||||
Tiding.create(:user_id => @unit_apply.user_id, :trigger_user_id => 0, :container_id => @unit_apply.id, :container_type =>'ApplyAddSchools', :belong_container_id => @unit_apply.school_id, :belong_container_type=> 'School', :tiding_type => "System", :status => 2, :extra => params[:reason])
|
||||
|
||||
Tiding.where(:user_id => 1, :container_id => applied_departments.pluck(:id), :container_type => 'ApplyAddDepartment', :status => 0, :tiding_type => "Apply").update_all(status: 1)
|
||||
if applied_departments&.first.present?
|
||||
Tiding.create(:user_id => applied_departments.first.user_id, :trigger_user_id => 0, :container_id => applied_departments.first.id, :container_type =>'ApplyAddDepartment', :belong_container_id => @unit_apply.school_id, :belong_container_type=> 'School', :tiding_type => "System", :status => 2)
|
||||
AppliedMessage.create(:user_id => applied_departments.first.user_id, :status => 3, :viewed => 0, :applied_id => applied_departments.first.id, :applied_type => "ApplyAddDepartment", :name => applied_departments.first.name )
|
||||
end
|
||||
@unit_apply&.school&.destroy
|
||||
@unit_apply&.school&.departments&.destroy_all
|
||||
elsif params[:tip] == "applied"
|
||||
applied_departments.destroy_all
|
||||
@unit_apply.destroy
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
@ -1,2 +0,0 @@
|
||||
//$("#apply-id-<%= @depart_apply.id %>").remove()
|
||||
//pop_box_new("批准成功", 400, 248);
|
@ -1,26 +0,0 @@
|
||||
<div class="modal fade department-apply-edit-modal" tabindex="-1" role="dialog" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">修改为</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form class="department-apply-form" data-remote="true">
|
||||
<%= hidden_field_tag(:id, nil) %>
|
||||
<div class="form-group">
|
||||
<label for="grade" class="col-form-label">名称:</label>
|
||||
<%= text_field_tag(:name,nil,class:"form-control",placeholder:"输入新的名称") %>
|
||||
</div>
|
||||
<div class="error text-danger"></div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
|
||||
<button type="button" class="btn btn-primary submit-btn">确认</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@ -0,0 +1,56 @@
|
||||
$("body").append("<%= j render partial: "admins/unit_applies/shared/edit_modal",locals: {apply: @unit_apply, schools: @all_schools} %>")
|
||||
var uni_edit_modal = $(".admin-unit-edit-modal")
|
||||
uni_edit_modal.modal("show")
|
||||
|
||||
uni_edit_modal.on("hidden.bs.modal",function () {
|
||||
$(".admin-unit-edit-modal").remove()
|
||||
$("body").removeClass("modal-open")
|
||||
})
|
||||
|
||||
// 初始化学校选择器
|
||||
var matcherFunc = function(params, data){
|
||||
if ($.trim(params.term) === '') {
|
||||
return data;
|
||||
}
|
||||
if (typeof data.text === 'undefined') {
|
||||
return null;
|
||||
}
|
||||
if (data.name && data.name.indexOf(params.term) > -1) {
|
||||
var modifiedData = $.extend({}, data, true);
|
||||
return modifiedData;
|
||||
}
|
||||
|
||||
// Return `null` if the term should not be displayed
|
||||
return null;
|
||||
}
|
||||
$.ajax({
|
||||
url: '/api/schools/for_option.json',
|
||||
dataType: 'json',
|
||||
type: 'GET',
|
||||
success: function(data) {
|
||||
$("#all-schools").select2({
|
||||
theme: 'bootstrap4',
|
||||
placeholder: '查询学校/单位',
|
||||
minimumInputLength: 1,
|
||||
data: data.schools,
|
||||
templateResult: function (item) {
|
||||
if(!item.id || item.id === '') return item.text;
|
||||
return item.name;
|
||||
},
|
||||
templateSelection: function(item){
|
||||
return item.name || item.text;
|
||||
},
|
||||
matcher: matcherFunc
|
||||
})
|
||||
}
|
||||
});
|
||||
|
||||
$("#all-schools").select2({})
|
||||
$("#show-province-<%= @unit_apply.id %>").select2()
|
||||
$("#schoolCity_<%= @unit_apply.id %>").select2()
|
||||
|
||||
// **************** 地区选择 ****************
|
||||
$('.province-city-select').cxSelect({
|
||||
url: '/javascripts/educoder/province-data.json',
|
||||
selects: ['province-select', 'city-select']
|
||||
});
|
@ -0,0 +1,17 @@
|
||||
<% define_admin_breadcrumbs do %>
|
||||
<% add_admin_breadcrumb('单位审批') %>
|
||||
<% end %>
|
||||
|
||||
<div class="box search-form-container flex-column mb-0 pb-0 unit-applies-list-form">
|
||||
<%= form_tag(admins_unit_applies_path(unsafe_params), method: :get, class: 'form-inline search-form mt-3', remote: true) do %>
|
||||
<%= text_field_tag(:keyword, params[:keyword], class: 'form-control col-sm-2 ml-3', placeholder: '单位名称检索') %>
|
||||
<%= submit_tag('搜索', class: 'btn btn-primary ml-3','data-disable-with':"搜索中...") %>
|
||||
<%= link_to "清除",admins_unit_applies_path(keyword:nil),class:"btn btn-default",remote:true %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<div class="box unit-applies-list-container">
|
||||
<%= render(partial: 'admins/unit_applies/shared/list', locals: { applies: @unit_applies }) %>
|
||||
</div>
|
||||
|
||||
<%= render(partial: 'admins/shared/admin_common_refuse_modal') %>
|
@ -0,0 +1 @@
|
||||
$(".unit-applies-list-container").html("<%= j render partial: "admins/unit_applies/shared/list", locals: {applies: @unit_applies} %>")
|
@ -0,0 +1,17 @@
|
||||
<td><%= apply.id %></td>
|
||||
<td class="text-left"><%= overflow_hidden_span apply.name %></td>
|
||||
<td class="text-left">
|
||||
<%= "#{apply&.province.to_s}"+"#{apply&.city.to_s}" %>
|
||||
</td>
|
||||
<td class="text-left"><%= overflow_hidden_span apply.address %></td>
|
||||
<td><%= apply.user.try(:show_real_name) %></td>
|
||||
<td><%= format_time apply.created_at %></td>
|
||||
<td class="action-container">
|
||||
<%= agree_link '批准', agree_admins_unit_apply_path(apply, element: ".unit-apply-#{apply.id}"), 'data-confirm': '确认批准通过?' %>
|
||||
<%= javascript_void_link('删除', class: 'action refuse-action',
|
||||
data: {
|
||||
toggle: 'modal', target: '.admin-common-refuse-modal', id: apply.id, title: "删除原因", type: "delete",
|
||||
url: admins_unit_apply_path(apply, tip: "unapplied", element: ".unit-apply-#{apply.id}")
|
||||
}) %>
|
||||
<%= link_to "更改",edit_admins_unit_apply_path(apply), remote: true, class:"action",'data-disable-with': '打开中...' %>
|
||||
</td>
|
@ -0,0 +1,43 @@
|
||||
<div class="modal fade admin-unit-edit-modal" tabindex="-1" role="dialog" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">修改申请</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<%= form_tag(admins_unit_apply_path, method: :put, remote: true) do %>
|
||||
<div class="modal-body">
|
||||
<div class="form-group d-flex">
|
||||
<label for="school_id" class="col-form-label">更改学校:</label>
|
||||
<div class="d-flex flex-column-reverse w-75">
|
||||
<%= select_tag :school_id, [apply&.school_id], class: 'form-control school-select optional',id: "all-schools" %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group d-flex">
|
||||
<label for="school_id" class="col-form-label">更改城市:</label>
|
||||
<div class="d-flex w-75 province-city-select">
|
||||
<div class="w-50 mr-3">
|
||||
<%= select_tag('province', [], class: 'form-control province-select optional', 'data-value': apply.province, 'data-first-title': '请选择', id:"show-province-#{apply.id}") %>
|
||||
</div>
|
||||
<div class="w-50">
|
||||
<%= select_tag('city', [], class: 'form-control city-select optional', 'data-value': apply.city, id: "schoolCity_#{apply.id}") %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group d-flex">
|
||||
<label for="school_id" class="col-form-label">更改地址:</label>
|
||||
<div class="d-flex w-75 flex-column-reverse">
|
||||
<%= text_field_tag :address,apply.address,class:"form-control" %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
|
||||
<%= submit_tag "确认",class:"btn btn-primary" %>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@ -0,0 +1,26 @@
|
||||
<table class="table table-hover text-center unit-applies-list-table">
|
||||
<thead class="thead-light">
|
||||
<tr>
|
||||
<th width="8%">ID</th>
|
||||
<th width="20%" class="text-left">单位名称</th>
|
||||
<th width="12%" class="text-left">地区</th>
|
||||
<th width="20%" class="text-left">详细地址</th>
|
||||
<th width="10%">申请者</th>
|
||||
<th width="15%"><%= sort_tag('创建于', name: 'created_at', path: admins_unit_applies_path) %></th>
|
||||
<th width="15%">操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<% if applies.present? %>
|
||||
<% applies.each do |apply| %>
|
||||
<tr class="unit-apply-<%= apply.id %>">
|
||||
<%= render partial: "admins/unit_applies/shared/apply_item", locals: {apply: apply} %>
|
||||
</tr>
|
||||
<% end %>
|
||||
<% else %>
|
||||
<%= render 'admins/shared/no_data_for_table' %>
|
||||
<% end %>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<%= render partial: 'admins/shared/paginate', locals: { objects: applies } %>
|
@ -0,0 +1,6 @@
|
||||
$('.modal.admin-unit-edit-modal').modal('hide');
|
||||
//$(".modal.admin-unit-edit-modal").remove()
|
||||
//$("body").removeClass("modal-open")
|
||||
$('.unit-applies-list-table .unit-apply-<%= @unit_apply.id %>').remove()
|
||||
//$('.unit-applies-list-table .unit-apply-<%= @unit_apply.id %>').html("<%= j render partial: "admins/unit_applies/shared/apply_item", locals: {apply: @unit_apply} %>")
|
||||
$.notify({ message: '操作成功' });
|
Loading…
Reference in new issue