mirror of
https://gitee.com/koogua/course-tencent-cloud.git
synced 2025-06-26 12:23:06 +08:00
207 lines
6.7 KiB
JavaScript
207 lines
6.7 KiB
JavaScript
layui.extend({
|
|
kgDropdown: '/static/lib/layui/extends/kg-dropdown',
|
|
helper: '/static/lib/layui/extends/helper',
|
|
});
|
|
|
|
layui.use(['jquery', 'form', 'element', 'layer', 'kgDropdown'], function () {
|
|
|
|
var $ = layui.jquery;
|
|
var form = layui.form;
|
|
var layer = layui.layer;
|
|
|
|
var $token = $('meta[name="csrf-token"]');
|
|
|
|
$.ajaxSetup({
|
|
beforeSend: function (xhr) {
|
|
xhr.setRequestHeader('X-Csrf-Token', $token.attr('content'));
|
|
},
|
|
statusCode: {
|
|
400: function (xhr) {
|
|
var res = JSON.parse(xhr.responseText);
|
|
layer.msg(res.msg, {icon: 2, anim: 6});
|
|
},
|
|
401: function () {
|
|
layer.msg('操作之前请先登录', {icon: 2, anim: 6});
|
|
},
|
|
403: function () {
|
|
layer.msg('操作受限', {icon: 2, anim: 6});
|
|
},
|
|
404: function () {
|
|
layer.msg('资源不存在', {icon: 2, anim: 6});
|
|
},
|
|
500: function (xhr) {
|
|
var res = JSON.parse(xhr.responseText);
|
|
layer.msg(res.msg, {icon: 2, anim: 6});
|
|
}
|
|
}
|
|
});
|
|
|
|
setInterval(function () {
|
|
$.ajax({
|
|
type: 'POST',
|
|
url: '/token/refresh',
|
|
success: function (res) {
|
|
$token.attr('content', res.token);
|
|
}
|
|
});
|
|
}, 300000);
|
|
|
|
form.on('submit(go)', function (data) {
|
|
var submit = $(this);
|
|
var orgText = $(this).text();
|
|
submit.text('提交中···').attr('disabled', 'disabled').addClass('layui-btn-disabled');
|
|
$.ajax({
|
|
type: 'POST',
|
|
url: data.form.action,
|
|
data: data.field,
|
|
success: function (res) {
|
|
if (res.msg) {
|
|
layer.msg(res.msg, {icon: 1, time: 1500});
|
|
}
|
|
if (res.location) {
|
|
var target = res.target || 'self';
|
|
setTimeout(function () {
|
|
if (target === 'parent') {
|
|
parent.location.href = res.location;
|
|
} else {
|
|
window.location.href = res.location;
|
|
}
|
|
}, 1000);
|
|
}
|
|
setTimeout(function () {
|
|
submit.text(orgText).removeAttr('disabled').removeClass('layui-btn-disabled');
|
|
}, 1500);
|
|
},
|
|
error: function () {
|
|
submit.text(orgText).removeAttr('disabled').removeClass('layui-btn-disabled');
|
|
}
|
|
});
|
|
return false;
|
|
});
|
|
|
|
form.on('switch(go)', function (data) {
|
|
var postData = {};
|
|
var name = $(this).attr('name');
|
|
var checked = $(this).is(':checked');
|
|
var value = checked ? 1 : 0;
|
|
var url = $(this).data('url');
|
|
var onTips = $(this).data('on-tips');
|
|
var offTips = $(this).data('off-tips');
|
|
var tips = '确定要执行操作?';
|
|
if (value === 1 && onTips) {
|
|
tips = onTips;
|
|
} else if (value === 0 && offTips) {
|
|
tips = offTips;
|
|
}
|
|
postData[name] = value;
|
|
layer.confirm(tips, {
|
|
cancel: function (index) {
|
|
layer.close(index);
|
|
data.elem.checked = !checked;
|
|
form.render();
|
|
}
|
|
}, function () {
|
|
$.ajax({
|
|
type: 'POST',
|
|
url: url,
|
|
data: postData,
|
|
success: function (res) {
|
|
layer.msg(res.msg, {icon: 1});
|
|
},
|
|
error: function (xhr) {
|
|
var json = JSON.parse(xhr.responseText);
|
|
layer.msg(json.msg, {icon: 2});
|
|
data.elem.checked = !checked;
|
|
form.render();
|
|
}
|
|
});
|
|
}, function () {
|
|
data.elem.checked = !checked;
|
|
form.render();
|
|
});
|
|
});
|
|
|
|
form.on('checkbox(all)', function (data) {
|
|
$('input:checkbox[class="item"]').each(function (index, item) {
|
|
item.checked = data.elem.checked;
|
|
});
|
|
form.render('checkbox');
|
|
});
|
|
|
|
form.on('checkbox(item)', function (data) {
|
|
var allChecked = $('input:checkbox[class="item"]:not(:checked)').length === 0;
|
|
$('input:checkbox[class="all"]').prop('checked', allChecked);
|
|
form.render('checkbox');
|
|
});
|
|
|
|
$('.kg-priority').on('change', function () {
|
|
var priority = $(this).val();
|
|
var url = $(this).data('url');
|
|
$.ajax({
|
|
type: 'POST',
|
|
url: url,
|
|
data: {priority: priority},
|
|
success: function (res) {
|
|
layer.msg(res.msg, {icon: 1});
|
|
}
|
|
});
|
|
});
|
|
|
|
$('.kg-batch').on('click', function () {
|
|
var url = $(this).data('url');
|
|
var tips = $(this).data('tips');
|
|
var defaultTips = '确定要执行批量操作吗?';
|
|
var ids = [];
|
|
$('input:checkbox[class="item"]:checked').each(function (index, item) {
|
|
ids.push(item.value);
|
|
});
|
|
if (ids.length === 0) {
|
|
layer.msg('没有选中任何条目', {icon: 2});
|
|
return false;
|
|
}
|
|
tips = tips || defaultTips;
|
|
layer.confirm(tips, function () {
|
|
$.ajax({
|
|
type: 'POST',
|
|
url: url,
|
|
data: {'ids': ids},
|
|
success: function (res) {
|
|
layer.msg(res.msg, {icon: 1});
|
|
if (res.location) {
|
|
setTimeout(function () {
|
|
window.location.href = res.location;
|
|
}, 1500);
|
|
} else {
|
|
window.location.reload();
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('.kg-delete,.kg-restore').on('click', function () {
|
|
var url = $(this).data('url');
|
|
var tips = $(this).hasClass('kg-delete') ? '确定要删除吗?' : '确定要还原吗?';
|
|
layer.confirm(tips, function () {
|
|
$.ajax({
|
|
type: 'POST',
|
|
url: url,
|
|
success: function (res) {
|
|
layer.msg(res.msg, {icon: 1});
|
|
if (res.location) {
|
|
setTimeout(function () {
|
|
window.location.href = res.location;
|
|
}, 1500);
|
|
} else {
|
|
window.location.reload();
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('.kg-back').on('click', function () {
|
|
window.history.back();
|
|
});
|
|
|
|
}); |