$(document).on('turbolinks:load', function() { if ($('body.partners-partner-manager-groups-page').length > 0) { var $container = $('.manager-group-list-container'); var partnerId = $container.find('.manager-group-list-body').data('id'); // ------- 新建编辑权限组弹窗 -------- var $managerGroupModal = $('.modal.partner-save-manager-group-modal'); var $managerGroupForm = $managerGroupModal.find('form.partner-save-manager-group-form'); var $managerGroupIdInput = $managerGroupForm.find('input[name="manager_group_id"]'); var $managerGroupNameInput = $managerGroupForm.find('input[name="manager_group_name"]'); $managerGroupForm.validate({ errorElement: 'span', errorClass: 'danger text-danger', rules: { manager_group_name: { required: true, maxlength: 20 }, } }); $managerGroupModal.on('show.bs.modal', function(event){ var $link = $(event.relatedTarget); var managerGroupId = $link.data('id'); var managerGroupName = $link.data('name'); if(managerGroupId && managerGroupId !== ''){ $managerGroupModal.find('.modal-title').html('重命名'); $managerGroupIdInput.val(managerGroupId); $managerGroupNameInput.val(managerGroupName) } else { $managerGroupModal.find('.modal-title').html('新建'); $managerGroupIdInput.val(''); $managerGroupNameInput.val(''); } }); $managerGroupModal.on('hide.bs.modal', function(){ $managerGroupIdInput.val(''); $managerGroupNameInput.val(''); }); $managerGroupModal.on('click', '.submit-btn', function(){ $managerGroupForm.find('.error').html(''); var url = $managerGroupForm.data('url'); if ($managerGroupForm.valid()) { $.ajax({ method: 'POST', dataType: 'script', url: url, data: $managerGroupForm.serialize() }); } }); // ---------- 添加管理员弹窗 ------------ var $partnerManagerModal = $('.modal.partner-add-partner-manager-modal'); var $partnerManagerForm = $partnerManagerModal.find('form.partner-add-partner-manager-form'); var $managerGroupIdInput = $partnerManagerForm.find('input[name="manager_group_id"]'); var $userSelect = $partnerManagerForm.find('.partner-manager-select'); $userSelect.select2({ theme: 'bootstrap4', placeholder: '请输入要添加的管理员姓名', multiple: true, closeOnSelect: false, minimumInputLength: 1, ajax: { delay: 500, url: '/api/users_for_partners', dataType: 'json', data: function(params){ return { name: params.term, partner_id: partnerId, page: params.page || 1, per_page: 20 }; }, processResults: function(data, params){ params.page = params.page || 1; return { results: data.users, pagination: { more: (params.page * 20) < data.count } }; } }, templateResult: function (item) { if(!item.id || item.id === '') return item.text; return $("" + item.real_name + " " + item.school_name + ' ' + item.identity + ""); }, templateSelection: function(item){ if (item.id) { } return item.real_name || item.text; } }); $partnerManagerModal.on('show.bs.modal', function(event){ var $link = $(event.relatedTarget); var managerGroupId = $link.data('id'); $managerGroupIdInput.val(managerGroupId); $userSelect.select2('val', ' '); $partnerManagerModal.find('.error').html(''); }); $partnerManagerModal.on('click', '.submit-btn', function(){ $partnerManagerModal.find('.error').html(''); var managerGroupId = $managerGroupIdInput.val(); var userIds = $userSelect.val(); if (userIds && userIds.length > 0) { $.ajax({ method: 'POST', dataType: 'script', url: '/partners/' + partnerId + '/partner_managers', data: { user_ids: userIds, manager_group_id: managerGroupId } }); } else { $partnerManagerModal.modal('hide'); } }); } });