You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
126 lines
4.3 KiB
126 lines
4.3 KiB
$(document).on('turbolinks:load', function() {
|
|
if ($('body.admins-laboratory-shixuns-index-page').length > 0) {
|
|
var $searchForm = $('.laboratory-shixun-list-form .search-form');
|
|
var laboratoryId = $('.laboratory-shixun-list-container').data('id');
|
|
|
|
$searchForm.find('select#tag_id').select2({
|
|
placeholder: "请选择",
|
|
allowClear: true
|
|
});
|
|
|
|
// 定义状态切换监听事件
|
|
var defineStatusChangeFunc = function (doElement, undoElement, url, callback) {
|
|
$('.laboratory-shixun-list-container').on('click', doElement, function () {
|
|
var $doAction = $(this);
|
|
var $undoAction = $doAction.siblings(undoElement);
|
|
|
|
var laboratoryShixunId = $doAction.data('id');
|
|
customConfirm({
|
|
content: '确认进行该操作吗?',
|
|
ok: function () {
|
|
$.ajax({
|
|
url: '/admins/laboratories/' + laboratoryId + '/laboratory_shixuns/' + laboratoryShixunId + url,
|
|
method: 'POST',
|
|
dataType: 'json',
|
|
success: function () {
|
|
show_success_flash();
|
|
$doAction.hide();
|
|
$undoAction.show();
|
|
if (callback && typeof callback === "function") {
|
|
callback(laboratoryShixunId, url);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
});
|
|
});
|
|
}
|
|
|
|
// 首页展示与取消首页展示
|
|
var homepageShowCallback = function (laboratoryShixunId, url) {
|
|
var $laboratoryShixunItem = $('.laboratory-shixun-list-container').find('.laboratory-shixun-item-' + laboratoryShixunId);
|
|
|
|
if (url === '/homepage') {
|
|
$laboratoryShixunItem.find('.homepage-badge').show();
|
|
} else {
|
|
$laboratoryShixunItem.find('.homepage-badge').hide();
|
|
}
|
|
}
|
|
defineStatusChangeFunc('.homepage-show-action', '.homepage-hide-action', '/homepage', homepageShowCallback);
|
|
defineStatusChangeFunc('.homepage-hide-action', '.homepage-show-action', '/cancel_homepage', homepageShowCallback);
|
|
|
|
// 添加实训功能
|
|
var $addModal = $('.modal.admin-add-laboratory-shixun-modal');
|
|
var $addForm = $addModal.find('form.admin-add-laboratory-user-form');
|
|
var $shixunSelect = $addForm.find('select.shixun-select');
|
|
|
|
$addModal.on('show.bs.modal', function(){
|
|
$addModal.find('.error').html('');
|
|
$shixunSelect.select2('val', ' ');
|
|
});
|
|
|
|
$shixunSelect.select2({
|
|
theme: 'bootstrap4',
|
|
placeholder: '请输入实训名称/创建者检索',
|
|
multiple: true,
|
|
closeOnSelect: false,
|
|
ajax: {
|
|
delay: 500,
|
|
url: '/admins/laboratories/' + laboratoryId + '/shixuns_for_select',
|
|
dataType: 'json',
|
|
data: function(params){
|
|
return { keyword: params.term, page: params.page || 1, per_page: 20 };
|
|
},
|
|
processResults: function(data, params){
|
|
params.page = params.page || 1;
|
|
|
|
return {
|
|
results: data.shixuns,
|
|
pagination: {
|
|
more: (params.page * 20) < data.count
|
|
}
|
|
};
|
|
}
|
|
},
|
|
templateResult: function (item) {
|
|
if(!item.id || item.id === '') return item.text;
|
|
var ele = '<span>'
|
|
ele += '<span>' + item.name + '</span>';
|
|
ele += '<span class="font-12"> -- ' + item.creator_name + '</span>';
|
|
ele += '<span class="font-12"> -- ' + item.status_text+ '</span>';
|
|
ele += '</span>';
|
|
|
|
return $(ele);
|
|
},
|
|
templateSelection: function(item){
|
|
if (item.id) {
|
|
}
|
|
var ele = '<span>' + (item.name || item.text) + '<span class="font-12"> -- ' + item.creator_name + '</span></span>'
|
|
return $(ele);
|
|
}
|
|
});
|
|
|
|
$addModal.on('click', '.submit-btn', function(){
|
|
$addModal.find('.error').html('');
|
|
|
|
var shixunIds = $shixunSelect.val();
|
|
if (shixunIds && shixunIds.length > 0) {
|
|
$.ajax({
|
|
method: 'POST',
|
|
dataType: 'json',
|
|
url: '/admins/laboratories/' + laboratoryId + '/laboratory_shixuns',
|
|
data: { shixun_ids: shixunIds },
|
|
success: function(){
|
|
show_success_flash();
|
|
window.location.reload();
|
|
},
|
|
error: function(res){
|
|
$addModal.find('.error').html(res.responseJSON.message);
|
|
}
|
|
});
|
|
} else {
|
|
$addModal.find('.error').html('请选择实训');
|
|
}
|
|
});
|
|
}
|
|
}) |