|
|
|
|
/*
|
|
|
|
|
* Document : dolphin.js
|
|
|
|
|
* Author : CaiWeiMing <314013107@qq.com>
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
var Dolphin = function () {
|
|
|
|
|
/**
|
|
|
|
|
* 处理ajax方式的post提交
|
|
|
|
|
* @author CaiWeiMing <314013107@qq.com>
|
|
|
|
|
*/
|
|
|
|
|
var ajaxPost = function () {
|
|
|
|
|
jQuery(document).delegate('.ajax-post', 'click', function () {
|
|
|
|
|
var msg, self = jQuery(this), ajax_url = self.attr("href") || self.data("url");
|
|
|
|
|
var target_form = self.attr("target-form");
|
|
|
|
|
var text = self.data('tips');
|
|
|
|
|
var title = self.data('title') || '确定要执行该操作吗?';
|
|
|
|
|
var confirm_btn = self.data('confirm') || '确定';
|
|
|
|
|
var cancel_btn = self.data('cancel') || '取消';
|
|
|
|
|
var form = jQuery('form[name=' + target_form + ']');
|
|
|
|
|
if (form.length === 0) {
|
|
|
|
|
form = jQuery('.' + target_form);
|
|
|
|
|
}
|
|
|
|
|
var form_data = form.serialize();
|
|
|
|
|
|
|
|
|
|
if ("submit" === self.attr("type") || ajax_url) {
|
|
|
|
|
// 不存在“.target-form”元素则返回false
|
|
|
|
|
if (undefined === form.get(0)) return false;
|
|
|
|
|
// 节点标签名为FORM表单
|
|
|
|
|
if ("FORM" === form.get(0).nodeName) {
|
|
|
|
|
ajax_url = ajax_url || form.get(0).getAttribute('action');;
|
|
|
|
|
|
|
|
|
|
// 提交确认
|
|
|
|
|
if (self.hasClass('confirm')) {
|
|
|
|
|
swal({
|
|
|
|
|
title: title,
|
|
|
|
|
text: text || '',
|
|
|
|
|
type: 'warning',
|
|
|
|
|
showCancelButton: true,
|
|
|
|
|
confirmButtonColor: '#d26a5c',
|
|
|
|
|
confirmButtonText: confirm_btn,
|
|
|
|
|
cancelButtonText: cancel_btn,
|
|
|
|
|
closeOnConfirm: true,
|
|
|
|
|
html: false
|
|
|
|
|
}, function () {
|
|
|
|
|
pageLoader();
|
|
|
|
|
self.attr("autocomplete", "off").prop("disabled", true);
|
|
|
|
|
|
|
|
|
|
// 发送ajax请求
|
|
|
|
|
jQuery.post(ajax_url, form_data, {}, 'json').success(function(res) {
|
|
|
|
|
pageLoader('hide');
|
|
|
|
|
msg = res.msg;
|
|
|
|
|
if (res.code) {
|
|
|
|
|
if (res.url && !self.hasClass("no-refresh")) {
|
|
|
|
|
msg += " 页面即将自动跳转~";
|
|
|
|
|
}
|
|
|
|
|
tips(msg, 'success');
|
|
|
|
|
setTimeout(function () {
|
|
|
|
|
self.attr("autocomplete", "on").prop("disabled", false);
|
|
|
|
|
// 刷新父窗口
|
|
|
|
|
if (res.data && (res.data === '_parent_reload' || res.data._parent_reload)) {
|
|
|
|
|
res.url === '' || res.url === location.href ? parent.location.reload() : parent.location.href = res.url;
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
// 关闭弹出框
|
|
|
|
|
if (res.data && (res.data === '_close_pop' || res.data._close_pop)) {
|
|
|
|
|
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
|
|
|
|
|
parent.layer.close(index);return false;
|
|
|
|
|
}
|
|
|
|
|
// 新窗口打开
|
|
|
|
|
if (res.data && (res.data === '_blank' || res.data._blank)) {
|
|
|
|
|
window.open(res.url === '' ? location.href : res.url);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
return self.hasClass("no-refresh") ? false : void(res.url && !self.hasClass("no-forward") ? location.href = res.url : location.reload());
|
|
|
|
|
}, 1500);
|
|
|
|
|
} else {
|
|
|
|
|
jQuery(".reload-verify").length > 0 && jQuery(".reload-verify").click();
|
|
|
|
|
tips(msg, 'danger');
|
|
|
|
|
setTimeout(function () {
|
|
|
|
|
// 刷新父窗口
|
|
|
|
|
if (res.data && (res.data === '_parent_reload' || res.data._parent_reload)) {
|
|
|
|
|
res.url === '' || res.url === location.href ? parent.location.reload() : parent.location.href = res.url;
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
// 关闭弹出框
|
|
|
|
|
if (res.data && (res.data === '_close_pop' || res.data._close_pop)) {
|
|
|
|
|
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
|
|
|
|
|
parent.layer.close(index);return false;
|
|
|
|
|
}
|
|
|
|
|
// 新窗口打开
|
|
|
|
|
if (res.data && (res.data === '_blank' || res.data._blank)) {
|
|
|
|
|
window.open(res.url === '' ? location.href : res.url);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
self.attr("autocomplete", "on").prop("disabled", false);
|
|
|
|
|
}, 2000);
|
|
|
|
|
}
|
|
|
|
|
}).fail(function (res) {
|
|
|
|
|
pageLoader('hide');
|
|
|
|
|
tips($(res.responseText).find('h1').text() || '服务器内部错误~', 'danger');
|
|
|
|
|
self.attr("autocomplete", "on").prop("disabled", false);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
return false;
|
|
|
|
|
} else {
|
|
|
|
|
self.attr("autocomplete", "off").prop("disabled", true);
|
|
|
|
|
}
|
|
|
|
|
} else if ("INPUT" === form.get(0).nodeName || "SELECT" === form.get(0).nodeName || "TEXTAREA" === form.get(0).nodeName) {
|
|
|
|
|
// 如果是多选,则检查是否选择
|
|
|
|
|
if (form.get(0).type === 'checkbox' && form_data === '') {
|
|
|
|
|
Dolphin.notify('请选择要操作的数据', 'warning');
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 提交确认
|
|
|
|
|
if (self.hasClass('confirm')) {
|
|
|
|
|
swal({
|
|
|
|
|
title: title,
|
|
|
|
|
text: text || '',
|
|
|
|
|
type: 'warning',
|
|
|
|
|
showCancelButton: true,
|
|
|
|
|
confirmButtonColor: '#d26a5c',
|
|
|
|
|
confirmButtonText: confirm_btn,
|
|
|
|
|
cancelButtonText: cancel_btn,
|
|
|
|
|
closeOnConfirm: true,
|
|
|
|
|
html: false
|
|
|
|
|
}, function () {
|
|
|
|
|
pageLoader();
|
|
|
|
|
self.attr("autocomplete", "off").prop("disabled", true);
|
|
|
|
|
|
|
|
|
|
// 发送ajax请求
|
|
|
|
|
jQuery.post(ajax_url, form_data, {}, 'json').success(function(res) {
|
|
|
|
|
pageLoader('hide');
|
|
|
|
|
msg = res.msg;
|
|
|
|
|
if (res.code) {
|
|
|
|
|
if (res.url && !self.hasClass("no-refresh")) {
|
|
|
|
|
msg += " 页面即将自动跳转~";
|
|
|
|
|
}
|
|
|
|
|
tips(msg, 'success');
|
|
|
|
|
setTimeout(function () {
|
|
|
|
|
self.attr("autocomplete", "on").prop("disabled", false);
|
|
|
|
|
// 刷新父窗口
|
|
|
|
|
if (res.data && (res.data === '_parent_reload' || res.data._parent_reload)) {
|
|
|
|
|
res.url === '' || res.url === location.href ? parent.location.reload() : parent.location.href = res.url;
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
// 关闭弹出框
|
|
|
|
|
if (res.data && (res.data === '_close_pop' || res.data._close_pop)) {
|
|
|
|
|
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
|
|
|
|
|
parent.layer.close(index);return false;
|
|
|
|
|
}
|
|
|
|
|
// 新窗口打开
|
|
|
|
|
if (res.data && (res.data === '_blank' || res.data._blank)) {
|
|
|
|
|
window.open(res.url === '' ? location.href : res.url);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
return self.hasClass("no-refresh") ? false : void(res.url && !self.hasClass("no-forward") ? location.href = res.url : location.reload());
|
|
|
|
|
}, 1500);
|
|
|
|
|
} else {
|
|
|
|
|
jQuery(".reload-verify").length > 0 && jQuery(".reload-verify").click();
|
|
|
|
|
tips(msg, 'danger');
|
|
|
|
|
setTimeout(function () {
|
|
|
|
|
// 刷新父窗口
|
|
|
|
|
if (res.data && (res.data === '_parent_reload' || res.data._parent_reload)) {
|
|
|
|
|
res.url === '' || res.url === location.href ? parent.location.reload() : parent.location.href = res.url;
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
// 关闭弹出框
|
|
|
|
|
if (res.data && (res.data === '_close_pop' || res.data._close_pop)) {
|
|
|
|
|
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
|
|
|
|
|
parent.layer.close(index);return false;
|
|
|
|
|
}
|
|
|
|
|
// 新窗口打开
|
|
|
|
|
if (res.data && (res.data === '_blank' || res.data._blank)) {
|
|
|
|
|
window.open(res.url === '' ? location.href : res.url);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
self.attr("autocomplete", "on").prop("disabled", false);
|
|
|
|
|
}, 2000);
|
|
|
|
|
}
|
|
|
|
|
}).fail(function (res) {
|
|
|
|
|
pageLoader('hide');
|
|
|
|
|
tips($(res.responseText).find('h1').text() || '服务器内部错误~', 'danger');
|
|
|
|
|
self.attr("autocomplete", "on").prop("disabled", false);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
return false;
|
|
|
|
|
} else {
|
|
|
|
|
self.attr("autocomplete", "off").prop("disabled", true);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
if (self.hasClass("confirm")) {
|
|
|
|
|
swal({
|
|
|
|
|
title: title,
|
|
|
|
|
text: text || '',
|
|
|
|
|
type: 'warning',
|
|
|
|
|
showCancelButton: true,
|
|
|
|
|
confirmButtonColor: '#d26a5c',
|
|
|
|
|
confirmButtonText: confirm_btn,
|
|
|
|
|
cancelButtonText: cancel_btn,
|
|
|
|
|
closeOnConfirm: true,
|
|
|
|
|
html: false
|
|
|
|
|
}, function () {
|
|
|
|
|
pageLoader();
|
|
|
|
|
self.attr("autocomplete", "off").prop("disabled", true);
|
|
|
|
|
form_data = form.find("input,select,textarea").serialize();
|
|
|
|
|
|
|
|
|
|
// 发送ajax请求
|
|
|
|
|
jQuery.post(ajax_url, form_data, {}, 'json').success(function(res) {
|
|
|
|
|
pageLoader('hide');
|
|
|
|
|
msg = res.msg;
|
|
|
|
|
if (res.code) {
|
|
|
|
|
if (res.url && !self.hasClass("no-refresh")) {
|
|
|
|
|
msg += " 页面即将自动跳转~";
|
|
|
|
|
}
|
|
|
|
|
tips(msg, 'success');
|
|
|
|
|
setTimeout(function () {
|
|
|
|
|
self.attr("autocomplete", "on").prop("disabled", false);
|
|
|
|
|
// 刷新父窗口
|
|
|
|
|
if (res.data && (res.data === '_parent_reload' || res.data._parent_reload)) {
|
|
|
|
|
res.url === '' || res.url === location.href ? parent.location.reload() : parent.location.href = res.url;
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
// 关闭弹出框
|
|
|
|
|
if (res.data && (res.data === '_close_pop' || res.data._close_pop)) {
|
|
|
|
|
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
|
|
|
|
|
parent.layer.close(index);return false;
|
|
|
|
|
}
|
|
|
|
|
// 新窗口打开
|
|
|
|
|
if (res.data && (res.data === '_blank' || res.data._blank)) {
|
|
|
|
|
window.open(res.url === '' ? location.href : res.url);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
return self.hasClass("no-refresh") ? false : void(res.url && !self.hasClass("no-forward") ? location.href = res.url : location.reload());
|
|
|
|
|
}, 1500);
|
|
|
|
|
} else {
|
|
|
|
|
jQuery(".reload-verify").length > 0 && jQuery(".reload-verify").click();
|
|
|
|
|
tips(msg, 'danger');
|
|
|
|
|
setTimeout(function () {
|
|
|
|
|
// 刷新父窗口
|
|
|
|
|
if (res.data && (res.data === '_parent_reload' || res.data._parent_reload)) {
|
|
|
|
|
res.url === '' || res.url === location.href ? parent.location.reload() : parent.location.href = res.url;
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
// 关闭弹出框
|
|
|
|
|
if (res.data && (res.data === '_close_pop' || res.data._close_pop)) {
|
|
|
|
|
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
|
|
|
|
|
parent.layer.close(index);return false;
|
|
|
|
|
}
|
|
|
|
|
// 新窗口打开
|
|
|
|
|
if (res.data && (res.data === '_blank' || res.data._blank)) {
|
|
|
|
|
window.open(res.url === '' ? location.href : res.url);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
self.attr("autocomplete", "on").prop("disabled", false);
|
|
|
|
|
}, 2000);
|
|
|
|
|
}
|
|
|
|
|
}).fail(function (res) {
|
|
|
|
|
pageLoader('hide');
|
|
|
|
|
tips($(res.responseText).find('h1').text() || '服务器内部错误~', 'danger');
|
|
|
|
|
self.attr("autocomplete", "on").prop("disabled", false);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
return false;
|
|
|
|
|
} else {
|
|
|
|
|
form_data = form.find("input,select,textarea").serialize();
|
|
|
|
|
self.attr("autocomplete", "off").prop("disabled", true);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 直接发送ajax请求
|
|
|
|
|
pageLoader();
|
|
|
|
|
jQuery.post(ajax_url, form_data, {}, 'json').success(function(res) {
|
|
|
|
|
pageLoader('hide');
|
|
|
|
|
msg = res.msg;
|
|
|
|
|
|
|
|
|
|
if (res.code) {
|
|
|
|
|
if (res.url && !self.hasClass("no-refresh")) {
|
|
|
|
|
msg += ", 页面即将自动跳转~";
|
|
|
|
|
}
|
|
|
|
|
tips(msg, 'success');
|
|
|
|
|
setTimeout(function () {
|
|
|
|
|
self.attr("autocomplete", "on").prop("disabled", false);
|
|
|
|
|
// 刷新父窗口
|
|
|
|
|
if (res.data && (res.data === '_parent_reload' || res.data._parent_reload)) {
|
|
|
|
|
res.url === '' || res.url === location.href ? parent.location.reload() : parent.location.href = res.url;
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
// 关闭弹出框
|
|
|
|
|
if (res.data && (res.data === '_close_pop' || res.data._close_pop)) {
|
|
|
|
|
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
|
|
|
|
|
parent.layer.close(index);return false;
|
|
|
|
|
}
|
|
|
|
|
// 新窗口打开
|
|
|
|
|
if (res.data && (res.data === '_blank' || res.data._blank)) {
|
|
|
|
|
window.open(res.url === '' ? location.href : res.url);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
return self.hasClass("no-refresh") ? false : void(res.url && !self.hasClass("no-forward") ? location.href = res.url : location.reload());
|
|
|
|
|
}, 1500);
|
|
|
|
|
} else {
|
|
|
|
|
jQuery(".reload-verify").length > 0 && jQuery(".reload-verify").click();
|
|
|
|
|
tips(msg, 'danger');
|
|
|
|
|
setTimeout(function () {
|
|
|
|
|
// 刷新父窗口
|
|
|
|
|
if (res.data && (res.data === '_parent_reload' || res.data._parent_reload)) {
|
|
|
|
|
res.url === '' || res.url === location.href ? parent.location.reload() : parent.location.href = res.url;
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
// 关闭弹出框
|
|
|
|
|
if (res.data && (res.data === '_close_pop' || res.data._close_pop)) {
|
|
|
|
|
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
|
|
|
|
|
parent.layer.close(index);return false;
|
|
|
|
|
}
|
|
|
|
|
// 新窗口打开
|
|
|
|
|
if (res.data && (res.data === '_blank' || res.data._blank)) {
|
|
|
|
|
window.open(res.url === '' ? location.href : res.url);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
self.attr("autocomplete", "on").prop("disabled", false);
|
|
|
|
|
}, 2000);
|
|
|
|
|
}
|
|
|
|
|
}).fail(function (res) {
|
|
|
|
|
pageLoader('hide');
|
|
|
|
|
tips($(res.responseText).find('h1').text() || '服务器内部错误~', 'danger');
|
|
|
|
|
self.attr("autocomplete", "on").prop("disabled", false);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 处理ajax方式的get提交
|
|
|
|
|
* @author CaiWeiMing <314013107@qq.com>
|
|
|
|
|
*/
|
|
|
|
|
var ajaxGet = function () {
|
|
|
|
|
jQuery(document).delegate('.ajax-get', 'click', function () {
|
|
|
|
|
var msg, self = $(this), text = self.data('tips'), ajax_url = self.attr("href") || self.data("url");
|
|
|
|
|
var title = self.data('title') || '确定要执行该操作吗?';
|
|
|
|
|
var confirm_btn = self.data('confirm') || '确定';
|
|
|
|
|
var cancel_btn = self.data('cancel') || '取消';
|
|
|
|
|
// 执行确认
|
|
|
|
|
if (self.hasClass('confirm')) {
|
|
|
|
|
swal({
|
|
|
|
|
title: title,
|
|
|
|
|
text: text || '',
|
|
|
|
|
type: 'warning',
|
|
|
|
|
showCancelButton: true,
|
|
|
|
|
confirmButtonColor: '#d26a5c',
|
|
|
|
|
confirmButtonText: confirm_btn,
|
|
|
|
|
cancelButtonText: cancel_btn,
|
|
|
|
|
closeOnConfirm: true,
|
|
|
|
|
html: false
|
|
|
|
|
}, function () {
|
|
|
|
|
pageLoader();
|
|
|
|
|
self.attr("autocomplete", "off").prop("disabled", true);
|
|
|
|
|
|
|
|
|
|
// 发送ajax请求
|
|
|
|
|
jQuery.get(ajax_url, {}, {}, 'json').success(function(res) {
|
|
|
|
|
pageLoader('hide');
|
|
|
|
|
msg = res.msg;
|
|
|
|
|
if (res.code) {
|
|
|
|
|
if (res.url && !self.hasClass("no-refresh")) {
|
|
|
|
|
msg += " 页面即将自动跳转~";
|
|
|
|
|
}
|
|
|
|
|
tips(msg, 'success');
|
|
|
|
|
setTimeout(function () {
|
|
|
|
|
self.attr("autocomplete", "on").prop("disabled", false);
|
|
|
|
|
// 刷新父窗口
|
|
|
|
|
if (res.data && (res.data === '_parent_reload' || res.data._parent_reload)) {
|
|
|
|
|
res.url === '' || res.url === location.href ? parent.location.reload() : parent.location.href = res.url;
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
// 关闭弹出框
|
|
|
|
|
if (res.data && (res.data === '_close_pop' || res.data._close_pop)) {
|
|
|
|
|
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
|
|
|
|
|
parent.layer.close(index);return false;
|
|
|
|
|
}
|
|
|
|
|
// 新窗口打开
|
|
|
|
|
if (res.data && (res.data === '_blank' || res.data._blank)) {
|
|
|
|
|
window.open(res.url === '' ? location.href : res.url);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
return self.hasClass("no-refresh") ? false : void(res.url && !self.hasClass("no-forward") ? location.href = res.url : location.reload());
|
|
|
|
|
}, 1500);
|
|
|
|
|
} else {
|
|
|
|
|
tips(msg, 'danger');
|
|
|
|
|
setTimeout(function () {
|
|
|
|
|
// 刷新父窗口
|
|
|
|
|
if (res.data && (res.data === '_parent_reload' || res.data._parent_reload)) {
|
|
|
|
|
res.url === '' || res.url === location.href ? parent.location.reload() : parent.location.href = res.url;
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
// 关闭弹出框
|
|
|
|
|
if (res.data && (res.data === '_close_pop' || res.data._close_pop)) {
|
|
|
|
|
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
|
|
|
|
|
parent.layer.close(index);return false;
|
|
|
|
|
}
|
|
|
|
|
// 新窗口打开
|
|
|
|
|
if (res.data && (res.data === '_blank' || res.data._blank)) {
|
|
|
|
|
window.open(res.url === '' ? location.href : res.url);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
self.attr("autocomplete", "on").prop("disabled", false);
|
|
|
|
|
}, 2000);
|
|
|
|
|
}
|
|
|
|
|
}).fail(function (res) {
|
|
|
|
|
pageLoader('hide');
|
|
|
|
|
tips($(res.responseText).find('h1').text() || '服务器内部错误~', 'danger');
|
|
|
|
|
self.attr("autocomplete", "on").prop("disabled", false);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
pageLoader();
|
|
|
|
|
self.attr("autocomplete", "off").prop("disabled", true);
|
|
|
|
|
|
|
|
|
|
// 发送ajax请求
|
|
|
|
|
jQuery.get(ajax_url, {}, {}, 'json').success(function(res) {
|
|
|
|
|
pageLoader('hide');
|
|
|
|
|
msg = res.msg;
|
|
|
|
|
if (res.code) {
|
|
|
|
|
if (res.url && !self.hasClass("no-refresh")) {
|
|
|
|
|
msg += " 页面即将自动跳转~";
|
|
|
|
|
}
|
|
|
|
|
tips(msg, 'success');
|
|
|
|
|
setTimeout(function () {
|
|
|
|
|
self.attr("autocomplete", "on").prop("disabled", false);
|
|
|
|
|
// 刷新父窗口
|
|
|
|
|
if (res.data && (res.data === '_parent_reload' || res.data._parent_reload)) {
|
|
|
|
|
res.url === '' || res.url === location.href ? parent.location.reload() : parent.location.href = res.url;
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
// 关闭弹出框
|
|
|
|
|
if (res.data && (res.data === '_close_pop' || res.data._close_pop)) {
|
|
|
|
|
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
|
|
|
|
|
parent.layer.close(index);return false;
|
|
|
|
|
}
|
|
|
|
|
// 新窗口打开
|
|
|
|
|
if (res.data && (res.data === '_blank' || res.data._blank)) {
|
|
|
|
|
window.open(res.url === '' ? location.href : res.url);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
return self.hasClass("no-refresh") ? false : void(res.url && !self.hasClass("no-forward") ? location.href = res.url : location.reload());
|
|
|
|
|
}, 1500);
|
|
|
|
|
} else {
|
|
|
|
|
tips(msg, 'danger');
|
|
|
|
|
setTimeout(function () {
|
|
|
|
|
// 刷新父窗口
|
|
|
|
|
if (res.data && (res.data === '_parent_reload' || res.data._parent_reload)) {
|
|
|
|
|
res.url === '' || res.url === location.href ? parent.location.reload() : parent.location.href = res.url;
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
// 关闭弹出框
|
|
|
|
|
if (res.data && (res.data === '_close_pop' || res.data._close_pop)) {
|
|
|
|
|
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
|
|
|
|
|
parent.layer.close(index);return false;
|
|
|
|
|
}
|
|
|
|
|
// 新窗口打开
|
|
|
|
|
if (res.data && (res.data === '_blank' || res.data._blank)) {
|
|
|
|
|
window.open(res.url === '' ? location.href : res.url);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
self.attr("autocomplete", "on").prop("disabled", false);
|
|
|
|
|
}, 2000);
|
|
|
|
|
}
|
|
|
|
|
}).fail(function (res) {
|
|
|
|
|
pageLoader('hide');
|
|
|
|
|
tips($(res.responseText).find('h1').text() || '服务器内部错误~', 'danger');
|
|
|
|
|
self.attr("autocomplete", "on").prop("disabled", false);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 处理普通方式的get提交
|
|
|
|
|
* @author CaiWeiMing <314013107@qq.com>
|
|
|
|
|
*/
|
|
|
|
|
var jsGet = function () {
|
|
|
|
|
jQuery(document).delegate('.js-get', 'click', function () {
|
|
|
|
|
var self = $(this), text = self.data('tips'), url = self.attr("href") || self.data("url");
|
|
|
|
|
var target_form = self.attr("target-form");
|
|
|
|
|
var form = jQuery('form[name=' + target_form + ']');
|
|
|
|
|
var form_data = form.serialize() || [];
|
|
|
|
|
var title = self.data('title') || '确定要执行该操作吗?';
|
|
|
|
|
var confirm_btn = self.data('confirm') || '确定';
|
|
|
|
|
var cancel_btn = self.data('cancel') || '取消';
|
|
|
|
|
|
|
|
|
|
if (form.length === 0) {
|
|
|
|
|
form = jQuery('.' + target_form + '[type=checkbox]:checked');
|
|
|
|
|
form.each(function () {
|
|
|
|
|
form_data.push($(this).val());
|
|
|
|
|
});
|
|
|
|
|
form_data = form_data.join(',');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (form_data === '') {
|
|
|
|
|
Dolphin.notify('请选择要操作的数据', 'warning');
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (url.indexOf('?') !== -1) {
|
|
|
|
|
url += '&' + target_form + '=' + form_data;
|
|
|
|
|
} else {
|
|
|
|
|
url += '?' + target_form + '=' + form_data;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 执行确认
|
|
|
|
|
if (self.hasClass('confirm')) {
|
|
|
|
|
swal({
|
|
|
|
|
title: title,
|
|
|
|
|
text: text || '',
|
|
|
|
|
type: 'warning',
|
|
|
|
|
showCancelButton: true,
|
|
|
|
|
confirmButtonColor: '#d26a5c',
|
|
|
|
|
confirmButtonText: confirm_btn,
|
|
|
|
|
cancelButtonText: cancel_btn,
|
|
|
|
|
closeOnConfirm: true,
|
|
|
|
|
html: false
|
|
|
|
|
}, function () {
|
|
|
|
|
if (self.hasClass('js-blank')) {
|
|
|
|
|
window.open(url);
|
|
|
|
|
} else {
|
|
|
|
|
location.href = url;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
if (self.hasClass('js-blank')) {
|
|
|
|
|
window.open(url);
|
|
|
|
|
} else {
|
|
|
|
|
location.href = url;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 顶部菜单
|
|
|
|
|
* @author CaiWeiMing <314013107@qq.com>
|
|
|
|
|
*/
|
|
|
|
|
var topMenu = function () {
|
|
|
|
|
$('.top-menu').click(function () {
|
|
|
|
|
var $target = $(this).attr('target');
|
|
|
|
|
var data = {
|
|
|
|
|
module_id: $(this).data('module-id') || '',
|
|
|
|
|
module: $(this).data('module') || '',
|
|
|
|
|
controller: $(this).data('controller') || ''
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
if ($('#nav-' + data.module_id).length) {
|
|
|
|
|
location.href = $('#nav-' + data.module_id).find('a').not('.nav-submenu').first().attr('href');
|
|
|
|
|
} else {
|
|
|
|
|
$.post(dolphin.top_menu_url, data, function (res) {
|
|
|
|
|
if (res.code) {
|
|
|
|
|
if (res.data === '') {
|
|
|
|
|
tips('暂无无节点权限', 'danger');return false;
|
|
|
|
|
}
|
|
|
|
|
if ($target === '_self') {
|
|
|
|
|
location.href = res.data;
|
|
|
|
|
} else {
|
|
|
|
|
window.open(res.data);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
tips(res.msg, 'danger');
|
|
|
|
|
setTimeout(function () {
|
|
|
|
|
location.reload();
|
|
|
|
|
}, 1500);
|
|
|
|
|
}
|
|
|
|
|
}).fail(function (res) {
|
|
|
|
|
tips($(res.responseText).find('h1').text() || '服务器内部错误~', 'danger');
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 页面小提示
|
|
|
|
|
* @param $msg 提示信息
|
|
|
|
|
* @param $type 提示类型:'info', 'success', 'warning', 'danger'
|
|
|
|
|
* @param $icon 图标,例如:'fa fa-user' 或 'glyphicon glyphicon-warning-sign'
|
|
|
|
|
* @param $from 'top' 或 'bottom'
|
|
|
|
|
* @param $align 'left', 'right', 'center'
|
|
|
|
|
* @author CaiWeiMing <314013107@qq.com>
|
|
|
|
|
*/
|
|
|
|
|
var tips = function ($msg, $type, $icon, $from, $align) {
|
|
|
|
|
$type = $type || 'info';
|
|
|
|
|
$from = $from || 'top';
|
|
|
|
|
$align = $align || 'center';
|
|
|
|
|
$enter = $type === 'success' ? 'animated fadeInUp' : 'animated shake';
|
|
|
|
|
|
|
|
|
|
jQuery.notify({
|
|
|
|
|
icon: $icon,
|
|
|
|
|
message: $msg
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
element: 'body',
|
|
|
|
|
type: $type,
|
|
|
|
|
allow_dismiss: true,
|
|
|
|
|
newest_on_top: true,
|
|
|
|
|
showProgressbar: false,
|
|
|
|
|
placement: {
|
|
|
|
|
from: $from,
|
|
|
|
|
align: $align
|
|
|
|
|
},
|
|
|
|
|
offset: 20,
|
|
|
|
|
spacing: 10,
|
|
|
|
|
z_index: 10800,
|
|
|
|
|
delay: 3000,
|
|
|
|
|
timer: 1000,
|
|
|
|
|
animate: {
|
|
|
|
|
enter: $enter,
|
|
|
|
|
exit: 'animated fadeOutDown'
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 页面加载提示
|
|
|
|
|
* @param $mode 'show', 'hide'
|
|
|
|
|
* @author CaiWeiMing <314013107@qq.com>
|
|
|
|
|
*/
|
|
|
|
|
var pageLoader = function ($mode) {
|
|
|
|
|
var $loadingEl = jQuery('#loading');
|
|
|
|
|
$mode = $mode || 'show';
|
|
|
|
|
|
|
|
|
|
if ($mode === 'show') {
|
|
|
|
|
if ($loadingEl.length) {
|
|
|
|
|
$loadingEl.fadeIn(250);
|
|
|
|
|
} else {
|
|
|
|
|
jQuery('body').prepend('<div id="loading"><div class="loading-box"><i class="fa fa-2x fa-cog fa-spin"></i> <span class="loding-text">请稍等...</span></div></div>');
|
|
|
|
|
}
|
|
|
|
|
} else if ($mode === 'hide') {
|
|
|
|
|
if ($loadingEl.length) {
|
|
|
|
|
$loadingEl.fadeOut(250);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 启用图标搜索
|
|
|
|
|
* @author CaiWeiMing <314013107@qq.com>
|
|
|
|
|
*/
|
|
|
|
|
var iconSearchLoader = function () {
|
|
|
|
|
// Set variables
|
|
|
|
|
var $searchItems = jQuery('.js-icon-list > li');
|
|
|
|
|
var $searchValue = '';
|
|
|
|
|
|
|
|
|
|
// When user types
|
|
|
|
|
jQuery('.js-icon-search').on('keyup', function(){
|
|
|
|
|
$searchValue = jQuery(this).val().toLowerCase();
|
|
|
|
|
|
|
|
|
|
if ($searchValue.length) { // If more than 2 characters, search the icons
|
|
|
|
|
$searchItems.hide();
|
|
|
|
|
|
|
|
|
|
jQuery('code', $searchItems)
|
|
|
|
|
.each(function(){
|
|
|
|
|
if (jQuery(this).text().match($searchValue)) {
|
|
|
|
|
jQuery(this).parent('li').show();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
} else if ($searchValue.length === 0) { // If text deleted show all icons
|
|
|
|
|
$searchItems.show();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 刷新页面
|
|
|
|
|
* @author CaiWeiMing <314013107@qq.com>
|
|
|
|
|
*/
|
|
|
|
|
var pageReloadLoader = function () {
|
|
|
|
|
// 刷新页面
|
|
|
|
|
$('.page-reload').click(function () {
|
|
|
|
|
location.reload();
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 初始化图片查看
|
|
|
|
|
* @author CaiWeiMing <314013107@qq.com>
|
|
|
|
|
*/
|
|
|
|
|
var viewerLoader = function () {
|
|
|
|
|
$('.gallery-list,.uploader-list').each(function () {
|
|
|
|
|
$(this).viewer('destroy');
|
|
|
|
|
$(this).viewer({url: 'data-original'});
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
// 初始化
|
|
|
|
|
init: function () {
|
|
|
|
|
ajaxPost();
|
|
|
|
|
ajaxGet();
|
|
|
|
|
jsGet();
|
|
|
|
|
topMenu();
|
|
|
|
|
pageReloadLoader();
|
|
|
|
|
},
|
|
|
|
|
// 页面加载提示
|
|
|
|
|
loading: function ($mode) {
|
|
|
|
|
pageLoader($mode);
|
|
|
|
|
},
|
|
|
|
|
// 页面小提示
|
|
|
|
|
notify: function ($msg, $type, $icon, $from, $align) {
|
|
|
|
|
tips($msg, $type, $icon, $from, $align);
|
|
|
|
|
},
|
|
|
|
|
// 启用图标搜索
|
|
|
|
|
iconSearch: function () {
|
|
|
|
|
iconSearchLoader();
|
|
|
|
|
},
|
|
|
|
|
// 初始化图片查看
|
|
|
|
|
viewer: function () {
|
|
|
|
|
viewerLoader();
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
}();
|
|
|
|
|
|
|
|
|
|
// Initialize app when page loads
|
|
|
|
|
jQuery(function () {
|
|
|
|
|
Dolphin.init();
|
|
|
|
|
});
|