$(document).on('turbolinks:load', function(){ if ($('body.admins-users-index-page').length > 0) { var showSuccessNotify = function() { $.notify({ message: '操作成功' },{ type: 'success' }); } // lock user $('.users-list-container').on('click', '.lock-action', function(){ var $lockAction = $(this); var $unlockAction = $lockAction.siblings('.unlock-action'); var userId = $lockAction.data('id'); customConfirm({ content: '确认加锁吗?', ok: function(){ $.ajax({ url: '/admins/users/' + userId + '/lock', method: 'POST', dataType: 'json', success: function() { showSuccessNotify(); $lockAction.hide(); $unlockAction.show(); } }); } }); }); // unlock user $('.users-list-container').on('click', '.unlock-action', function(){ var $unlockAction = $(this); var $lockAction = $unlockAction.siblings('.lock-action'); var userId = $unlockAction.data('id'); customConfirm({ content: '确认解锁吗?', ok: function () { $.ajax({ url: '/admins/users/' + userId + '/unlock', method: 'POST', dataType: 'json', success: function() { showSuccessNotify(); $lockAction.show(); $unlockAction.hide(); } }); } }) }); // active user $('.users-list-container').on('click', '.active-action', function(){ var $activeAction = $(this); var $unlockAction = $activeAction.siblings('.unlock-action'); var $lockAction = $activeAction.siblings('.lock-action'); var userId = $activeAction.data('id'); customConfirm({ content: '确认激活吗?', ok: function () { $.ajax({ url: '/admins/users/' + userId + '/unlock', method: 'POST', dataType: 'json', success: function() { showSuccessNotify(); $activeAction.hide(); $lockAction.show(); $unlockAction.hide(); } }); } }) }); // reset user login times $('.users-list-container').on('click', '.reset-login-times-action', function(){ var $action = $(this); var userId = $action.data('id'); $.ajax({ url: '/admins/users/' + userId + '/reset_login_times', method: 'POST', dataType: 'json', success: function() { showSuccessNotify(); } }); }); // ***************** reward grade modal ***************** var $rewardGradeModal = $('.admin-users-reward-grade-modal'); var $form = $rewardGradeModal.find('form.admin-users-reward-grade-form'); $form.validate({ errorElement: 'span', errorClass: 'danger text-danger', rules: { grade: { required: true, digits: true }, } }); // modal ready fire $rewardGradeModal.on('show.bs.modal', function (event) { var $link = $(event.relatedTarget); var userId = $link.data('id'); $rewardGradeModal.find('.modal-body input[name="user_id"]').val(userId); }); // modal visited fire $rewardGradeModal.on('shown.bs.modal', function(){ $rewardGradeModal.find('.modal-body input[name="grade"]').focus(); }); $('.admin-users-reward-grade-modal .submit-btn').on('click', function(){ $form.find('.error').html(''); if ($form.valid()) { var userId = $form.find('input[name="user_id"]').val(); $.ajax({ method: 'POST', dataType: 'json', url: "/admins/users/" + userId + "/reward_grade", data: $form.serialize(), success: function(data) { showSuccessNotify(); $('.users-list-container .user-item-' + userId + ' td.grade-content').html(data.grade); $rewardGradeModal.modal('hide'); }, error: function(res) { $rewardGradeModal.find('.error').html(res.responseJSON.message); } }); } }); // 导入学生 var $importUserModal = $('.modal.admin-import-user-modal'); var $importUserForm = $importUserModal.find('form.admin-import-user-form') $importUserModal.on('show.bs.modal', function(){ resetFileInputFunc($importUserModal.find('.upload-file-input')); $importUserModal.find('.file-names').html('选择文件'); $importUserModal.find('.upload-file-input').trigger('click'); }); $importUserModal.on('change', '.upload-file-input', function(e){ var file = $(this)[0].files[0]; $importUserModal.find('.file-names').html(file ? file.name : '请选择文件'); }) var importUserFormValid = function(){ if($importUserForm.find('input[name="file"]').val() == undefined || $importUserForm.find('input[name="file"]').val().length == 0){ $importUserForm.find('.error').html('请选择文件'); return false; } return true; }; var buildResultMessage = function(data){ var messageHtml = "
数据 | 失败原因 |
---|---|
' + item.data + ' | ' + item.message + ' |