新增:驳回内容

This commit is contained in:
yystopf 2026-03-30 15:35:18 +08:00
parent e26ea9f5bc
commit 50682b3668
5 changed files with 70 additions and 7 deletions

View File

@ -26,23 +26,23 @@ class Admins::ResidentExpertsController < Admins::BaseController
@expert.resident_expert_actions.create(action_type: ResidentExpertAction::action_types[:approved], action_name: '管理员审核通过' )
@expert.resident_expert_actions.create(action_type: ResidentExpertAction::action_types[:approved], action_name: '专家主页上线' )
redirect_to admins_resident_experts_path
flash[:success] = "审批通过成功"
flash[:success] = "入驻通过成功"
else
redirect_to admins_resident_experts_path
flash[:danger] = "审批通过失败"
flash[:danger] = "入驻通过失败"
end
end
def reject
if @expert.update_attributes(status: :rejected)
if @expert.update_attributes(status: :rejected, reject_remark: params[:reject_remark])
@expert.resident_expert_actions.where.not(action_type: ResidentExpertAction::action_types[:approved]).destroy_all
@expert.resident_expert_actions.create(action_type: ResidentExpertAction::action_types[:rejected], action_name: '管理员驳回' )
@expert.resident_expert_actions.create(action_type: ResidentExpertAction::action_types[:rejected], action_name: '管理员驳回', action_description: params[:rejection_reason] )
@expert.resident_expert_actions.create(action_type: ResidentExpertAction::action_types[:todo], action_name: '展示上线', action_description: "待重新申请并通过审核" )
redirect_to admins_resident_experts_path
flash[:success] = "审批驳回成功"
flash[:success] = "入驻驳回成功"
else
redirect_to admins_resident_experts_path
flash[:danger] = "审批驳回失败"
flash[:danger] = "入驻驳回失败"
end
end

View File

@ -36,7 +36,7 @@
<% end %>
<% if expert.status == 'pending' %>
<%= link_to "通过", approve_admins_resident_expert_path(expert), method: :post, class: "action" %>
<%= link_to "驳回", reject_admins_resident_expert_path(expert), method: :post, class: "action" %>
<a href="#" class="action reject-expert" data-expert-id="<%= expert.id %>">驳回</a>
<% end %>
</td>
</tr>

View File

@ -16,6 +16,32 @@
<div id="expert-modals">
</div>
<div class="modal fade" id="reject-modal" tabindex="-1" role="dialog" aria-labelledby="rejectModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="rejectModalLabel">驳回专家入驻</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<form id="reject-form">
<input type="hidden" id="expert-id" name="expert_id">
<div class="form-group">
<label for="rejection-reason">驳回原因</label>
<textarea class="form-control" id="reject_remark" name="reject_remark" rows="4" required></textarea>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
<button type="button" class="btn btn-danger" id="confirm-reject">确认驳回</button>
</div>
</div>
</div>
</div>
<script>
$(document).ready(function() {
$('.view-residency-info').click(function(e) {
@ -35,5 +61,36 @@
}
});
});
$('.reject-expert').click(function(e) {
e.preventDefault();
var expertId = $(this).data('expert-id');
$('#expert-id').val(expertId);
$('#reject_remark').val('');
$('#reject-modal').modal('show');
});
$('#confirm-reject').click(function() {
var expertId = $('#expert-id').val();
var reject_remark = $('#reject_remark').val();
if (!reject_remark.trim()) {
alert('请输入驳回原因');
return;
}
$.ajax({
url: '/admins/resident_experts/' + expertId + '/reject',
type: 'POST',
data: { reject_remark: reject_remark },
success: function(response) {
$('#reject-modal').modal('hide');
location.reload();
},
error: function() {
alert('驳回失败,请重试');
}
});
});
});
</script>

View File

@ -15,5 +15,6 @@ json.territory_area2 resident_expert.territory_area2
json.territory_area3 resident_expert.territory_area3
json.introduction resident_expert.introduction
json.status resident_expert.status
json.reject_remark resident_expert.reject_remark
json.created_at resident_expert.created_at.strftime("%Y-%m-%d %H:%M:%S")
json.updated_at resident_expert.updated_at.strftime("%Y-%m-%d %H:%M:%S")

View File

@ -0,0 +1,5 @@
class AddRejectRemarkToResidentExperts < ActiveRecord::Migration[5.2]
def change
add_column :resident_experts, :reject_remark, :text
end
end