//归结主要方法有: 居中显示,关闭、打开层,自适应高度,冻结表头、冻结头和列,
//首先: special命名为sp
var sp = window.NameSpace || {};
if (typeof (SM4Util) != "undefined") {
var s4 = new SM4Util();
}
/*禁用右键*/
if (window.parent.location.href.indexOf("tpl/index/index2.html") > -1) {
console.log(window.location.href)
$("body").attr("oncontextmenu", "return false").attr("onselectstart", "return false")
}
//在页面dom加载完之后执行
$(document).ready(function () {
sp.addMask(); //为body添加上遮罩层
sp.setClass(); //为自定义class类添加功能操作
sp.table(); //操作table,为table加上隔行变色、
sp.setPanel(); //面板
sp.disablesaving(); //禁止ctrl+s
sp.setdisabled();
sp.setreadonly();
sp.addDLTX(); //为body添加上点击不会隐藏的遮罩层
//文字不可被选中
//document.body.onselectstart = function () {
// return false;
//}
});
// $(document).click(function (e) {
// var className = ["sp-menu-item", "sp-menu-tab", "icon-menu", "sp-menu-switch"], n = 0;
// className.forEach(function (item) {
// if (e.target.className.indexOf(item) != -1 || ($(e.target).parents("." + item).length > 0 && e.target.className.indexOf('fa-close') == -1)) {
// n = 1;
// return;
// }
// })
// if (n == 0) {
// $(".sp-menu-tab", window.parent.document).removeClass("fadeInLeft").addClass("fadeOutLeft");
// setTimeout(function () {
// $(".sp-menu-tab", window.parent.document).hide()
// }, 500)
// }
// if (n == 1) {
// $(".sp-menu-tab", window.parent.document).removeClass("fadeOutLeft").addClass("fadeInLeft")
// $(".sp-menu-tab", window.parent.document).show()
// }
// })
sp.addMask = function () {
//1.为每个页面的body加上遮罩层,样式为不可见
if ($('body').find(".sp-bgMask").length < 1) {
$('body').prepend("
");
}
//2.如果body中含有对话框 sp-dialog类名,就为其加上温馨提示和关闭按钮
if ($('body').find(".sp-dialog").length < 1) {
$('body').prepend("");
}
//3.点击遮罩层,对话框、弹出层、遮罩层均淡出
$(".sp-bgMask").bind("click", function () {
$(this).fadeOut(200);
if ($(".sp-dialog").is(":visible")) { //若对话框显示则淡出
$(".sp-dialog").fadeOut(200);
}
if ($(".sp-layer").is(":visible")) { //若中间层显示则淡出
$(".sp-layer").fadeOut(200);
}
if ($(".sp-layer2").is(":visible")) { //若中间层显示则淡出
$(".sp-layer2").fadeOut(200);
}
});
}
//sp.dialog("身份证号不能为空!");
sp.dialog = function (tip, state) {
/// 显示对话框
var dialogHead = "温馨提示×";
if (state) {
var imgState = "";
var dialogBody = "" + tip + "" + imgState + "
";
var dialogFoot = "";
}else if(state==false){
var imgState = "";;
var dialogBody = "" + tip + "" + imgState + "
";
var dialogFoot = "";
} else {
var dialogBody = "" + tip + "
";
var dialogFoot = "";
}
$('.sp-dialog').html(dialogHead + dialogBody + dialogFoot);
sp.openCenter(".sp-dialog");
$('.sp-closeDialog').click(function (event) {
//sp.closeCenter(".sp-dialog");
$(".sp-dialog").fadeOut(200);
var layerNum = 0;
$(".sp-layer").each(function () {
if ($(this).css("display") == "none") {
layerNum++;
}
})
if (layerNum == $(".sp-layer").length) {
$('.sp-bgMask').fadeOut(200);
}
event.preventDefault(); event.stopPropagation();
});
}
sp.dialoghide = function () {
/// 关闭对话框
var layerNum = 0;
$(".sp-dialog").fadeOut(200);
$(".sp-layer").each(function () {
if ($(this).css("display") == "none") {
layerNum++;
}
})
if (layerNum == $(".sp-layer").length) {
$('.sp-bgMask').fadeOut(200);
}
};
//加载loading演示
sp.load = function () {
/// 加载loading
if ($('body').find(".sp-load").length < 1) {
$('body').append("请稍等,正努力加载中......
");
}
sp.setCenter(".sp-load");
};
sp.loadhide = function () {
/// 关闭loading
$(".sp-load").fadeOut(200);
};
//打开后 居中,并且后有遮罩层
sp.layer = function (Name) {
/// 打开弹出层
//3.如果body中含有对话框sp-layer类名,就为其加上关闭按钮
if ($('body').find(".sp-layer").length > 0) {
$('.sp-layer').hide();//为对话框样式是可见的,加载时设置隐藏
$('.sp-layer').each(function () {
if ($(this).find(".sp-layer-head").length < 1) {
$(this).prepend("");
if ($(this).attr("data-title") != undefined) {
var getTitle = $(this).attr("data-title");
$(".sp-layer-head", this).prepend("" + getTitle + "");
}
}
if ($(this).find(".sp-layer-close").length < 1) {
$('.sp-layer-head', this).append("×");
}
});
};
///查看图片大图遮罩层
if ($("body").find(".sp-layer2").length > 0) {
$('.sp-layer2').each(function () {
if ($(this).find(".sp-layer2-close").length < 1) {
$(this).prepend("");
}
});
};
$('.sp-bgMask').fadeIn(200);
$("body").attr("onselectstart", "return false")
setTimeout(function () {
sp.setCenter(Name);
sp.drag(Name)
},1)
}
sp.layerhide = function () {
/// 关闭弹出层
$(".sp-layer").fadeOut(200);
$('.sp-bgMask').fadeOut(200);
}
sp.setClass = function () {
//1.实现初始获取焦点 根据class="focus"用法
$('.sp-focus').focus();
//2. jquery实现input文本框禁用效果 根据class="banInput"用法
$('.banInput').css({ 'background': '#ebebe4', 'border': '1px solid #a9a9a9', 'cursor': 'default' });
$('.banInput').focus(function () {
$('.banInput').blur();
});
//4.中间弹出层
$('.openCenter').click(function () {
sp.openCenter(".sp-layer");
});
$('.closeCenter').click(function () {
sp.closeCenter(".sp-layer");
});
$('.sp-closeCenter').click(function () {
sp.closeCenter(".sp-layer");
});
}
//5.添加禁用方法
sp.setdisabled = function () {
$('.sp-disabled').attr("disabled", "disabled");
$('.sp-disabled').click(function (event) {
return false;
event.preventDefault();
});//禁止a标签链接跳转
}
///6.为只读加上属性
sp.setreadonly = function () {
$('.sp-readonly').attr("readonly", "readonly");
};
//////下面是让层居中显示的js代码,
///页面调用方法 setCenter("#DivCeng"); 让DivCeng这个层打开并且居中显示 setCenter(".DivCeng");
sp.setCenter = function (divName) {
/// 居中显示
$(document).ready(function () {
var top = ($(window).height() - $(divName).height()) / 2;
var left = ($(window).width() - $(divName).width()) / 2;
var scrollTop = $(document).scrollTop();
var scrollLeft = $(document).scrollLeft();
var zIndex = divName == ".sp-dialog" ? 100001 : 100000;
$(divName).css({ position: 'absolute', 'top': top + scrollTop, left: left + scrollLeft, 'z-index': zIndex }).fadeIn(200);
});
//浏览器窗口大小改变时
$(window).resize(function () {
var top = ($(window).height() - $(divName).height()) / 2;
var left = ($(window).width() - $(divName).width()) / 2;
var scrollTop = $(document).scrollTop();
var scrollLeft = $(document).scrollLeft();
var zIndex = divName == ".sp-dialog" ? 100001 : 100000;
$(divName).css({ position: 'absolute', 'top': top + scrollTop, left: left + scrollLeft, 'z-index': zIndex });
});
//浏览器有滚动条时的操作、
$(window).scroll(function () {
var top = ($(window).height() - $(divName).height()) / 2;
var left = ($(window).width() - $(divName).width()) / 2;
var scrollTop = $(document).scrollTop();
var scrollLeft = $(document).scrollLeft();
var zIndex = divName == ".sp-dialog" ? 100001 : 100000;
$(divName).css({ position: 'absolute', 'top': top + scrollTop, left: left + scrollLeft, 'z-index': zIndex });
});
}
///单纯的打开、关闭 调用:close('#id')或 Close('.class')
sp.open = function (name) {
$(name).fadeIn(200);
}
sp.close = function (name) {
$(name).fadeOut(200);
}
//打开后 居中,并且后有遮罩层
sp.openCenter = function (Name) {
/// 打开后居中后有遮罩层
$('.sp-bgMask').fadeIn(200);
sp.setCenter(Name);
}
sp.closeCenter = function (Name) {
/// 关闭居中层
$(Name).fadeOut(200);
$('.sp-bgMask').fadeOut(200);
$("body").attr("onselectstart", "")
}
//操作radio
sp.funRadio = function (radioDiv, radioClass, radioCheckClass) {
//三个参数
$(radioDiv).each(function () {
if (radioDiv != ".sp-radio-none") {
$("input[type='radio']", this).hide();
}
$("input[type='radio']", this).parent("label").addClass(radioClass);
$("input[type='radio']", this).click(function () {
$(this).attr("checked", true).parent().siblings().find("input[type='radio']").removeAttr("checked");
$(this).parent("label").addClass(radioCheckClass).siblings("label").removeClass(radioCheckClass);
});
$("input[type='radio']", this).each(function () {
if ($(this).attr("checked")) {
$(this).attr("checked", true).parent("label").addClass(radioCheckClass).siblings().removeClass(radioCheckClass);
}
});
});
}
sp.radio = function () {
/// 美化radio
//灰色radio
if ($("body").find(".sp-radio-default").length > 0) {
sp.funRadio(".sp-radio-default", "rd-default", "rd-default-checked");
}
//橙色radio
if ($("body").find(".sp-radio-orange").length > 0) {
sp.funRadio(".sp-radio-orange", "rd-orange", "rd-orange-checked");
}
//蓝色radio
if ($("body").find(".sp-radio-blue").length > 0) {
sp.funRadio(".sp-radio-blue", "rd-blue", "rd-blue-checked");
}
//无皮肤radio
if ($("body").find(".sp-radio-none").length > 0) {
sp.funRadio(".sp-radio-none", "rd-none", "rd-none-checked");
}
}
//操作checkbox
sp.funcheckbox = function (chbDiv, chbClass, chbchecked) {
/// 操作checkbox
$(chbDiv).each(function () {
if (chbDiv != ".sp-checkbox-none") {
$("input[type='checkbox']", this).hide();
}
$("input[type='checkbox']", this).parent("label").addClass(chbClass);
$("input[type='checkbox']", this).click(function () {
if ($(this).parent("label").hasClass(chbchecked)) {
$(this).removeAttr("checked").parent("label").removeClass(chbchecked);
} else {
$(this).attr("checked", true).parent("label").addClass(chbchecked);
}
});
$("input[type='checkbox']", this).each(function () {
if ($(this).attr("checked")) {
$(this).attr("checked", true).parent("label").addClass(chbchecked);
}
});
if ($(this).children(".sp-checkbox-all").length = 1) {
$(".sp-checkbox-all", this).click(function () {
if ($(this).hasClass("hasClick")) {
$(this).removeClass("hasClick");
$(this).parent().parent().find("input[type='checkbox']").removeAttr("checked");
$(this).parent().parent().find("label").removeClass(chbchecked);
} else {
$(this).addClass("hasClick");
$(this).parent().parent().find("input[type='checkbox']").attr("checked", true);
$(this).parent().parent().find("label").addClass(chbchecked);
}
});
}
});
}
sp.checkbox = function () {
/// 美化checkbox
if ($("body").find(".sp-checkbox-gray").length > 0) {
sp.funcheckbox(".sp-checkbox-gray", "chb-gray", "chb-gray-checked"); //蓝色checkbox
}
if ($("body").find(".sp-checkbox-blue").length > 0) {
sp.funcheckbox(".sp-checkbox-blue", "chb-blue", "chb-blue-checked"); //蓝色checkbox
}
if ($("body").find(".sp-checkbox-orange").length > 0) {
sp.funcheckbox(".sp-checkbox-orange", "chb-orange", "chb-orange-checked");//橙色checkbox
}
if ($("body").find(".sp-checkbox-none").length > 0) {
sp.funcheckbox(".sp-checkbox-none", "chb-none", "chb-none-checked");//无皮肤checkbox
}
}
//设置upload 文件上传file控件--原生调用
////图片是转成base64,文件上传是模拟假的
sp.upload = function () {
/// 美化file控件
if ($("body").find(".sp-upload-file").length > 0) {
$(".sp-upload .sp-upload-file").change(function () {
if ($(this).parent().children(".sp-upload-url").length > 0) {
var file = this.files[0];
if (file.size > 52428800) {
alert("文件大小不能大于50M");
file = null;
return false;
} else {
var fileUrl = $(this).val();
$(this).parent().children(".sp-upload-url").val(fileUrl);
}
} else if ($(this).parent().children(".sp-upload-btn-single").length > 0) {
var file = this.files[0];
if (file.size > 52428800) {
alert("文件大小不能大于50M");
file = null;
return false;
} else {
var fileUrl = $(this).val();
var urlArr = fileUrl.split("\\");
var getName = urlArr[urlArr.length - 1];//截取路径并获取文件的名字
var setdiv = "" + getName + "
";
$(this).parent().children(".sp-upload-tip").show(200).append(setdiv);
}
}
});
}
////图片上传组件
if ($("body").find(".sp-upload-file-img").length > 0) {
$(".sp-upload-file-img").each(function () {
var getimgWidth = $(this).prev(".sp-upload-img").outerWidth();
$(this).css({ width: getimgWidth });
});
$(".sp-upload .sp-upload-file-img").change(function () {
var file = this.files[0];
if (file.size > 5242880) {
alert("图片大小不能大于5M");
file = null;
return false;
}
var fileName = file.name;
var postfix = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();
if (postfix != "jpg" && postfix != "png" && postfix != "jpeg" && postfix != "gif") {
alert("图片仅支持png、jpg、jpeg、gif类型的文件");
fileName = "";
file = null;
return false;
}
var fileUrl = $(this).val();
$(this).parent().children(".sp-upload-img").attr("data-url", fileUrl);
var getimg = $(this).parent().children(".sp-upload-img");
var filereader = new FileReader();
filereader.readAsDataURL(file);
$(filereader).load(function () {
getimg.attr("src", this.result);
});
});
}
}
////图片上传组件---正式利用ajax连接后端服务的真实功能,谨慎用,记得检查各个项目的端口地址【20180921zyg】
///sp.uploadimg("http://103.233.7.57:8080/GoldFile/image/upload");
sp.uploadimg = function (imgUpUrl) {
if (!imgUpUrl) {
alert("您好,图片上传组件的数据库路径不能为空");
} else if ($("body").find(".sp-upload-file-img").length > 0) {
//此是设置图片上传file控件跟其上部的img宽度设为一致,解决点击img右侧外部区域触发上传事件的bug
$(".sp-upload-file-img").each(function () {
var getimgWidth = $(this).prev(".sp-upload-img").outerWidth();
$(this).css({ width: getimgWidth });
});
$(".sp-upload .sp-upload-file-img").change(function () {
var file = this.files[0];
if (file.size > 5242880) {
//5M:5242880,10M:10485760,20M:2097120,30M:31457280,40M:41943040,50M:52428800,100M:104857600
alert("图片大小不能大于5M");
file = null;
return false;
}
var fileName = file.name;
var postfix = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();
if (postfix != "jpg" && postfix != "png" && postfix != "jpeg" && postfix != "gif") {
alert("图片仅支持png、jpg、jpeg、gif类型的文件");
fileName = "";
file = null;
return false;
}
var fileUrl = $(this).val();
$(this).parent().children(".sp-upload-img").attr("data-url", fileUrl).attr("data-name", fileName);
var getimg = $(this).parent().children(".sp-upload-img");
var filereader = new FileReader();
filereader.readAsDataURL(file);
$(filereader).load(function () {
//getimg.attr("src", this.result);
/////post给另外一个服务器生成一个文件地址,再返回
var picBase = this.result;
var picName = file.name;
var str = "base64,"
var begin = picBase.indexOf(str) + str.length;
picBase = picBase.substring(begin, picBase.length);
var data = {
"filename": picName,
"filedata": picBase
}
////将base64和文件名传给后台
$.ajax({
url: imgUpUrl,
type: 'post',
contentType: "application/json",
data: JSON.stringify(data),
dataType: "json",
success: function (res) {
if (res.success) {
//sp.dialog("图片上传成功");
//$("#eventIMG").attr("src", res.url);
getimg.attr("src", res.url); ///将文件路径赋给图片
} else {
alert("你好,图片上传失败");
}
}
});
});
});
} else { return;}
};
////小文件上传组件---正式利用ajax连接后端服务的真实功能,谨慎用,记得检查各个项目的端口地址【20180921zyg】
///sp.uploadfile("http://103.233.7.57:8080/GoldFile/stream/upload");
sp.uploadfile = function (fileUpUrl) {
//$("#fbMainTableProgress_13").show();
//$("#fbMainTableProgress_13").myProgress({ speed: 1000, percent: 30, width: "100%", height: "10px" });
if (!fileUpUrl) {
alert("您好,附件上传的数据库路径不能为空");
} else if ($("body").find(".sp-upload-file-single").length > 0) {
$(".sp-upload .sp-upload-file-single").change(function () {
////按钮风格
var tip = $(this).parent().children(".sp-upload-tip");////获取显示文件及进度条的区域元素
tip.show();///发生变化,让其显示
var getfiles = this.files;
var setindex = 0;
sp.uploadfile_submit(tip, setindex, getfiles, fileUpUrl); ///调用方法,
});
} else { return;}
};
sp.uploadfile_submit = function (tip, index, getfiles, fileUpUrl) {
///传递三个变量,tip元素,index递归顺序量,getfiles全部文件
var setindex = index;
var fileItem = getfiles[setindex];///声明文件流中的第几个文件
var getName = fileItem.name;//声明文件的名字
var fileItemSize = fileItem.size; ////声明文件的大小
var hasfilevar = 0;///声明变量记录是否有重复文件
tip.find(".sp-upload-tip-lh").each(function () {
if (getName == $(this).attr("data-name")) {
alert("文件<" + getName + ">不能重复上传");
hasfilevar = 1;
//fileItem = null;
};
});
if (hasfilevar != 1) {
////不含重复上传的重名文件
if (fileItemSize > 10485760) {
//5M:5242880,10M:10485760,20M:2097120,30M:31457280,40M:41943040,50M:52428800,100M:104857600
alert("文件<" + getName + ">大小不能大于10M"); ///目前为了防止恶意上传,限制10M;后期根据项目需要进行更改
fileItem = null;
return false;
} else {
var fileSize = 0;
if (fileItemSize > 1024 * 1024) {
fileSize = (Math.round(fileItemSize * 100 / (1024 * 1024)) / 100).toString() + 'MB';
}
else {
fileSize = (Math.round(fileItemSize * 100 / 1024) / 100).toString() + 'KB';
}
//往tip中append---sp-upload-tip-lh
var settiplh = "";
tip.append(settiplh);
var eqtiplh = tip.find(".sp-upload-tip-lh:last-child");//得到刚添加的最后一个.sp-upload-tip-lh元素
var fileProgress = eqtiplh.children(".sp-progress");////其下进度条
fileProgress.show();
//eqtiplh.show();
var formData = new FormData();///声明FormData
formData.append("streamFile", fileItem); ///将存放在参数名streamFile中的file中的数据一起append到formData
var date1 = new Date();
$.ajax({
url: fileUpUrl,
type: 'POST',
cache: false, //上传文件无需缓存
data: formData,
async: true, ///异步true,同步false
processData: false,// 是否序列化data属性,默认true(注意:false时type必须是post)
contentType: false,// 当有文件要上传时,此项是必须的,否则后台无法识别文件流的起始位置
xhr: function () {
//这是关键 获取原生的xhr对象
var xhr = jQuery.ajaxSettings.xhr();
/////监测上传进度
xhr.upload.onprogress = function (ev) {
if (ev.lengthComputable) {
var percent = 100 * ev.loaded / ev.total;
fileProgress.myProgress({ speed: 0, percent: percent.toFixed(0), width: "100%", height: "10px" });
//console.log(percent, ev); ///打印百分比以及进度
}
}
////上传完成后
xhr.upload.onload = function () {
setTimeout(function () {
fileProgress.hide();
eqtiplh.children(".sp-upload-tip-info").show().append("" + getName + "(" + fileSize + ")-上传成功 删除");
$(".sp-upload .sp-upload-tip-lh").each(function () {
$(".fa-close", this).click(function () {
$(this).parents(".sp-upload-tip-lh").remove();
});
});
}, 200);
}
return xhr;
},
success: function (res) {
eqtiplh.attr("data-url", res.url).attr("data-size", fileItemSize);
},
error: function (data, status, e) {
alert("您好,附件上传失败");
console.log(e);
}
});
}
}
///递归循环调用此方法,加个延时防止异步加载返回值冲突
setTimeout(function () {
if (setindex < getfiles.length - 1) {
setindex++;
sp.uploadfile_submit(tip, setindex, getfiles); ///调用方法
};
}, 100);
};
///div自适应分辨率高度 使用: fitHeight('#id', 50);fitHeight('.class', 50);
sp.fitHeight = function (Name, Height) {
/// 自适应分辨率的高度
$(document).ready(function () { //DOM加载后就执行
var WindowHeight = $(window).height();
$(Name).css('height', WindowHeight - Height);
});
$(window).resize(function () { //改变窗体大小时 *resize()变化或者改变事件
var WindowHeight = $(window).height();
$(Name).css('height', WindowHeight - Height);
});
$(window).scroll(function () { //浏览器有滚动条时的操作 scroll()滚动事件
var WindowHeight = $(window).height();
$(Name).css('height', WindowHeight - Height);
});
}
///div自适应分辨率高度 使用: fitWidth('#id', 50);fitWidth('.class', 50);
sp.fitWidth = function (Name, width) {
/// 自适应分辨率宽度
$(document).ready(function () { //DOM加载后就执行
var WindownWidth = $(window).width();
$(Name).css('width', (WindownWidth - width) + 'px');
});
$(window).resize(function () { //改变窗体大小时 *resize()变化或者改变事件
var WindownWidth = $(window).width();
$(Name).css('width', (WindownWidth - width) + 'px');
});
$(window).scroll(function () { //浏览器有滚动条时的操作 scroll()滚动事件
var WindownWidth = $(window).width();
$(Name).css('width', (WindownWidth - width) + 'px');
});
}
//操作table
sp.table = function () {
/// 设置table
if ($('body').find(".sp-grid").length > 0) {
$('.sp-grid-striped tbody tr:odd').addClass('evenTr');//奇数行背景色
$('.sp-grid tbody tr:last-child td').css('border-bottom', '0');
$('.sp-grid-select tbody tr').click(function () {
if ($(this).hasClass('sp-grid-trselected')) {
$(this).removeClass('sp-grid-trselected')
}
else {
$(this).addClass('sp-grid-trselected').siblings().removeClass('sp-grid-trselected');
}
});
}
//$('.grid tbody tr td').each(function () {
// $(this).attr("title", $(this).text());//加上title属性
//});
}
/**sp.getPage(URL, ID);调用Ajax获取数据集 URL地址**/
sp.getPage = function (URL, ID) {
/// 调用Ajax获取数据集 URL地址 返回数据集
sp.AjaxControl(URL, function (result) {
$(ID).html(result);
});
};
/**Common.AjaxControl(URL, callBack);调用Ajax操作**/
sp.AjaxControl = function (URL, callBack) {
/// 调用Ajax操作数据库(底层方法)
/// URL地址
/// 回调函数的作用就是在Ajax成功执行之后可以执行一个函数
/// 返回数据集
$.ajax({
url: URL, //这里是静态页的地址
type: "GET", //静态页用get方法,否则服务器会抛出405错误
//cache: false,
async: false,
success: function (result) {
callBack(result);
},
//请求执行异常后,执行的方法
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("没有找到页面源!");
}
});
};
//操作5级菜单
sp.setLeftMenu = function () {
$(".sp-leftmenu-first").children("a").on("click", function () {
if ($(this).hasClass("hasclick")) {
$(this).removeClass("hasclick").parents(".sp-leftmenu-first").find(".sp-leftmenu-second").slideUp(300);
if ($(this).children(".sp-leftmenu-icon").length > 0) {
$('.sub-logo', this).show();
$('.sub-logo-hide', this).hide();
}
} else {
//点击一级菜单时,如果已经折叠,取消折叠样式,
if ($('#spWrapperLeftBar').hasClass('sp-leftmenu-fold')) {
$('#spWrapperLeftBar').removeClass("sp-leftmenu-fold");
$("#setLeftMenu_fold").removeClass("hasclick");
$('.sp-wrapper-left').css('width', '140px');
$('.sp-wrapper-right').css('left', '140px');
}
$(this).addClass("hasclick").addClass("sp-leftmenu-active");
var leftmenufirst = $(this).parents(".sp-leftmenu-first");
leftmenufirst.siblings().children("a").removeClass('sp-leftmenu-active').removeClass("hasclick");
if ($(this).children(".sp-leftmenu-icon").length > 0) {
//含有子菜单
$('.sub-logo', this).hide();
$('.sub-logo-hide', this).show();
leftmenufirst.find(".sp-leftmenu-second").slideDown(300);//其下二级菜单展开
} else {
//不含子菜单
var get_clickID = $(this).attr('id');//获取menuClick的id
localStorage.setItem("GlWorkPlatform-setLeftBarClickID", get_clickID);
}
leftmenufirst.siblings().find('.sub-logo').show(); //其他一级菜单下右侧图标恢复
leftmenufirst.siblings().find('.sub-logo-hide').hide();//其他一级菜单下右侧图标恢复
leftmenufirst.siblings('li').find('li').slideUp(300);
}
});
$(".sp-leftmenu-second").children("a").on("click", function () {
if ($(this).hasClass("hasclick")) {
$(this).removeClass("hasclick").removeClass("leftmenuClick").parents(".sp-leftmenu-second").find(".sp-leftmenu-third").slideUp(300);
if ($(this).children(".sp-leftmenu-icon").length > 0) {
$('.sub-logo', this).show();
$('.sub-logo-hide', this).hide();
}
} else {
$(this).addClass("hasclick").addClass("leftmenuClick");
var leftmenufirst = $(this).parents(".sp-leftmenu-first");
var leftmenuSecond = $(this).parents(".sp-leftmenu-second");
if ($(this).children(".sp-leftmenu-icon").length > 0) {
///含有子菜单时
$('.sub-logo', this).hide();
$('.sub-logo-hide', this).show();
leftmenuSecond.find(".sp-leftmenu-third").slideDown(300); ///当前级别三级菜单打开
} else {
//其下不含有子菜单
var get_clickID = $(this).attr('id');//获取menuClick的id
localStorage.setItem("GlWorkPlatform-setLeftBarClickID", get_clickID);
}
leftmenuSecond.siblings().find("li").slideUp(300); //其他二级菜单下三级菜单折叠
leftmenuSecond.siblings().children("a").removeClass("hasclick").removeClass("leftmenuClick"); //其他二级菜单去掉样式
leftmenuSecond.siblings().find('.sub-logo').show(); //其他二级菜单下右侧图标恢复
leftmenuSecond.siblings().find('.sub-logo-hide').hide();//其他二级菜单下右侧图标恢复
leftmenufirst.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick");///其他一级下菜单去掉样式
}
});
$(".sp-leftmenu-third").children("a").on("click", function () {
if ($(this).hasClass("hasclick")) {
$(this).removeClass("hasclick").removeClass("leftmenuClick").parents(".sp-leftmenu-third").find(".sp-leftmenu-fourth").slideUp(300);
if ($(this).children(".sp-leftmenu-icon").length > 0) {
$('.sub-logo', this).show();
$('.sub-logo-hide', this).hide();
}
} else {
$(this).addClass("hasclick").addClass("leftmenuClick");
var leftmenufirst = $(this).parents(".sp-leftmenu-first");
var leftmenuSecond = $(this).parents(".sp-leftmenu-second");
var leftmenuThird = $(this).parents(".sp-leftmenu-third");
if ($(this).children(".sp-leftmenu-icon").length > 0) {
///含有子菜单时
$('.sub-logo', this).hide();
$('.sub-logo-hide', this).show();
leftmenuThird.find(".sp-leftmenu-fourth").slideDown(300); ///当前级别四级菜单打开
} else {
//其下不含有子菜单
var get_clickID = $(this).attr('id');//获取menuClick的id
localStorage.setItem("GlWorkPlatform-setLeftBarClickID", get_clickID);
}
leftmenuThird.siblings().find("li").slideUp(300); //其他三级菜单下四级菜单折叠
leftmenuThird.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick"); //其他三级菜单去掉样式
leftmenuThird.siblings().find('.sub-logo').show(); //其他同级菜单下右侧图标恢复
leftmenuThird.siblings().find('.sub-logo-hide').hide();//其他同级菜单下右侧图标恢复
leftmenuSecond.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick");///其他二级下菜单去掉样式
leftmenufirst.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick");///其他一级下菜单去掉样式
leftmenuSecond.children("a").removeClass("leftmenuClick");///父级二级菜单去掉样式
};
});
$(".sp-leftmenu-fourth").children("a").on("click", function () {
if ($(this).hasClass("hasclick")) {
$(this).removeClass("hasclick").removeClass("leftmenuClick").parents(".sp-leftmenu-fourth").find(".sp-leftmenu-fifth").slideUp(300);
if ($(this).children(".sp-leftmenu-icon").length > 0) {
$('.sub-logo', this).show();
$('.sub-logo-hide', this).hide();
}
} else {
$(this).addClass("hasclick").addClass("leftmenuClick");
var leftmenufirst = $(this).parents(".sp-leftmenu-first");
var leftmenuSecond = $(this).parents(".sp-leftmenu-second");
var leftmenuThird = $(this).parents(".sp-leftmenu-third");
var leftmenuFourth = $(this).parents(".sp-leftmenu-fourth");
if ($(this).children(".sp-leftmenu-icon").length > 0) {
///含有子菜单时
$('.sub-logo', this).hide();
$('.sub-logo-hide', this).show();
leftmenuFourth.find(".sp-leftmenu-fifth").slideDown(300); ///当前级别四级菜单打开
} else {
//其下不含有子菜单
var get_clickID = $(this).attr('id');//获取menuClick的id
localStorage.setItem("GlWorkPlatform-setLeftBarClickID", get_clickID);
}
leftmenuFourth.siblings().find("li").slideUp(300); //其他四级菜单下五级菜单折叠
leftmenuFourth.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick"); //其他四级菜单去掉样式
leftmenuFourth.siblings().find('.sub-logo').show(); //其他同级菜单下右侧图标恢复
leftmenuFourth.siblings().find('.sub-logo-hide').hide();//其他同级菜单下右侧图标恢复
leftmenuThird.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick");///其他三级下菜单去掉样式
leftmenuSecond.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick");///其他二级下菜单去掉样式
leftmenufirst.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick");///其他一级下菜单去掉样式
leftmenuThird.children("a").removeClass("leftmenuClick");///父级三级菜单去掉样式
leftmenuSecond.children("a").removeClass("leftmenuClick");///父级二级菜单去掉样式
};
});
$(".sp-leftmenu-fifth").children("a").on("click", function () {
if ($(this).hasClass("hasclick")) {
$(this).removeClass("hasclick").removeClass("leftmenuClick");
} else {
$(this).addClass("hasclick").addClass("leftmenuClick");
var leftmenufirst = $(this).parents(".sp-leftmenu-first");
var leftmenuSecond = $(this).parents(".sp-leftmenu-second");
var leftmenuThird = $(this).parents(".sp-leftmenu-third");
var leftmenuFourth = $(this).parents(".sp-leftmenu-fourth");
var leftmenuFifth = $(this).parents(".sp-leftmenu-fifth");
if ($(this).children(".sp-leftmenu-icon").length > 0) {
///含有子菜单时
$('.sub-logo', this).hide();
$('.sub-logo-hide', this).show();
leftmenuFourth.find(".sp-leftmenu-fifth").slideDown(300); ///当前级别四级菜单打开
} else {
//其下不含有子菜单
var get_clickID = $(this).attr('id');//获取menuClick的id
localStorage.setItem("GlWorkPlatform-setLeftBarClickID", get_clickID);
}
leftmenuFifth.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick"); //其他五级菜单去掉样式
leftmenuFourth.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick");///其他四级下菜单去掉样式
leftmenuThird.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick");///其他三级下菜单去掉样式
leftmenuSecond.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick");///其他二级下菜单去掉样式
leftmenufirst.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick");///其他一级下菜单去掉样式
leftmenuFourth.children("a").removeClass("leftmenuClick");///父级四级菜单去掉样式
leftmenuThird.children("a").removeClass("leftmenuClick");///父级三级菜单去掉样式
leftmenuSecond.children("a").removeClass("leftmenuClick");///父级二级菜单去掉样式
};
});
//左侧最上折叠/打开左侧菜单 按钮
$("#setLeftMenu_fold").on("click", function () {
if ($(this).hasClass("hasclick")) {
$(this).removeClass("hasclick");
$('#spWrapperLeftBar').removeClass("sp-leftmenu-fold");
$('.sp-wrapper-left').css('width', '140px');
$(".sp-wrapper-right").css("left", "140px");
}
else {
$(this).addClass("hasclick");
$('#spWrapperLeftBar').addClass("sp-leftmenu-fold");
$('.sp-wrapper-left').css('width', '40px');
$(".sp-wrapper-right").css("left", "40px");
}
});
};
//操作皮肤变色,将变色id加到localStorage中
sp.setCssSkin = function () {
//选择皮肤
if ($("body").find(".sp-skin-box").length > 0) {
var li = $(".sp-skin-box span");
li.click(function () {
var id = $(this).attr('id');
$(this).addClass("sp-skin-current").siblings().removeClass("sp-skin-current");
$("#skin_color").attr("href", "AFrontEnd/css/skin/" + id + ".css");
localStorage.setItem("GlWorkPlatform-cssSkin", id);
});
var cookieSkin = localStorage.getItem("GlWorkPlatform-cssSkin");
if (cookieSkin) {
$("#" + cookieSkin).addClass("sp-skin-current").siblings().removeClass("sp-skin-current");
$("#skin_color").attr("href", "AFrontEnd/css/skin/" + cookieSkin + ".css");
localStorage.setItem("GlWorkPlatform-cssSkin", cookieSkin);
}
}
}
sp.setCssSkinTwo = function () {
//选择皮肤
if ($("body").find(".sp-skin-box").length > 0) {
var li = $(".sp-skin-box span");
li.click(function () {
var id = $(this).attr('id');
$(this).addClass("sp-skin-current").siblings().removeClass("sp-skin-current");
$("#skin_color").attr("href", "AFrontEnd/css/skintwo/" + id + ".css");
localStorage.setItem("GlWorkPlatform-cssSkin", id);
});
var cookieSkin = localStorage.getItem("GlWorkPlatform-cssSkin");
if (cookieSkin) {
$("#" + cookieSkin).addClass("sp-skin-current").siblings().removeClass("sp-skin-current");
$("#skin_color").attr("href", "AFrontEnd/css/skintwo/" + cookieSkin + ".css");
localStorage.setItem("GlWorkPlatform-cssSkin", cookieSkin);
}
}
}
///根据localStorage中存的菜单id,加载到设置中 20180801改
sp.setLeftMenuActiveByCookie = function () {
//判断存到的ID 然后进行一级、二级、三级的判断
var cookie_clickID = localStorage.getItem("GlWorkPlatform-setLeftBarClickID");
//加上条件,在其不能为空或者null时方可执行
if (cookie_clickID != "" && cookie_clickID != null) {
localStorage.setItem("GlWorkPlatform-setLeftBarClickID", cookie_clickID);
//获取ID的class,然后进行一级、二级、三级的判断
var get_className = $("#" + cookie_clickID).parent().attr('class');
if (get_className != "" && get_className != null && get_className != undefined) {
if (get_className.indexOf('sp-leftmenu-first') != -1) {
///仅有一级菜单时
sp.restoreHomeFirst("#" + cookie_clickID);
}
else if (get_className.indexOf('sp-leftmenu-second') != -1) {
///含有有二级菜单时
sp.restoreHomeSecond("#" + cookie_clickID);
}
else if (get_className.indexOf("sp-leftmenu-third") != -1) {
//三级three
sp.restoreHomeThird("#" + cookie_clickID);
}
else if (get_className.indexOf('sp-leftmenu-fourth') != -1) {///四级 .four
sp.restoreHomeFourth("#" + cookie_clickID);
}
else if (get_className.indexOf('sp-leftmenu-fifth') != -1) {///五级 .five
sp.restoreHomeFifth("#" + cookie_clickID);
} else { return; }
}
}
}
///当首页文件处在一级时
sp.restoreHomeFirst = function (getfileid) {
$(getfileid).addClass("hasclick").addClass("sp-leftmenu-active");
var leftmenufirst = $(getfileid).parents(".sp-leftmenu-first");
leftmenufirst.siblings().children("a").removeClass('sp-leftmenu-active').removeClass("hasclick");
leftmenufirst.siblings().find('.sub-logo').show(); //其他一级菜单下右侧图标恢复
leftmenufirst.siblings().find('.sub-logo-hide').hide();//其他一级菜单下右侧图标恢复
leftmenufirst.siblings('li').find('li').slideUp(300);
leftmenufirst.children("a").find('.sub-logo').hide(); //右侧图标变化
leftmenufirst.children("a").find('.sub-logo-hide').show();
};
///当首页文件处在二级时
sp.restoreHomeSecond = function (getfileid) {
$(getfileid).addClass("hasclick").addClass("leftmenuClick");
var leftmenufirst = $(getfileid).parents(".sp-leftmenu-first");
var leftmenuSecond = $(getfileid).parents(".sp-leftmenu-second");
leftmenuSecond.siblings().find("li").slideUp(300); //其他二级菜单下三级菜单折叠
leftmenuSecond.siblings().children("a").removeClass("hasclick").removeClass("leftmenuClick"); //其他二级菜单去掉样式
leftmenuSecond.siblings().find('.sub-logo').show(); //其他二级菜单下右侧图标恢复
leftmenuSecond.siblings().find('.sub-logo-hide').hide();//其他二级菜单下右侧图标恢复
leftmenufirst.find(".sp-leftmenu-second").slideDown(300); ///当前级别二级菜单打开
leftmenufirst.children("a").find('.sub-logo').hide();
leftmenufirst.children("a").find('.sub-logo-hide').show();///右侧图标变化
leftmenufirst.children("a").addClass("sp-leftmenu-active");
leftmenufirst.siblings().find('li').slideUp(300);
leftmenufirst.siblings().find('.sub-logo').show();
leftmenufirst.siblings().find('.sub-logo-hide').hide(); //其他一级菜单下右侧图标恢复
leftmenufirst.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick").removeClass("sp-leftmenu-active");///其他一级下菜单去掉样式
};
///当首页文件 处在三级时
sp.restoreHomeThird = function (getfileid) {
//三级three
$(getfileid).addClass("hasclick").addClass("leftmenuClick");
var leftmenufirst = $(getfileid).parents(".sp-leftmenu-first");
var leftmenuSecond = $(getfileid).parents(".sp-leftmenu-second");
var leftmenuThird = $(getfileid).parents(".sp-leftmenu-third");
leftmenuThird.siblings().find("li").slideUp(300); //其他三级菜单下四级菜单折叠
leftmenuThird.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick"); //其他三级菜单去掉样式
leftmenuThird.children("a").find('.sub-logo').hide();
leftmenuThird.children("a").find('.sub-logo-hide').show(); ///右侧图标变化
leftmenuThird.siblings().find('.sub-logo').show();
leftmenuThird.siblings().find('.sub-logo-hide').hide(); //其他同级菜单下右侧图标恢复
leftmenuSecond.find(".sp-leftmenu-third").slideDown(300); ///当前级别三级菜单打开
leftmenuSecond.siblings().find("li").slideUp(300); //其他二级菜单下三级菜单折叠
leftmenuSecond.siblings().children("a").removeClass("hasclick").removeClass("leftmenuClick"); //其他二级菜单去掉样式
leftmenuSecond.children("a").find('.sub-logo').hide();
leftmenuSecond.children("a").find('.sub-logo-hide').show(); //其右侧标变化
leftmenuSecond.siblings().find('.sub-logo').show();
leftmenuSecond.siblings().find('.sub-logo-hide').hide(); //其他二级菜单下右侧图标恢复
leftmenufirst.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick").removeClass("sp-leftmenu-active");///其他一级下菜单去掉样式
leftmenufirst.find(".sp-leftmenu-second").slideDown(300); ///当前级别二级菜单打开
leftmenufirst.children("a").find('.sub-logo').hide();
leftmenufirst.children("a").find('.sub-logo-hide').show();
leftmenufirst.children("a").addClass("sp-leftmenu-active");
leftmenufirst.siblings().find('li').slideUp(300);
leftmenufirst.siblings().find('.sub-logo').show();
leftmenufirst.siblings().find('.sub-logo-hide').hide(); //其他一级菜单下右侧图标恢复
};
///当首页文件处在四级时
sp.restoreHomeFourth = function (getfileid) {
$(getfileid).addClass("hasclick").addClass("leftmenuClick");
var leftmenufirst = $(getfileid).parents(".sp-leftmenu-first");
var leftmenuSecond = $(getfileid).parents(".sp-leftmenu-second");
var leftmenuThird = $(getfileid).parents(".sp-leftmenu-third");
var leftmenuFourth = $(getfileid).parents(".sp-leftmenu-fourth");
leftmenuFourth.siblings().find("li").slideUp(300); //其他四级菜单下五级菜单折叠
leftmenuFourth.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick"); //其他四级菜单去掉样式
leftmenuFourth.children("a").find('.sub-logo').hide();
leftmenuFourth.children("a").find('.sub-logo-hide').show(); //其右侧标变化
leftmenuFourth.siblings().find('.sub-logo').show().find('.sub-logo-hide').hide(); //其他同级菜单下右侧图标恢复
leftmenufirst.find(".sp-leftmenu-second").slideDown(300);//其下二级菜单展开
leftmenufirst.siblings('li').find('li').slideUp(300);
leftmenufirst.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick").removeClass("sp-leftmenu-active");///其他一级下菜单去掉样式
leftmenufirst.children("a").addClass("sp-leftmenu-active");
leftmenufirst.children("a").find('.sub-logo').hide();
leftmenufirst.children("a").find('.sub-logo-hide').show();
leftmenufirst.siblings().find('.sub-logo').show();
leftmenufirst.siblings().find('.sub-logo-hide').hide(); //其他一级菜单下右侧图标恢复
leftmenuSecond.find(".sp-leftmenu-third").slideDown(300); ///当前级别三级菜单打开
leftmenuSecond.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick");///其他二级下菜单去掉样式
leftmenuSecond.siblings().children("a").removeClass("hasclick").removeClass("leftmenuClick"); //其他二级菜单去掉样式
leftmenuSecond.children("a").find('.sub-logo').hide();
leftmenuSecond.children("a").find('.sub-logo-hide').show(); //其右侧标变化
leftmenuSecond.siblings().find('.sub-logo').show();
leftmenuSecond.siblings().find('.sub-logo-hide').hide(); //其他二级菜单下右侧图标恢复
leftmenuThird.find(".sp-leftmenu-fourth").slideDown(300); ///当前级别四级菜单打开
leftmenuThird.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick");///其他三级下菜单去掉样式
leftmenuThird.children("a").removeClass("leftmenuClick");///父级三级菜单去掉样式
leftmenuThird.children("a").find('.sub-logo').hide();
leftmenuThird.children("a").find('.sub-logo-hide').show(); //其右侧标变化
leftmenuThird.siblings().find('.sub-logo').show();
leftmenuThird.siblings().find('.sub-logo-hide').hide(); //其他同级菜单下右侧图标恢复
};
///当首页文件处在五级时
sp.restoreHomeFifth = function (getfileid) {
$(getfileid).addClass("hasclick").addClass("leftmenuClick");
var leftmenufirst = $(getfileid).parents(".sp-leftmenu-first");
var leftmenuSecond = $(getfileid).parents(".sp-leftmenu-second");
var leftmenuThird = $(getfileid).parents(".sp-leftmenu-third");
var leftmenuFourth = $(getfileid).parents(".sp-leftmenu-fourth");
var leftmenuFifth = $(getfileid).parents(".sp-leftmenu-fifth");
leftmenuFifth.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick"); //其他五级菜单去掉样式
leftmenufirst.find(".sp-leftmenu-second").slideDown(300);//其下二级菜单展开
leftmenufirst.siblings('li').find('li').slideUp(300);
leftmenufirst.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick").removeClass("sp-leftmenu-active");///其他一级下菜单去掉样式
leftmenufirst.children("a").addClass("sp-leftmenu-active");
leftmenufirst.children("a").find('.sub-logo').hide();
leftmenufirst.children("a").find('.sub-logo-hide').show();//其右侧标变化
leftmenufirst.siblings().find('.sub-logo').show().find('.sub-logo-hide').hide(); //其他一级菜单下右侧图标恢复
leftmenuSecond.find(".sp-leftmenu-third").slideDown(300); ///当前级别三级菜单打开
leftmenuSecond.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick");///其他二级下菜单去掉样式
leftmenuSecond.siblings().children("a").removeClass("hasclick").removeClass("leftmenuClick"); //其他二级菜单去掉样式
leftmenuSecond.children("a").find('.sub-logo').hide();
leftmenuSecond.children("a").find('.sub-logo-hide').show(); //其右侧标变化
leftmenuSecond.siblings().find('.sub-logo').show();
leftmenuSecond.siblings().find('.sub-logo-hide').hide(); //其他二级菜单下右侧图标恢复
leftmenuThird.find(".sp-leftmenu-fourth").slideDown(300); ///当前级别四级菜单打开
leftmenuThird.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick");///其他三级下菜单去掉样式
leftmenuThird.children("a").removeClass("leftmenuClick");///父级三级菜单去掉样式
leftmenuThird.children("a").find('.sub-logo').hide();
leftmenuThird.children("a").find('.sub-logo-hide').show(); //其右侧标变化
leftmenuThird.siblings().find('.sub-logo').show();
leftmenuThird.siblings().find('.sub-logo-hide').hide(); //其他同级菜单下右侧图标恢复
leftmenuFourth.find(".sp-leftmenu-fifth").slideDown(300); ///当前级别四级菜单打开
leftmenuFourth.siblings().find("li").slideUp(300); //其他四级菜单下五级菜单折叠
leftmenuFourth.siblings().find("a").removeClass("hasclick").removeClass("leftmenuClick"); //其他四级菜单去掉样式
leftmenuFourth.children("a").find('.sub-logo').hide();
leftmenuFourth.children("a").find('.sub-logo-hide').show(); //其右侧标变化
leftmenuFourth.siblings().find('.sub-logo').show();
leftmenuFourth.siblings().find('.sub-logo-hide').hide(); //其他同级菜单下右侧图标恢复
};
/////记录打开的菜单文件20180730
/////保存打开的菜单中的文件路径,存入本地存储中,
sp.savemenufile = function (idstr, title, src) {
var fileJsonObj = { "id": idstr, "title": title, "src": src };
if (localStorage.getItem("GlWorkPlatform-openfileArray") == undefined || localStorage.getItem("GlWorkPlatform-openfileArray") == null) {
var openFileArray = [];
openFileArray.push(fileJsonObj);
localStorage.setItem("GlWorkPlatform-openfileArray", JSON.stringify(openFileArray)); //localStorage默认的是字符型,因此需要将json串转成字符型
} else {
var getopenfilearry = localStorage.getItem("GlWorkPlatform-openfileArray");//取出菜单文件数据
//console.log(getopenfilearry);
var setfilearry = JSON.parse(getopenfilearry);//把字符串转换成JSON对象
var sethasfileno = 0; ///设置是否存有问价的标识
var oldfiledata = ""; //旧得数据
$.each(setfilearry, function (index, item) {
if (item.id == idstr) {
sethasfileno = 1; ///说明菜单文件中已经存在该文件
oldfiledata = { "id": idstr, "title": item.title, "src": item.src };
}
});
if (sethasfileno == 0) {
//没有重复时push
setfilearry.push(fileJsonObj);
} else {
///重复时应该更新该条数据
var updatedataarray = JSON.stringify(setfilearry);
var updatereplaceArray = updatedataarray.replace(JSON.stringify(oldfiledata), JSON.stringify(fileJsonObj));
setfilearry = JSON.parse(updatereplaceArray);
}
///未找到,没有重复的
//if (getopenfilearry.indexOf(JSON.stringify(fileJsonObj)) == -1) {
// setfilearry.push(fileJsonObj);
//};
localStorage.setItem("GlWorkPlatform-openfileArray", JSON.stringify(setfilearry)); //localStorage默认的是字符型,因此需要将json串转成字符型
//console.log(JSON.stringify(setfilearry));
}
};
//首页tab签导航条
sp.clickTabNavActive = function (obj) {
var get_child_id = $(obj).attr("data-href");
$(obj).addClass("sp-wrapper-tabs-current").siblings().removeClass("sp-wrapper-tabs-current");
$(get_child_id).show().addClass("sp-wrapper-tabs-box-current");
$(get_child_id).siblings().removeClass("sp-wrapper-tabs-box-current").hide();
}
sp.closeSingleTabsNav = function (obj) {
//点击上面的叉号时
var get_child_id = $(obj).parent().attr("data-href"); //获取对应id
var getid = get_child_id.substring(get_child_id.lastIndexOf("_") + 1, get_child_id.length);
var temp = localStorage.getItem("GlWorkPlatform-openfileArray");//取出文件数据
var tempObj = JSON.parse(temp);//把字符串转换成JSON对象
var fileJsonObj = "";
$.each(tempObj, function (index, item) {
if (item.id == getid) {
fileJsonObj = { "id": item.id, "title": item.title, "src": item.src }
}
});
var setItemStr = "," + JSON.stringify(fileJsonObj);
//console.log(setItemStr);
var replaceArray = temp.replace(setItemStr, "");
//console.log(replaceArray);
localStorage.setItem("GlWorkPlatform-openfileArray", replaceArray); //localStorage默认的是字符型,因此需要将json串转成字符型
if ($(obj).parent().hasClass("sp-wrapper-tabs-current")) {
//若此列是当前显示的列,让其前一列显示
$(obj).parent().prev("li").addClass("sp-wrapper-tabs-current").show();
$(get_child_id).prev(".sp-wrapper-tabs-box-col").addClass("sp-wrapper-tabs-box-current").show();
$(obj).parent().remove();
$(get_child_id).remove();
} else {
//若不是当前列,则直接移除
$(obj).parent().remove();
$(get_child_id).remove();
}
////当关闭到只剩下首页页签时,要将菜单定位到首页
if (JSON.parse(replaceArray).length == 1) {
var gethomefilecutid = JSON.parse(replaceArray)[0].id;
if ($("body").find(".sp-wrapper-left").length > 0) {
$("#spWrapperLeftBarUl li:eq(0) .sp-leftmenu-ltitle").each(function (index, item) {
var getfileid = $(this).parent().attr("id");
var getfilecutid = getfileid.substring(getfileid.lastIndexOf("_") + 1, getfileid.length);
if (getfilecutid == gethomefilecutid) {
if ($("#" + getfileid).parent().attr("class").indexOf("sp-leftmenu-first") != -1) {
///仅有一级菜单时
sp.restoreHomeFirst("#" + getfileid);
} else if ($("#" + getfileid).parent().attr("class").indexOf("sp-leftmenu-second") != -1) {
///含有二级菜单时
sp.restoreHomeSecond("#" + getfileid);
} else if ($("#" + getfileid).parent().attr("class").indexOf("sp-leftmenu-third") != -1) { //三级three
//含有三级菜单时three
sp.restoreHomeThird("#" + getfileid);
} else { return; }
}
});
} else if ($("body").find(".sp-wrapper-left-second").length > 0) {
$("#spLeftBarULTwo li").removeClass("leftbarTwoActive");
$("#spLeftBarULTwo li:eq(0)").addClass("leftbarTwoActive");
///遍历第一级菜单下面的子菜单,分处于二级和三级
$("#spLeftBarULTwo li:eq(0) a").each(function () {
if ($(this).find(".lbtitle").length > 0) {
var getfileid = $(this).attr("id")
var getfilecutid = getfileid.substring(getfileid.lastIndexOf("_") + 1, getfileid.length);
if (getfilecutid == gethomefilecutid) {
var getparentclass = $(this).parent("li").attr("class");
if (getparentclass.indexOf("sp-leftbar-second") != -1) {
$(this).parents(".sp-leftbar-first").find("a").removeClass("leftbartitleActive");
$(this).parents(".sp-leftbar-first").siblings().find("a").removeClass("leftbartitleActive");
$(this).addClass("leftbartitleActive");
} else if (getparentclass.indexOf("sp-leftbar-third") != -1) {
$(this).parents(".sp-leftbar-first").find("a").removeClass("leftbartitleActive");
$(this).parents(".sp-leftbar-first").siblings().find("a").removeClass("leftbartitleActive");
$(this).addClass("leftbartitleActive");
$(this).parents(".sp-leftbar-second").children("a").addClass("leftbartitleActive");
} else { return; }
} else {
return;
}
}
});
} else {
return;
}
}
};
//onclick事件时引用,向首页添加tabs切换书签
//sp.addTabNav = function (id, title, src) {
// ///
// /// 向首页添加tabs切换书签
// ///
// /// 唯一id编码
// /// 标题
// /// 文件路径
// /// 会生成tabs标题及文件iframe一个
// var setID = "wrapper_tabs_box_col_" + id;
// var set_title = "";
// var getLen2 = sp.getlength(title); ///汉字算2个字符
// if (getLen2 > 9) {
// set_title = sp.cutstr(title, 8);
// //set_title = title.substring(0, 8) + "..";
// } else {
// set_title = title;
// }
// if ($("#spWrapperTabsPart .sp-wrapper-tabs-box").children("#" + setID).length < 1) {
// $("#spWrapperTabsPart ul li").removeClass("sp-wrapper-tabs-current");
// $(".sp-wrapper-tabs-box-current").hide();
// $("#spWrapperTabsPart .sp-wrapper-tabs-box .sp-wrapper-tabs-box-col").removeClass("sp-wrapper-tabs-box-current");
// $("#spWrapperTabsPart ul").append("");
// $("#spWrapperTabsPart .sp-wrapper-tabs-box").append("");
// $("#" + setID).show();
// sp.savemenufile(id, title, src); ///记录打开的菜单文件
// sp.pagetabShiftRight();
// } else {
// $("#spWrapperTabsPart ul li").removeClass("sp-wrapper-tabs-current");
// $(".sp-wrapper-tabs-box-current").hide();
// $("#spWrapperTabsPart .sp-wrapper-tabs-box .sp-wrapper-tabs-box-col").removeClass("sp-wrapper-tabs-box-current");
// $("#wrapper_tabs_menu_li_" + id).addClass("sp-wrapper-tabs-current").show();
// $("#" + setID).addClass("sp-wrapper-tabs-box-current").show();
// $("#" + setID + " iframe").attr("src", src); ////然后让里面的iframe重新加载点击后的页面
// }
// sp.fitHeight("iframe",$(".sp-wrapper-head").outerHeight() + $(".sp-wrapper-tabs-head").outerHeight()); //设置iframe的高度
//};
//onclick事件时引用,向首页添加tabs切换书签
///
/// 本方法目的:适应菜单在上侧显示框架----20230224
///
//sp.addTabNav = function (id, title, src) {
// $("#indexhd_iframe_fileurl").attr("src", src);
//}
sp.addTabNav = function (id, title, src) {
///
/// 向首页添加tabs切换书签
///
/// 唯一id编码
/// 标题
/// 文件路径
/// 会生成tabs标题及文件iframe一个
var setID = "wrapper_tabs_box_col_" + id;
if ($("#spWrapperTabsPart .sp-wrapper-tabs-box").find("#" + setID).length < 1) {
//$(".sp-wrapper-tabs-box-col").hide();
$("#spWrapperTabsPart .sp-wrapper-tabs-box .sp-wrapper-tabs-box-col").removeClass("sp-wrapper-tabs-box-current");
$("#spWrapperTabsPart .sp-wrapper-tabs-box").append("");
//$("#" + setID).show();
sp.fitHeight("#iframe_" + setID + "", $(".sp-wrapper-head").outerHeight() + 30); //设置iframe的高度
//alert($(".sp-wrapper-head").outerHeight() + 35);
} else {
//$(".sp-wrapper-tabs-box-current").hide();
$(".sp-wrapper-tabs-box-col").removeClass("sp-wrapper-tabs-box-current");
var get_oldurl = $("#iframe_" + setID + "").attr("src");
if (get_oldurl != src) {
$("#" + setID).addClass("sp-wrapper-tabs-box-current");
//$("#" + setID).show();
$("#" + setID + " iframe").attr("src", src); ////然后让里面的iframe重新加载点击后的页面
} else {
$("#" + setID).addClass("sp-wrapper-tabs-box-current");
}
sp.fitHeight("#iframe_" + setID + "", $(".sp-wrapper-head").outerHeight() + 30); //设置iframe的高度
}
};
//根据左侧菜单json动态加载首页第一个home文件20180801
//让菜单中的排序为第一个的页面以及页面名称显示到第一个,且没有右上关闭图标
sp.addhometabnav = function (id, title, src) {
var set_title = "";
var getLen2 = sp.getlength(title);///汉字算2个字符
if (getLen2 > 9) {
set_title = sp.cutstr(title, 8);
//set_title = title.substring(0, 4) + "..";
} else {
set_title = title;
}
$("#spWrapperTabsPart ul").append("");
$("#spWrapperTabsPart .sp-wrapper-tabs-box").append("");
sp.fitHeight("iframe",$(".sp-wrapper-head").outerHeight() + $(".sp-wrapper-tabs-head").outerHeight()); //设置iframe的高度
////加载第一个菜单作为home文件时都判断并添加home文件--start,
var fileJsonObj = { "id": id, "title": title, "src": src };
if (localStorage.getItem("GlWorkPlatform-openfileArray") == undefined || localStorage.getItem("GlWorkPlatform-openfileArray") == null) {
var openFileArray = [];
openFileArray.push(fileJsonObj);
localStorage.setItem("GlWorkPlatform-openfileArray", JSON.stringify(openFileArray)); //localStorage默认的是字符型,因此需要将json串转成字符型
} else {
var hashomechange = 0;
var getopenfilearry = localStorage.getItem("GlWorkPlatform-openfileArray");//取出菜单文件数据
$.each(JSON.parse(getopenfilearry), function (index, item) {
if (item.id == id) {
//说明存在第一个页签
hashomechange = 1;
}
});
///home文件已经发生变化
if (hashomechange == 0) {
var openFileArray = [];
openFileArray.push(fileJsonObj);
localStorage.removeItem("GlWorkPlatform-openfileArray");
localStorage.setItem("GlWorkPlatform-openfileArray", JSON.stringify(openFileArray)); //localStorage默认的是字符型,因此需要将json串转成字符型
} else {
sp.savemenufile(id, title, src);
}
}
////--end
///将home文件所在的左侧菜单进行激活并展开-start
setTimeout(function () {
if ($("body").find(".sp-wrapper-left").length > 0) {
$("#spWrapperLeftBarUl li:eq(0) .sp-leftmenu-ltitle").each(function (index, item) {
var get_left_bar_id = $(this).parent().attr("id");
var getleftbarcutid = get_left_bar_id.substring(get_left_bar_id.lastIndexOf("_") + 1, get_left_bar_id.length);
if (getleftbarcutid == id) {
var get_className = $("#" + get_left_bar_id).parent().attr('class');
if (get_className.indexOf('sp-leftmenu-first') != -1) {
sp.restoreHomeFirst("#" + get_left_bar_id);
} else if (get_className.indexOf('sp-leftmenu-second') != -1) {
///二级 .two
sp.restoreHomeSecond("#" + get_left_bar_id);
} else if (get_className.indexOf('sp-leftmenu-third') != -1) {
sp.restoreHomeThird("#" + get_left_bar_id);
} else { return; }
};
});
} else if ($("body").find(".sp-wrapper-left-second").length > 0) {
$("#spLeftBarULTwo li:eq(0)").addClass("leftbarTwoActive");
///遍历第一级菜单下面的子菜单,分处于二级和三级
$("#spLeftBarULTwo li:eq(0) a").each(function () {
if ($(this).find(".lbtitle").length > 0) {
var getfileid = $(this).attr("id")
var getfilecutid = getfileid.substring(getfileid.lastIndexOf("_") + 1, getfileid.length);
//var getlbtitle = $(".lbtitle", this).text();
if (getfilecutid == id) {
var getparentclass = $(this).parent("li").attr("class");
if (getparentclass.indexOf("sp-leftbar-second") != -1) {
$(this).parents(".sp-leftbar-first").find("a").removeClass("leftbartitleActive");
$(this).parents(".sp-leftbar-first").siblings().find("a").removeClass("leftbartitleActive");
$(this).addClass("leftbartitleActive");
} else if (getparentclass.indexOf("sp-leftbar-third") != -1) {
$(this).parents(".sp-leftbar-first").find("a").removeClass("leftbartitleActive");
$(this).parents(".sp-leftbar-first").siblings().find("a").removeClass("leftbartitleActive");
$(this).addClass("leftbartitleActive");
$(this).parents(".sp-leftbar-second").children("a").addClass("leftbartitleActive");
} else { return;}
} else {
return;
}
}
});
} else {
}
},5);
//-end
};
////根据传过来的json数据动态生成框架风格一五级菜单
sp.dynamicLeftMenu = function (jsondata) {
var res = JSON.parse(jsondata);
$.each(res.rows, function (index, item) {
if (typeof item.C_H_I_L_D == "undefined" || item.C_H_I_L_D.length < 1) {
if (item.OPENTYPE == "_blank") {
$("#spWrapperLeftBarUl").append("");
} else {
$("#spWrapperLeftBarUl").append("");
}
} else {
var setSecondAll = "";
var setFirstMenu = "";
} else {
setSecondAll += "";
}
} else {
var getThrdAll = "";
var setSecondSingle = ""
} else {
getThrdAll += ""
}
} else {
var setFourthAll = "";
var getThirdSingle = "";
} else {
setFourthAll += "";
}
} else {
var setFifthAll = "";
var setFourthSingle = "";
} else {
setFifthAll += "";
}
});
setFourthAll += setFourthSingle + "";
}
});
getThrdAll += getThirdSingle + "";
}
});
setSecondAll += setSecondSingle + "";
}
});
var setChild = setFirstMenu + "";
//console.log(setChild);
$("#spWrapperLeftBarUl").append(setChild);
}
});
//////让菜单中的排序为第一个的页面以及页面名称显示到第一个,且没有右上关闭图标-----start
if (typeof res.rows[0].C_H_I_L_D == "undefined" || res.rows[0].C_H_I_L_D.length < 1) {
///若没有子节点
var title = res.rows[0].CNAME;
var id = res.rows[0].PKID;
var src = res.rows[0].FILEN;
sp.addhometabnav(id, title, src); ///将左侧菜单第一个设为home的tab签
} else if (typeof res.rows[0].C_H_I_L_D[0].C_H_I_L_D == "undefined" || res.rows[0].C_H_I_L_D[0].C_H_I_L_D.length < 1) {
///如有子节点-二级
var title = res.rows[0].C_H_I_L_D[0].CNAME;
var id = res.rows[0].C_H_I_L_D[0].PKID;
var src = res.rows[0].C_H_I_L_D[0].FILEN;
sp.addhometabnav(id, title, src);///将左侧菜单第一个设为home的tab签
} else {
//三级
var title = res.rows[0].C_H_I_L_D[0].C_H_I_L_D[0].CNAME;
var id = res.rows[0].C_H_I_L_D[0].C_H_I_L_D[0].PKID;
var src = res.rows[0].C_H_I_L_D[0].C_H_I_L_D[0].FILEN;
sp.addhometabnav(id, title, src);///将左侧菜单第一个设为home的tab签
}
///////-----end
setTimeout(function () {
//sp.loadmenufiles();//加载记录菜单文件
sp.setLeftMenu(); ///操作左侧五级菜单
}, 300);
/////----end
};
////层里面设置多个div
sp.tabscoliframeset = function (id, title, src) {
var get_current_id = $(".sp-wrapper-tabs-box-current").attr("id").split("wrapper_tabs_box_col_")[1];
var setID = "spwrappertabsboxcoliframelayer_" + get_current_id + "_" + id;
if ($(".sp-wrapper-tabs-box-current").find("#" + setID).length < 1) {
var get_iframelength = $(".sp-wrapper-tabs-box-current").find("iframe").length;
//console.log(get_iframelength);
var set_width_1 = 0, set_width_2 = 0;
if (get_iframelength == 1) {
set_width_1 = "33.333%"; set_width_2 = "65.666%";
} else if (get_iframelength == 2) {
set_width_1 = "33.333%"; set_width_2 = "32.333%";
} else if (get_iframelength == 3) {
set_width_1 = "30%"; set_width_2 = "22.333%";
} else if (get_iframelength == 4) {
set_width_1 = "30%"; set_width_2 = "16.5%";
} else {
set_width_1 = "30%"; set_width_2 = "13%";
}
$(".sp-wrapper-tabs-box-current iframe:eq(0)").css("width", set_width_1);
$(".sp-wrapper-tabs-box-current").find(".sp-wrapper-tabs-box-col-iframelayer").removeClass("sp-wrapper-tabs-box-col-iframelayer-curent");
var setiframe = "";
$(".sp-wrapper-tabs-box-current").append(setiframe);
sp.fitHeight("iframe", $(".sp-wrapper-head").outerHeight() + $(".sp-wrapper-tabs-head").outerHeight()); //设置iframe的高度
$(".sp-wrapper-tabs-box-current").find(".sp-wrapper-tabs-box-col-iframelayer").css("width", set_width_2);
$(".sp-wrapper-tabs-box-current").find(".sp-wrapper-tabs-box-col-iframelayer").each(function () {
$(this).click(function () {
$(this).addClass("sp-wrapper-tabs-box-col-iframelayer-curent").siblings().removeClass("sp-wrapper-tabs-box-col-iframelayer-curent");
});
});
setTimeout(function () {
$("#" + setID).resizable({
handles: "e,w",
minWidth: 100,
minHeight: 300,
resize: function (event, ui) {
//self.settopWorkLayer(event.target);
//$(event.target).find('.gmt-work-mask').show();
//var set_wid = "";
//if (get_iframelength >1){
// set_wid = ($(".sp-wrapper-tabs-box-current").width() / 2 - 10 * get_iframelength - $("#" + setID).width()) / get_iframelength;
//}
//$("#" + setID).siblings(".sp-wrapper-tabs-box-col-iframelayer").css("width", "" + set_wid + "%");
},
stop: function (event, ui) {
//$(event.target).find('.gmt-work-mask').hide();
}
});
}, 1000)
}
};
sp.tabscoliframesetClose = function (idnum) {
//alert(idnum);
$(".sp-wrapper-tabs-box-current").find("#" + idnum).remove();
if ($(".sp-wrapper-tabs-box-current").find("iframe").length < 2) {
$(".sp-wrapper-tabs-box-current iframe:eq(0)").css("width", "100%");
}
};
///打开页签操作part
sp.setpagetab = function () {
$(".sp-pagetab-close").on("click", function (e) {
if ($(".sp-pagetab-close").hasClass("hasclick")) {
$(".sp-pagetab-close").removeClass("hasclick");
$(".sp-pagetab-closepart").fadeOut(200);
} else {
$(".sp-pagetab-close").addClass("hasclick");
$(".sp-pagetab-closepart").fadeIn(200);
///若此一直展开处于无操作时,就将页签操作part进行关闭
setTimeout(function () {
if ($(".sp-pagetab-closepart").is(":visible")) {
//alert(1);
$(".sp-pagetab-close").removeClass("hasclick");
$(".sp-pagetab-closepart").fadeOut(200);
}
}, 10000);
}
sp.stopPropagation(e);
});
$(document).on('click', function () {
$(".sp-pagetab-close").removeClass("hasclick");
$(".sp-pagetab-closepart").fadeOut(200);
});
$(".sp-pagetab-close").click(function (e) {
sp.stopPropagation(e);
});
};
sp.setpagetab();
///关闭全部页签20180730
sp.closePagetab = function () {
var getopenfilearry = localStorage.getItem("GlWorkPlatform-openfileArray");//取出菜单文件数据
if (JSON.parse(getopenfilearry).length > 1) {
var setopenfilearry = getopenfilearry.substring(0, getopenfilearry.indexOf("},") + 1);
setopenfilearry = setopenfilearry + "]";
localStorage.setItem("GlWorkPlatform-openfileArray", setopenfilearry);
if ($(".sp-wrapper-tabs-menu li").length > 1) {
$(".sp-wrapper-tabs-menu li").each(function (index, item) {
var gettabsmenuliid = $(this).attr("id");
var getiframeid = $(this).attr("data-href");//得到iframe的id
if (index != 0) {
///删除首页之外的菜单文件
$(this).remove();
$(getiframeid).remove();
} else {
///为第一个加上选中样式
$("#" + gettabsmenuliid).addClass("sp-wrapper-tabs-current");
$(getiframeid).show().addClass("sp-wrapper-tabs-box-current");
var gethometitle = $(this).attr("title");
var gethomefileid = $(this).attr("id");
var gethomefilecutid = gethomefileid.substring(gethomefileid.lastIndexOf("_") + 1, gethomefileid.length);
if ($("body").find(".sp-wrapper-left").length > 0) {
$("#spWrapperLeftBarUl li:eq(0) .sp-leftmenu-ltitle").each(function (index, item) {
var getfileid = $(this).parent().attr("id");
var getfilecutid = getfileid.substring(getfileid.lastIndexOf("_") + 1, getfileid.length);
if (getfilecutid == gethomefilecutid) {
if ($("#" + getfileid).parent().attr("class").indexOf("sp-leftmenu-first") != -1) {
///仅有一级菜单时
sp.restoreHomeFirst("#" + getfileid);
} else if ($("#" + getfileid).parent().attr("class").indexOf("sp-leftmenu-second") != -1) {
///含有有二级菜单时
sp.restoreHomeSecond("#" + getfileid);
} else if ($("#" + getfileid).parent().attr("class").indexOf("sp-leftmenu-third") != -1) {
//三级three
sp.restoreHomeThird("#" + getfileid);
} else { return;}
}
});
} else if ($("body").find(".sp-wrapper-left-second").length > 0) {
$("#spLeftBarULTwo li").removeClass("leftbarTwoActive");
$("#spLeftBarULTwo li:eq(0)").addClass("leftbarTwoActive");
///遍历第一级菜单下面的子菜单,分处于二级和三级
$("#spLeftBarULTwo li:eq(0) a").each(function () {
if ($(this).find(".lbtitle").length > 0) {
var getfileid = $(this).attr("id")
var getfilecutid = getfileid.substring(getfileid.lastIndexOf("_") + 1, getfileid.length);
if (getfilecutid == gethomefilecutid) {
var getparentclass = $(this).parent("li").attr("class");
if (getparentclass.indexOf("sp-leftbar-second") != -1) {
$(this).parents(".sp-leftbar-first").find("a").removeClass("leftbartitleActive");
$(this).parents(".sp-leftbar-first").siblings().find("a").removeClass("leftbartitleActive");
$(this).addClass("leftbartitleActive");
} else if (getparentclass.indexOf("sp-leftbar-third") != -1) {
$(this).parents(".sp-leftbar-first").find("a").removeClass("leftbartitleActive");
$(this).parents(".sp-leftbar-first").siblings().find("a").removeClass("leftbartitleActive");
$(this).addClass("leftbartitleActive");
$(this).parents(".sp-leftbar-second").children("a").addClass("leftbartitleActive");
} else { return;}
} else {
return;
}
}
});
}else{return;}
}
});
localStorage.removeItem("GlWorkPlatform-setLeftBarClickID");
}
}
$(".sp-pagetab-closepart").fadeOut(200);
};
///关闭其他页签,除当前active的20180730
sp.closePagetabOthers = function () {
///得到当前打开项的id
var get_child_id = $(".sp-wrapper-tabs-current").attr("data-href");
var getid = get_child_id.substring(get_child_id.lastIndexOf("_") + 1, get_child_id.length);
var temp = localStorage.getItem("GlWorkPlatform-openfileArray");//取出菜单文件数据
if (JSON.parse(temp).length > 1) {
////将home文件即第一个菜单文件取出
var gethomefile = temp.substring(0, temp.indexOf("},") + 1);
gethomefile = gethomefile + "]";
var sethomefileArray = JSON.parse(gethomefile);
var gethomefileid = sethomefileArray[0].id; ///得到home文件的id编号
////进行比对
if (getid == gethomefileid) {
///tabs签停在首页home时,将其他删除并清空记录
if ($(".sp-wrapper-tabs-menu li").length > 1) {
$(".sp-wrapper-tabs-menu li").each(function (index, item) {
if (index != 0) {
///删除首页之外的菜单文件
var getiframeid = $(this).attr("data-href");//得到iframe的id
$(this).remove();
$(getiframeid).remove();
}
});
}
//alert(gethomefile);
localStorage.setItem("GlWorkPlatform-openfileArray", gethomefile);
} else {
///tabs签没有停留在首页
if ($(".sp-wrapper-tabs-menu li").length > 1) {
$(".sp-wrapper-tabs-menu li").each(function (index, item) {
if (index != 0) {
///删除首页之外的菜单文件
var getiframeid = $(this).attr("data-href");//得到iframe的id
if (getiframeid != get_child_id) {
$(this).remove();
$(getiframeid).remove();
}
}
});
}
var tempObj = JSON.parse(temp);//把字符串转换成JSON对象
var fileJsonObj = "";
$.each(tempObj, function (index, item) {
if (item.id == getid) {
fileJsonObj = { "id": item.id, "title": item.title, "src": item.src }
}
});
var setOtherfilesarray = temp.substring(0, temp.indexOf("},") + 2) + JSON.stringify(fileJsonObj) + "]";
//alert(setOtherfilesarray);
localStorage.setItem("GlWorkPlatform-openfileArray", setOtherfilesarray);
}
}
$(".sp-wrapper-tabs-closepart").fadeOut(200);
};
//刷新当前页签
sp.reloadPagetabCurrent = function () {
var geturl = "";
var getid = $(".sp-wrapper-tabs-menu .sp-wrapper-tabs-current").attr("data-href");
geturl = $(getid + " iframe").attr("src");
if (geturl.indexOf("?") != -1 && geturl.indexOf("?time") == -1) {
//若含有?问号,并且没有找到?time,即文件路径含有其他参数,加上time时间戳加载后面
if (geturl.indexOf("&time") != -1) {
//含有时间戳
var cuturl = geturl.substring(0, geturl.indexOf("&time")); ///先截取
geturl = cuturl + "&time=" + new Date().getTime();
} else {
///没有时间戳
geturl = geturl + "&time=" + new Date().getTime(); ///直接在后面加上时间戳
}
} else if (geturl.indexOf("?time") != -1) {
///若第一个参数就是?time,即上次加了时间戳
var cuturl = geturl.substring(0, geturl.indexOf("?"));
geturl = cuturl + "?time=" + new Date().getTime();
} else if (geturl.indexOf("?") == -1) {
//若无参数,也无?就直接加上时间戳
geturl = geturl + "?time=" + new Date().getTime();
} else { return; }
$(getid + " iframe").attr("src", geturl);
$(".sp-pagetab-closepart").fadeOut(200);
};
////打开页面时加载记录菜单文件20180801
sp.loadmenufiles = function () {
var temp = localStorage.getItem("GlWorkPlatform-openfileArray");//取出文件数据
var tempObj = JSON.parse(temp);//把字符串转换成JSON对象
var gethomefiletitle = tempObj[0].title;//得到home文件名称标题
if (tempObj.length > 1) {
var dialogHead = "您好×";
var dialogBody = "是否打开上次浏览的菜单页签?
";
var dialogFoot = "";
$('.sp-dialog').html(dialogHead + dialogBody + dialogFoot);
sp.openCenter(".sp-dialog");
///取消按钮
$('.sp-closeDialog').click(function (event) {
sp.dialoghide();
var getopenfilearry = localStorage.getItem("GlWorkPlatform-openfileArray");//取出菜单文件数据
var setopenfilearry = getopenfilearry.substring(0, getopenfilearry.indexOf("},") + 1);
setopenfilearry = setopenfilearry + "]";
localStorage.setItem("GlWorkPlatform-openfileArray", setopenfilearry);
localStorage.removeItem("GlWorkPlatform-setLeftBarClickID");
return false;
event.preventDefault();
event.stopPropagation();
});
///确认按钮
$("#delDataTrue").click(function () {
///从localStorage中取出点击左侧菜单的激活id
var cookiemenuid = localStorage.getItem("GlWorkPlatform-setLeftBarClickID") || 0;
var setcookiemenuid = "";
if (cookiemenuid == 0) {
setcookiemenuid == 0;
} else {
setcookiemenuid = cookiemenuid.substring(cookiemenuid.lastIndexOf("_") + 1, cookiemenuid.length);
}
sp.dialoghide();
$.each(tempObj, function (index, item) {
if (index != 0) {
var get_file_id = item.id;
var get_file_title = item.title;
var get_file_src = item.src;
var setID = "wrapper_tabs_box_col_" + get_file_id;
var set_title = "";
var getLen2 = sp.getlength(get_file_title); ///汉字算2个字符
if (getLen2 > 9) {
set_title = sp.cutstr(get_file_title, 8);
} else {
set_title = get_file_title;
}
if (get_file_id != setcookiemenuid) {
//菜单文件记录没有当前激活左侧菜单
$("#spWrapperTabsPart ul").append("");
$("#spWrapperTabsPart .sp-wrapper-tabs-box").append("");
} else {
///菜单文件记录有当前激活左侧菜单
sp.setLeftMenuActiveByCookie(); ////设置左侧菜单根据localStorage而激活
$("#spWrapperTabsPart ul li").removeClass("sp-wrapper-tabs-current");
$(".sp-wrapper-tabs-box-current").hide();
$("#spWrapperTabsPart ul").append("");
$("#spWrapperTabsPart .sp-wrapper-tabs-box").append("");
$("#" + setID).show();
}
};
});
//sp.closeSingleTabsNav('#spWrapperTabsPart');
sp.pagetabShiftRight();
sp.fitHeight("iframe",$(".sp-wrapper-head").outerHeight() + $(".sp-wrapper-tabs-head").outerHeight()); //设置iframe的高度
});
};
};
/////第二种框架的加载记录菜单文件 20180803
sp.loadmenufilesTwo = function () {
var temp = localStorage.getItem("GlWorkPlatform-openfileArray");//取出文件数据
var tempObj = JSON.parse(temp);//把字符串转换成JSON对象
var gethomefiletitle = tempObj[0].title;//得到home文件名称标题
if (tempObj.length > 1) {
var dialogHead = "您好×";
var dialogBody = "是否打开上次浏览的菜单页签?
";
var dialogFoot = "";
$('.sp-dialog').html(dialogHead + dialogBody + dialogFoot);
sp.openCenter(".sp-dialog");
$('.sp-closeDialog').click(function (event) {
sp.dialoghide();
var getopenfilearry = localStorage.getItem("GlWorkPlatform-openfileArray");//取出菜单文件数据
var setopenfilearry = getopenfilearry.substring(0, getopenfilearry.indexOf("},") + 1);
setopenfilearry = setopenfilearry + "]";
localStorage.setItem("GlWorkPlatform-openfileArray", setopenfilearry);
///将home文件所在的左侧菜单进行激活并展开-start
$("#spLeftBarULTwo li:eq(0)").addClass("leftbarTwoActive");
//-end
localStorage.removeItem("GlWorkPlatform-setLeftBarClickID");
return false;
event.preventDefault();
event.stopPropagation();
});
///确认按钮
$("#delDataTrue").click(function () {
///从localStorage中取出点击左侧菜单的激活id
var cookiemenuid = localStorage.getItem("GlWorkPlatform-setLeftBarClickID") || 0;
var setcookiemenuid = "";
if (cookiemenuid == 0) {
setcookiemenuid == 0;
} else {
setcookiemenuid = cookiemenuid.substring(cookiemenuid.lastIndexOf("_") + 1, cookiemenuid.length);
}
sp.dialoghide();
$.each(tempObj, function (index, item) {
if (index != 0) {
var get_file_id = item.id;
var get_file_title = item.title;
var get_file_src = item.src;
var setID = "wrapper_tabs_box_col_" + get_file_id;
var set_title = "";
var getLen2 = sp.getlength(get_file_title); ///汉字算2个字符
if (getLen2 > 9) {
set_title = sp.cutstr(get_file_title, 8);
} else {
set_title = get_file_title;
}
if (get_file_id != setcookiemenuid) {
//菜单文件记录没有当前激活左侧菜单
$("#spWrapperTabsPart ul").append("");
$("#spWrapperTabsPart .sp-wrapper-tabs-box").append("");
} else {
////上面页签选中,对应iframe显示
$("#spWrapperTabsPart ul li").removeClass("sp-wrapper-tabs-current");
$(".sp-wrapper-tabs-box-current").hide();
$("#spWrapperTabsPart ul").append("");
$("#spWrapperTabsPart .sp-wrapper-tabs-box").append("");
$("#" + setID).show();
///菜单文件记录有当前激活左侧菜单
var leftbarfirst = $("#" + cookiemenuid).parents(".sp-leftbar-first");
leftbarfirst.addClass("leftbarTwoActive").siblings().removeClass("leftbarTwoActive");
leftbarfirst.find("a").removeClass("leftbartitleActive");
leftbarfirst.siblings().find("a").removeClass("leftbartitleActive");
$("#" + cookiemenuid).addClass("leftbartitleActive");
//判断其上面父级菜单,若有父级菜单则选中
var getparentclass = $("#" + cookiemenuid).parent("li").attr("class");
if (getparentclass.indexOf("sp-leftbar-third") != -1) {
$("#" + cookiemenuid).parents(".sp-leftbar-second").children("a").addClass("leftbartitleActive");
} else if (getparentclass.indexOf("sp-leftbar-fourth") != -1) {
$("#" + cookiemenuid).parents(".sp-leftbar-second").children("a").addClass("leftbartitleActive");
$("#" + cookiemenuid).parents(".sp-leftbar-third").children("a").addClass("leftbartitleActive");
} else if (getparentclass.indexOf("sp-leftbar-fifth") != -1) {
$("#" + cookiemenuid).parents(".sp-leftbar-second").children("a").addClass("leftbartitleActive");
$("#" + cookiemenuid).parents(".sp-leftbar-third").children("a").addClass("leftbartitleActive");
$("#" + cookiemenuid).parents(".sp-leftbar-fourth").children("a").addClass("leftbartitleActive");
} else { return; }
}
};
});
//sp.closeSingleTabsNav('#spWrapperTabsPart');
sp.pagetabShiftRight();
sp.fitHeight("iframe",$(".sp-wrapper-head").outerHeight() + $(".sp-wrapper-tabs-head").outerHeight()); //设置iframe的高度
})
}
};
/////第二种框架根据json数据生成五级菜单 20180803
sp.dynamicLeftBar = function (jsondata) {
var res = JSON.parse(jsondata);
$.each(res.rows, function (index, item) {
if (typeof item.C_H_I_L_D == "undefined" || item.C_H_I_L_D.length < 1) {
if (item.OPENTYPE == "_blank") {
$("#spLeftBarULTwo").append("" + item.CNAME + "");
} else {
$("#spLeftBarULTwo").append("" + item.CNAME + "");
}
} else {
var setSecondAll = "";
var setFirstMenu = "" + item.CNAME + "";
$.each(item.C_H_I_L_D, function (index2, item2) {
if (typeof item2.C_H_I_L_D == "undefined" || item2.C_H_I_L_D.length < 1) {
if (item2.OPENTYPE == "_blank") {
setSecondAll += "" + item2.CNAME + "";
} else {
setSecondAll += "" + item2.CNAME + "";
}
} else {
var getThrdAll = "";
var setSecondSingle = "" + item2.CNAME + "";
$.each(item2.C_H_I_L_D, function (index3, item3) {
if (item3.C_H_I_L_D == undefined || item3.C_H_I_L_D.length < 1) {
if (item3.OPENTYPE == "_blank") {
getThrdAll += "" + item3.CNAME + "";
} else {
getThrdAll += "" + item3.CNAME + "";
}
} else {
var setFourthAll = "";
var getThirdSingle = "" + item3.CNAME + "";
$.each(item3.C_H_I_L_D, function (index4, item4) {
if (item4.C_H_I_L_D == undefined || item4.C_H_I_L_D.length < 1) {
if (item4.OPENTYPE == "_blank") {
setFourthAll += "" + item4.CNAME + "";
} else {
setFourthAll += "" + item4.CNAME + "";
}
} else {
var setFifthAll = "";
var setFourthSingle = "" + item4.CNAME + "";
$.each(item4.C_H_I_L_D, function (index5, item5) {
if (item5.OPENTYPE == "_blank") {
setFifthAll += "" + item5.CNAME + "";
} else {
setFifthAll += "" + item5.CNAME + "";
}
});
setFourthAll += setFourthSingle + "";
}
});
getThrdAll += getThirdSingle + "";
}
});
setSecondAll += setSecondSingle + "";
}
});
var setChild = setFirstMenu + "";
//console.log(setChild);
$("#spLeftBarULTwo").append(setChild);
}
});
//////让菜单中的排序为第一个的页面以及页面名称显示到第一个,且没有右上关闭图标-----start
if (typeof res.rows[0].C_H_I_L_D == "undefined" || res.rows[0].C_H_I_L_D.length < 1) {
///若没有子节点
var title = res.rows[0].CNAME;
var id = res.rows[0].PKID;
var src = res.rows[0].FILEN;
sp.addhometabnav(id, title, src); ///将左侧菜单第一个设为home的tab签
} else if (typeof res.rows[0].C_H_I_L_D[0].C_H_I_L_D == "undefined" || res.rows[0].C_H_I_L_D[0].C_H_I_L_D.length < 1) {
///如有子节点-二级
var title = res.rows[0].C_H_I_L_D[0].CNAME;
var id = res.rows[0].C_H_I_L_D[0].PKID;
var src = res.rows[0].C_H_I_L_D[0].FILEN;
sp.addhometabnav(id, title, src);///将左侧菜单第一个设为home的tab签
} else {
//三级
var title = res.rows[0].C_H_I_L_D[0].C_H_I_L_D[0].CNAME;
var id = res.rows[0].C_H_I_L_D[0].C_H_I_L_D[0].PKID;
var src = res.rows[0].C_H_I_L_D[0].C_H_I_L_D[0].FILEN;
sp.addhometabnav(id, title, src);///将左侧菜单第一个设为home的tab签
}
///////-----end
//延时
setTimeout(function () {
//sp.loadmenufilesTwo(); ///加载记录菜单文件
////点击leftbar时一级菜单加上选中
$(".sp-leftbar .sp-leftbar-first").each(function () {
$(this).click(function () {
$(this).addClass("leftbarTwoActive").siblings().removeClass("leftbarTwoActive");
});
});
///点击后记录其标题id存入localStorage
$("#spLeftBarULTwo a").each(function () {
$(this).click(function () {
var get_clickID = $(this).attr("id");
localStorage.setItem("GlWorkPlatform-setLeftBarClickID", get_clickID);
//为子菜单标题加上选中
if ($(this).find(".lbtitle").length > 0) {
$(this).parents(".sp-leftbar-first").find("a").removeClass("leftbartitleActive");
$(this).parents(".sp-leftbar-first").siblings().find("a").removeClass("leftbartitleActive");
$(this).addClass("leftbartitleActive");
//判断其上面父级菜单,若有父级菜单则选中
var getparentclass = $(this).parent("li").attr("class");
if (getparentclass.indexOf("sp-leftbar-third") != -1) {
$(this).parents(".sp-leftbar-second").children("a").addClass("leftbartitleActive");
} else if (getparentclass.indexOf("sp-leftbar-fourth") != -1) {
$(this).parents(".sp-leftbar-second").children("a").addClass("leftbartitleActive");
$(this).parents(".sp-leftbar-third").children("a").addClass("leftbartitleActive");
} else if (getparentclass.indexOf("sp-leftbar-fifth") != -1) {
$(this).parents(".sp-leftbar-second").children("a").addClass("leftbartitleActive");
$(this).parents(".sp-leftbar-third").children("a").addClass("leftbartitleActive");
$(this).parents(".sp-leftbar-fourth").children("a").addClass("leftbartitleActive");
} else { return; }
} else {
return;
}
});
});
}, 300);
};
////页签太多时点击左移按钮向左移动部分20180807
sp.pagetabShiftLeft = function () {
var tabsheadwidth = $(".sp-wrapper-tabs-head").outerWidth();
var getlen1 = $(".sp-wrapper-tabs-menu").children("li").length;
var settabsheadwidth = parseInt(tabsheadwidth - 190);
//alert(tabsheadwidth);
var tabsmenuliwidth = parseInt(getlen1 * 90);
//alert(tabsmenuliwidth);
if (tabsmenuliwidth < settabsheadwidth) {
return false;
} else {
$(".sp-wrapper-tabs-menu").animate({
marginLeft: "40px"
}, "fast");
}
};
////页签太多时点击左移按钮向右移动部分20180807
sp.pagetabShiftRight = function () {
var tabsheadwidth = $(".sp-wrapper-tabs-head").outerWidth();
var getlen1 = $(".sp-wrapper-tabs-menu").children("li").length;
var settabsheadwidth = parseInt(tabsheadwidth - 190);
//alert(tabsheadwidth);
var tabsmenuliwidth = parseInt(getlen1 * 90);
//alert(tabsmenuliwidth);
if (tabsmenuliwidth < settabsheadwidth) {
return false;
} else {
var getmorenum = Math.ceil(parseInt(tabsmenuliwidth - settabsheadwidth) / 90);
//alert(getmorenum);
var shiftleftwidth = getmorenum * 90 + 50;
$(".sp-wrapper-tabs-menu").animate({
marginLeft: 0 - shiftleftwidth + "px"
}, "fast");
}
};
////获取字符串的长度2018-7-27
sp.getlength = function (str) {
///获得字符串实际长度,中文2,英文1
///要获得长度的字符串
var realLength = 0, len = str.length, charCode = -1;
for (var i = 0; i < len; i++) {
charCode = str.charCodeAt(i);
if (charCode >= 0 && charCode <= 128) realLength += 1;
else realLength += 2;
}
return realLength;
};
/**
* js截取字符串,中英文都能用
* @param str:需要截取的字符串
* @param len: 需要截取的长度
*/
sp.cutstr = function (str, len) {
var str_length = 0;
var str_len = 0;
var str_cut = new String();
str_len = str.length;
for (var i = 0; i < str_len; i++) {
a = str.charAt(i);
str_length++;
if (escape(a).length > 4) {
//中文字符的长度经编码之后大于4
str_length++;
}
str_cut = str_cut.concat(a);
if (str_length >= len) {
str_cut = str_cut.concat("..");
return str_cut;
}
}
//如果给定字符串小于指定长度,则返回源字符串;
if (str_length < len) {
return str;
}
}
////清空cookie: $.cookie('cookie_myskin',null,{expires: -1,path: '/'});
////加上cookie: $.cookie("cookie_myskin", "123456", { path: '/', expires: 2 });
////接收cookie: var getCookie=$.cookie("cookie_myskin");
jQuery.cookie = function (name, value, options) {
/// 设置cookie
if (typeof value != 'undefined') { // name and value given, set cookie
options = options || {};
if (value === null) {
value = '';
options.expires = -1;
}
var expires = '';
if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
var date;
if (typeof options.expires == 'number') {
date = new Date();
date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
} else {
date = options.expires;
}
expires = '; expires=' + date.toUTCString();
}
var path = options.path ? '; path=' + (options.path) : '';
var domain = options.domain ? '; domain=' + (options.domain) : '';
var secure = options.secure ? '; secure' : '';
document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
} else {
var cookieValue = null;
if (document.cookie && document.cookie != '') {
var cookies = document.cookie.split(';');
for (var i = 0; i < cookies.length; i++) {
var cookie = jQuery.trim(cookies[i]);
if (cookie.substring(0, name.length + 1) == (name + '=')) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
return cookieValue;
}
}
////Tabs方法 切换tab选项卡
/// 选项卡
; (function ($) {
$.fn.extend({
settabs: function (options) {
// 处理参数
options = $.extend({
event: 'mouseover',
timeout: 0,
auto: 0,
callback: null
}, options);
var self = $(this),
tabBox = self.children('div.sp-tab-box').children('div'),
menu = self.children('ul.sp-tab-menu'),
items = menu.find('li'),
timer;
var tabHandle = function (elem) {
elem.siblings('li').removeClass('sp-tab-current').end().addClass('sp-tab-current');
tabBox.siblings('div').addClass('sp-tab-hide').end().eq(elem.index()).removeClass('sp-tab-hide');
},
delay = function (elem, time) {
time ? setTimeout(function () { tabHandle(elem); }, time) : tabHandle(elem);
},
start = function () {
if (!options.auto) return;
timer = setInterval(autoRun, options.auto);
},
autoRun = function () {
var current = menu.find('li.sp-tab-current'),
firstItem = items.eq(0),
len = items.length,
index = current.index() + 1,
item = index === len ? firstItem : current.next('li'),
i = index === len ? 0 : index;
current.removeClass('sp-tab-current');
item.addClass('sp-tab-current');
tabBox.siblings('div').addClass('sp-tab-hide').end().eq(i).removeClass('sp-tab-hide');
};
items.bind(options.event, function () {
delay($(this), options.timeout);
if (options.callback) {
options.callback(self);
}
});
if (options.auto) {
start();
self.hover(function () {
clearInterval(timer);
timer = undefined;
}, function () {
start();
});
}
sp.settableft();
sp.settabright();
return this;
}
});
})(jQuery);
//////进度条横向20180606
;(function ($) {
if (typeof ($.fn.myProgress) != 'undefined') {
return false;
}
$.fn.myProgress = function (options) {
initOptions(options);
$(this).each(function () {
var this_ = $(this);
var $percent = $(this).find("div.percent-show>span");
var progress_in = $(this).find("div.progress-in");
initCss(options, $(this));
var t = setInterval(function () {
$percent.html(parseInt(progress_in.width() / this_.width() * 100))
}, options.speed / 100);
progress_in.animate({
width: options.percent + "%"
}, options.speed, function () {
clearInterval(t);
t = null;
$percent.html(options.percent);
options.percent == 100 && progress_in.css("border-sp-radius", 0);
});
});
return $(this);
}
function initOptions(options) {
(!options.hasOwnProperty("speed") || isNaN(options.speed)) && (options.speed = 1000);
(!options.hasOwnProperty("percent") || isNaN(options.percent)) && (options.percent = 100);
!options.hasOwnProperty("width") && (options.width = '180px');
!options.hasOwnProperty("height") && (options.height = '15px');
!options.hasOwnProperty("direction") && (options.direction = 'left');
options.fontSize = Math.floor(parseInt(options.height) * 6 / 10) + "px";
options.lineHeight = options.height;
}
function initCss(options, obj) {
//////设置百分比的数字显示位置
var setleft = 0;
if (options.percent == 0) {
setleft = 0;
}
if (options.percent > 0 && options.percent <= 90) {
setleft = options.percent + "%";
}
if (options.percent > 90) {
setleft = options.percent - 8 + "%";
}
obj.css({
"width": options.width,
"height": options.height
}).find("div.percent-show").css({
"lineHeight": options.lineHeight,
"fontSize": options.fontSize,
"left": setleft
});
if (options.direction == "right") {
obj.find("div.progress-in").addClass("direction-right");
} else {
obj.find("div.progress-in").addClass("direction-left");
}
}
})(jQuery);
//
/*
*点击非当前显示元素时, 当前显示元素自动隐藏 chenhao 2018/3/15
* 使用方法
$('#btn').on("click",function(){
$('.menu').toggle().autoHide();
return false;
});
* autoHide(speed,callback)
* speed
可选。规定元素从可见到隐藏的速度。默认为 "0"。
可能的值:
毫秒 (比如 1500)
"slow"
"normal"
"fast"
在设置速度的情况下,元素从可见到隐藏的过程中,会逐渐地改变其高度、宽度、外边距、内边距和透明度。
* callback
可选。autoHide 函数执行完之后,要执行的函数。
**** !! 除非设置了 speed 参数,否则不能设置该参数。
*/
(function ($) {
$.fn.autoHide = function (speed, callback) {
var ele = $(this);
$(document).on('click', function (e) {
var e = e || window.event; //浏览器兼容性
e.target = e.target || e.srcElement;
if (ele.is(':visible') && (!$(e.target)[0].isEqualNode(ele[0]) && ele.has(e.target).length === 0)) {
ele.hide(speed, callback);
}
// e.stopPropagation();
// return false;
});
return this;
}
})(jQuery);
//iframe自适应内容长度 2016.08.07 setiframe(id);是定义的方法 window.setInterval("setiframe('id')", 10);功能:按照指定的周期(以毫秒计)来调用函数或计算表达式。
sp.setiframe = function (id) {
/// 设置iframe自适应嵌套页高度
window.setInterval("sp.setiframe_getPageHight('" + id + "')", 10);
}
sp.setiframe_getPageHight = function (id) {
/// 得到iframe嵌套的内容页高度
var Iframe = document.getElementById(id);
try {
// 声明变量取值
var bHeight = Iframe.contentWindow.document.body.scrollHeight;
var dHeight = Iframe.contentWindow.document.documentElement.scrollHeight;
var height = Math.max(bHeight, dHeight); // 取最大值
Iframe.height = height;
} catch (ex) { }
}
//javascript 解决IE8兼容 placeholder属性 含password 时间:20160811
sp.set_placeholder = function () {
if (!('placeholder' in document.createElement('input'))) {
function GetStringNumValue(pxstr) {
return pxstr.substring(0, pxstr.length - 2);
}
$('input[placeholder],textarea[placeholder]').each(function () {
var $element = $(this),
placeholder = $element.attr('placeholder');
if ($element.attr('type') != 'password') {//非密码
$element.css('color', '#cccccc');//placeholder定义文字颜色
if ($element.val() === "") {
$element.val(placeholder).addClass('placeholder');
}
$element.focus(function () {
if ($element.val() === placeholder) {
$element.val("").removeClass('placeholder');
$element.css('color', '#000'); //获取焦点输入文字颜色
}
}).blur(function () { //失去焦点进行判断
if ($element.val() === "") {
$element.val(placeholder).addClass('placeholder');
$element.css('color', '#ccc');
} else if ($element.val() == placeholder) {
$element.css('color', '#000');
} else {
$element.css('color', '#000');
}
}).closest('form').submit(function () {
if ($element.val() === placeholder) {
$element.val('');
}
});
}
//密码框的样式
else {
if (placeholder) {
var elementId = $element.attr('id');
if (!elementId) {
var now = new Date();
elementId = 'lbl_placeholder' + now.getSeconds() + now.getMilliseconds();
$element.attr('id', elementId);
}
}
// 添加label标签,用于显示placeholder的值
var $label = $('').insertAfter($element);
// 绑定事件
var width = $element.width();
var width2 = width - 3 + "px";
var width3 = "-" + width2;
//alert(width3);
var _setPosition = function () {
$label.css({
position: 'relative',
top: '',
left: width3
});
};
var _resetPlaceholder = function () {
if ($element.val()) { $label.html(null); }
else {
_setPosition();
$label.html(placeholder);
}
};
_setPosition();
$element.on('focus blur input keyup propertychange resetplaceholder', _resetPlaceholder);
}
});
}
}
/**sp.CutTableTd(name);//给Table的Td加3个点和鼠标指向文字去除的文字都显示出来**/
sp.cutgrid = function (TableID, Len) {
/// 截取table的文字长度
/// 表格的ID
/// 需要截取的长度
///
$(TableID + " tr td").each(function (index, value) {
var GetText = "";
if ($(this).children().length > 0) {
GetText = $(this).contents().text();//获取td中的内容
GetText = GetText.cutstr(Len); //截取字符串
$(this).contents().text(GetText);//赋值td中的内容
}
else {
GetText = $(this).text();//获取td中的内容
GetText = GetText.cutstr(Len); //截取字符串
$(this).text(GetText);//赋值td中的内容
}
});
};
//通过正则表达式获取地址栏的参数 var get_name = sp.getUrlName("name");
sp.getUrlName = function (name) {
///
/// 获取url中特定的参数
///
/// 具体参数变量名
/// 返回变量值
var result = location.search.match(new RegExp("[\?\&]" + name + "=([^\&]+)", "i"));
if (result == null || result.length < 1) {
return "";
}
return result[1];
}
sp.geturl = function () {
///
/// 获取url中全部参数
///
/// 返回数组格式
var str = location.href; //取得整个地址栏
var num = str.indexOf("?")
str = str.substr(num + 1); //取得所有参数
var loastr = "";
var loc = "";
$.each(str.split('&'), function (index, item) {
item = item.split('=');
var name = item[0];
var val = item[1];
loastr = "\"" + name + "\":\"" + val + "\",";
loc += loastr;
});
loc = loc.substring(0, loc.length - 1);
loc = "{" + loc + "}";
var obj = JSON.parse(loc); //将字符型数组转换为对象
return obj;
}
//设置折叠面板
sp.setPanel = function () {
/// 折叠面板
if ($("body").find(".sp-panel-folder").length > 0) {
$('.sp-panel-folder').each(function () {
$('.sp-panel-head', this).on('click', function () {
if ($(this).hasClass('click')) {
$(this).parent().children('.sp-panel-body').slideUp(230);
$(this).removeClass('click');
} else {
$(this).parent().children('.sp-panel-body').slideDown(230);
$(this).parent().siblings('.sp-panel-folder').children('.sp-panel-body').slideUp(230);
$(this).parent().siblings('.sp-panel-folder').children('.sp-panel-head').removeClass('click');
$(this).addClass('click');
}
});
});
}
}
//获取json串的长度 var jsonLen=sp.getJsonLen(jsonData);
sp.getJsonLen = function (json) {
/// 获取json串长度
var Length = 0;
for (var item in json) {
Length++;
}
return Length;
}
//删除含有特定文字的table某列 table:id或class名,str:特定文字
sp.delCol = function (table, str) {
/// removeTD("#tableTD", "编号");
var getindex;
$("" + table + " thead tr th").each(function () {
var gettext = $(this).text();
if (gettext == str) {
getindex = $(this).index();
$(this).remove();
}
});
$("" + table + " tbody tr").each(function () {
$("td:eq(" + getindex + ")", this).remove();
});
}
////组织事件
sp.stopPropagation = function (e) {
/// 阻止浏览器的冒泡
var ev = e || window.event;
if (ev.stopPropagation) {
ev.stopPropagation();
}
else if (window.event) {
window.event.cancelBubble = true;//兼容IE
}
}
//点击一个按钮显示div,点击div之外的地方div隐藏,点击div之内的地方div不隐藏
sp.clickDomCloseDiv = function (btn, div) {
/// 点击按钮显示div,点击页面其他地方div隐藏,点击div阻止冒泡
$(btn).on("click", function (e) {
if ($(btn).hasClass("clickDom")) {
$(btn).removeClass("clickDom");
$(div).hide();
sp.stopPropagation(e);
} else {
$(btn).addClass("clickDom");
$(div).show();
sp.stopPropagation(e);
}
});
$(document).bind('click', function () {
$(btn).removeClass("clickDom");
$(div).hide();
});
$(div).click(function (e) {
sp.stopPropagation(e);
});
}
//类似:[{name:"张三", val:"111"},{name:"张三", val:"111"}]
sp.serializeJSON = function (str) {
/// 将序列化的值转成json格式
var testJson = decodeURIComponent(str, true);//将数据解码,调用decodeURIComponent(XXX,true);中文会乱码,需要将乱码解码
var loastr = "";
var loc = "";
$.each(testJson.split('&'), function (index, item) {
item = item.split('=');
var name = item[0], val = item[1];
loastr = "{\"dname\":\"" + name + "\", \"dval\":\"" + val + "\"},";
loc += loastr;
});
loc = loc.substring(0, loc.length - 1);
loc = "[" + loc + "]";
var obj = JSON.parse(loc);//将字符型数组转换为对象
return obj;
}
//遍历某行下的所有的td,然后将其内容以数组形式返回
sp.eachTDtoArray = function (rowid) {
/// 遍历该行td的内容,返回数组
var alltdText = "";
$("#" + rowid + " td").each(function () {
var getText = $.trim($(this).text());
alltdText += getText + ",";
});
var alltdText2 = alltdText.substring(0, alltdText.length - 2);
var obj = alltdText2.split(",");
return obj;
}
//设置select框的年月, 程序自动跟据当前年显示20170310
//赋值年份
sp.selectYear = function (name) {
/// 设置select框的年份
var getyear = new Date().getFullYear(); //今年
for (var i = (getyear - 20); i < (getyear + 20); i++) //以今年为准,前30年,后30年
{
$(name).append("");
}
$(name).find("option[value='" + getyear + "']").attr("selected", true);
$(name).val(getyear);
}
//赋值月份
sp.selectMonth = function (name) {
/// 设置select框的月份
var getMonth = new Date().getMonth() + 1; //当前月
for (var i = 1; i < 13; i++) {
$(name).append("");
}
$(name).find("option[value='" + getMonth + "']").attr("selected", true);
$(name).val(getMonth);
}
sp.showLocalTime = function (divname) {
/// 动态显示当地时间
var objDate = new Date();
var str, colorhead, colorfoot;
var yy = objDate.getYear();
if (yy < 1900) yy = yy + 1900;
var MM = objDate.getMonth() + 1;
if (MM < 10) MM = '0' + MM;
var dd = objDate.getDate();
if (dd < 10) dd = '0' + dd;
var hh = objDate.getHours();
if (hh < 10) hh = '0' + hh;
var mm = objDate.getMinutes();
if (mm < 10) mm = '0' + mm;
var ss = objDate.getSeconds();
if (ss < 10) ss = '0' + ss;
var ww = objDate.getDay();
if (ww == 0) ww = "星期日";
if (ww == 1) ww = "星期一";
if (ww == 2) ww = "星期二";
if (ww == 3) ww = "星期三";
if (ww == 4) ww = "星期四";
if (ww == 5) ww = "星期五";
if (ww == 6) ww = "星期六";
str = yy + "年" + MM + "月" + dd + "日 " + hh + ":" + mm + ":" + ss + " " + ww;
var get_time = str;
$(divname).html(get_time);
window.setTimeout("sp.showLocalTime('" + divname + "')", 1000); ///延时1秒执行
};
//获取当前时间,格式:2018-1-27 10:47:15
sp.getLocalDate = function () {
var objDate = new Date();
var str, colorhead, colorfoot;
var yy = objDate.getFullYear();
var MM = objDate.getMonth() + 1;
if (MM < 10) MM = '0' + MM;
var dd = objDate.getDate();
if (dd < 10) dd = '0' + dd;
var hh = objDate.getHours();
if (hh < 10) hh = '0' + hh;
var mm = objDate.getMinutes();
if (mm < 10) mm = '0' + mm;
var ss = objDate.getSeconds();
if (ss < 10) ss = '0' + ss;
str = yy + "-" + MM + "-" + dd + " " + hh + ":" + mm + ":" + ss;
return str;
};
//利用当前时间生成yyyymmddhhmmss这样的字符串
sp.setNumRandom = function () {
var date = new Date();
var yyyy = date.getFullYear().toString();
var MM = date.getMonth() + 1;
if (MM < 10) MM = '0' + MM;
var dd = date.getDate();
if (dd < 10) dd = '0' + dd;
var hh = date.getHours();
if (hh < 10) hh = '0' + hh;
var mm = date.getMinutes();
if (mm < 10) mm = '0' + mm;
var ss = date.getSeconds();
if (ss < 10) ss = '0' + ss;
var millisecond = date.getMilliseconds(); //获取当前毫秒数(0-999)
var setTimeStr = yyyy + MM + dd + hh + mm + ss + millisecond;
return setTimeStr;
};
//格式化日期 如:2017-10-10 22:33:32
sp.format = function (str) {
if (str == "1900-01-01T00:00:00") {
str = "";
return str;
} else if (str == "0001-01-01T00:00:00") {
///这种情况是在做滨旅建管系统时用sqlserver数据库时遇到的
str = "";
return str;
} else if (str == "-") {
///在做滨旅建管时存的是—,然后就让其显示—
str = "-";
return str;
} else if (str != undefined && str != "" && str != null) {
/////如果找到"-",不等于负1
if (str.toString().indexOf('-') != -1) {
str = str.replace(/-/g, "/"); //将-替换为/,因为ios与ie浏览器中不支持-和T
}
/////如果找到T,不等于负1
if (str.toString().indexOf('T') != -1) {
str = str.replace(/T/g, ' '); ///去掉日期中的T,因为ios与ie浏览器中不支持-和T
}
/////如果找到".",不等于负1
if (str.toString().indexOf('.') != -1) {
str = str.slice(0, str.indexOf(".")); ///如果含有毫秒,就将毫秒去掉
}
var formatDate = new Date(Date.parse(str));
var yy = formatDate.getFullYear();
var MM = formatDate.getMonth() + 1;
if (MM < 10) { MM = '0' + MM; }
var dd = formatDate.getDate();
if (dd < 10) { dd = '0' + dd; }
var setDate = yy + "-" + MM + "-" + dd;
return setDate;
} else {
str = "";
return str;
}
};
///格式化时间,为年月日时分秒
sp.formatMinute = function (str) {
if (str == "1900-01-01T00:00:00") {
str = "";
return str;
} else if (str == "0001-01-01T00:00:00") {
///这种情况是在做滨旅建管系统时用sqlserver数据库时遇到的
str = "";
return str;
}
else if (str != undefined && str != "" && str != null) {
/////如果找到"-",不等于负1
if (str.toString().indexOf('-') != -1) {
str = str.replace(/-/g, "/"); //将-替换为/,因为ios与ie浏览器中不支持-和T
}
/////如果找到T,不等于负1
if (str.toString().indexOf('T') != -1) {
str = str.replace(/T/g, ' '); ///去掉日期中的T,因为ios与ie浏览器中不支持-和T
}
/////如果找到".",不等于负1
if (str.toString().indexOf('.') != -1) {
str = str.slice(0, str.indexOf(".")); ///如果含有毫秒,就将毫秒去掉
}
var formatDate = new Date(Date.parse(str));
var yy = formatDate.getFullYear();
var MM = formatDate.getMonth() + 1;
if (MM < 10) { MM = '0' + MM; } //去掉前面加0,是为了便于后续的格式化得到年月
var dd = formatDate.getDate();
if (dd < 10) { dd = '0' + dd; } //去掉前面加0,是为了便于后续的格式化得到年月
var hh = formatDate.getHours();
if (hh < 10) { hh = '0' + hh; }
var mm = formatDate.getMinutes();
if (mm < 10) { mm = '0' + mm; }
var ss = formatDate.getSeconds();
if (ss < 10) { ss = '0' + ss; }
var setDate = yy + "-" + MM + "-" + dd + " " + hh + ":" + mm + ":" + ss;
return setDate;
} else {
str = "";
return str;
}
};
///格式化时间,显示当前月第一天
sp.monthfirst = function (str) {
if (str == "1900-01-01T00:00:00") {
str = "";
return str;
} else if (str == "0001-01-01T00:00:00") {
///这种情况是在做滨旅建管系统时用sqlserver数据库时遇到的
str = "";
return str;
}
else if (str != undefined && str != "" && str != null) {
/////如果找到"-",不等于负1
if (str.toString().indexOf('-') != -1) {
str = str.replace(/-/g, "/"); //将-替换为/,因为ios与ie浏览器中不支持-和T
}
/////如果找到T,不等于负1
if (str.toString().indexOf('T') != -1) {
str = str.replace(/T/g, ' '); ///去掉日期中的T,因为ios与ie浏览器中不支持-和T
}
/////如果找到".",不等于负1
if (str.toString().indexOf('.') != -1) {
str = str.slice(0, str.indexOf(".")); ///如果含有毫秒,就将毫秒去掉
}
var formatDate = new Date(Date.parse(str));
var yy = formatDate.getFullYear();
var MM = formatDate.getMonth() + 1;
if (MM < 10) { MM = '0' + MM; }
var returnData = yy + "-" + MM + "-01";
return returnData;
} else {
str = "";
return str;
}
};
///格式化时间,显示当前月最后一天
sp.formatMonthLast = function (str) {
if (str == "1900-01-01T00:00:00") {
str = "";
return str;
} else if (str == "0001-01-01T00:00:00") {
///这种情况是在做滨旅建管系统时用sqlserver数据库时遇到的
str = "";
return str;
}
else if (str != undefined && str != "" && str != null) {
/////如果找到"-",不等于负1
if (str.toString().indexOf('-') != -1) {
str = str.replace(/-/g, "/"); //将-替换为/,因为ios与ie浏览器中不支持-和T
}
/////如果找到T,不等于负1
if (str.toString().indexOf('T') != -1) {
str = str.replace(/T/g, ' '); ///去掉日期中的T,因为ios与ie浏览器中不支持-和T
}
/////如果找到".",不等于负1
if (str.toString().indexOf('.') != -1) {
str = str.slice(0, str.indexOf(".")); ///如果含有毫秒,就将毫秒去掉
}
var formatDate = new Date(Date.parse(str));
var yy = formatDate.getFullYear();
var MM = formatDate.getMonth() + 1;
var returnData = sp.getLastDayOfMonth(yy, MM);
return returnData;
} else {
str = "";
return str;
}
};
/**
* 获取某年某月的最后一天
*/
sp.getLastDayOfMonth = function (year, month) {
//获取本年本月的第一天日期
var date = new Date(year, month - 1, '01');
//设置日期
date.setDate(1);
//设置月份
date.setMonth(date.getMonth() + 1);
//获取本月的最后一天
cdate = new Date(date.getTime() - 1000 * 60 * 60 * 24);
//打印某年某月的最后一天
//alert(cdate.getFullYear() + "年" + (Number(cdate.getMonth()) + 1) + "月最后一天的日期:" + cdate.getDate() + "日");
var yy = cdate.getFullYear();
var MM = cdate.getMonth() + 1;
if (MM < 10) { MM = '0' + MM; }
var setData = yy + "-" + MM + "-" + cdate.getDate();
//返回结果
return setData;
}
////格式化日期获取其年份
sp.formatGetYear = function (str) {
var formatDate = new Date(sp.format(str));
var yy = formatDate.getFullYear();
return yy;
}
////格式化日期获取其月份
sp.formatGetMonth = function (str) {
var formatDate = new Date(sp.format(str));
var MM = formatDate.getMonth() + 1;
return MM;
}
////获取当前年份
sp.currentYear = function () {
var date = new Date();
var yyyy = date.getFullYear().toString();
return yyyy;
}
////获取当前月份
sp.currentMonth = function () {
var date = new Date();
var MM = date.getMonth() + 1;
return MM;
}
/**************************************时间格式化处理************************************/
///format格式化缩写为fmt,两个参数,前者是日期格式,后者是日期
sp.datefmt = function (fmt, date) {
///console.log(date);
if (date == "1900-01-01T00:00:00") {
date = "";
return date;
} else if (date == "0001-01-01T00:00:00") {
///这种情况是在做滨旅建管系统时用sqlserver数据库时遇到的
date = "";
return date;
} else if (date == "-") {
///在做滨旅建管时存的是—,然后就让其显示—
date = "-";
return date;
} else if (date != undefined && date != "" && date != null) {
/////如果找到"-",不等于负1
if (date.toString().indexOf('-') != -1) {
date = date.replace(/-/g, "/"); //将-替换为/,因为ios与ie浏览器中不支持-和T
}
/////如果找到T,不等于负1
if (date.toString().indexOf('T') != -1) {
date = date.replace(/T/g, ' '); ///去掉日期中的T,因为ios与ie浏览器中不支持-和T
}
/////如果找到".",不等于负1
if (date.toString().indexOf('.') != -1) {
date = date.slice(0, date.indexOf(".")); ///如果含有毫秒,就将毫秒去掉
}
var formatDate = new Date(Date.parse(date));
var o = {
"M+": formatDate.getMonth() + 1, //月份
"d+": formatDate.getDate(), //日
"H+": formatDate.getHours(), //小时
"m+": formatDate.getMinutes(), //分
"s+": formatDate.getSeconds(), //秒
"q+": Math.floor((formatDate.getMonth() + 3) / 3), //季度
"S": formatDate.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt))
fmt = fmt.replace(RegExp.$1, (formatDate.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
} else {
date = "";
return date;
}
};
////得到后几天的日期2019-10-26
///sp.dateCount(7);//得到7天后的日子
sp.dateCount = function (AddDayCount) {
var dd = new Date();
dd.setDate(dd.getDate() + AddDayCount);//获取AddDayCount天后的日期
var y = dd.getFullYear();
var m = (dd.getMonth() + 1) < 10 ? "0" + (dd.getMonth() + 1) : (dd.getMonth() + 1);//获取当前月份的日期,不足10补0
var d = dd.getDate() < 10 ? "0" + dd.getDate() : dd.getDate();//获取当前几号,不足10补0
return y + "-" + m + "-" + d;
}
/// 2019-12-20
// 往前数monthNum月份:sp.getPreMonthDay("2019-12-20",-10),往后数monthNum :sp.getPreMonthDay("2019-12-20",20);
sp.getPreMonthDay = function (date, monthNum) {
var dd = new Date(new Date(date).setMonth((new Date(date).getMonth() + monthNum)));
var y = dd.getFullYear();
var m = (dd.getMonth() + 1) < 10 ? "0" + (dd.getMonth() + 1) : (dd.getMonth() + 1);//获取当前月份的日期,不足10补0
var d = dd.getDate() < 10 ? "0" + dd.getDate() : dd.getDate();//获取当前几号,不足10补0
return y + "-" + m + "-" + d;
},
///2019-12-21得到几天前和几天后的日期 getday(7);//7天后的日期 getday(17);//7天前的日期
sp.getday = function (aa) {
var date1 = new Date(),
time1 = date1.getFullYear() + "-" + (date1.getMonth() + 1) + "-" + date1.getDate();//time1表示当前时间
var date2 = new Date(date1);
date2.setDate(date1.getDate() + aa);
var y = date2.getFullYear();
var m = (date2.getMonth() + 1) < 10 ? "0" + (date2.getMonth() + 1) : (date2.getMonth() + 1);//获取当前月份的日期,不足10补0
var d = date2.getDate() < 10 ? "0" + date2.getDate() : date2.getDate();//获取当前几号,不足10补0
var time2 = y + "-" + m + "-" + d;
return time2;
}
////实时保存,实时保存表单数据 【2018-3-25】
///用法:sp.localStorage("#formPlan",85);
//从localStorage中加载数据记得删除:
//var setId = "localStorage_formPlan_" + dataID;
//localStorage.removeItem(setId);
sp.localStorage = function (formId, dataID) {
/// formId:为form定义的id
/// dataID:表单数据的ID,目的防止重复
var get_formid = $(formId).attr("id");
////声明本地存储localStorage的名称
var set_localStorage = 'localStorage_' + get_formid + "_" + dataID;
///声明变量,得到form下面的带有name的所有控件
var formControls = $(formId).find("input:text[name],textarea[name],select[name]");
//从本地取localStorage
var storage = localStorage.getItem(set_localStorage);
////如果,本地从本地取localStorage不为null,
///遍历localStorage中的值,
if (storage != null) {
var myData = JSON.parse(storage);
formControls.each(function (i, e) {
var name = $(e).attr("name");
if (myData[name] != null) {
$(e).val(myData[name]);
$(e).change();
}
});
}
//绑定change事件,监听onchage事件
formControls.each(function (i, el) {
var name = $(el).attr('name');
if (name) {
$(el).on('change', function () {
onchange(this);
});
}
});
//触发onchange事件时,保存到本地存储,或者更新本地存储中的值
function onchange(el) {
var storage = localStorage.getItem(set_localStorage);
if (storage == null) {
var formDataDb = new Object();
var key = $(el).attr("name");
var value = $(el).val();
formDataDb[key] = value;
localStorage.setItem(set_localStorage, JSON.stringify(formDataDb));
} else {
var myData = JSON.parse(storage);
var key = $(el).attr("name");
var value = $(el).val();
myData[key] = value;
localStorage.setItem(set_localStorage, JSON.stringify(myData));
}
}
}
//只冻结表格头部首行 调用方式 fixTableHead('#TableId', 0),只能调用table的ID table表的宽度应该限制为固定宽度,width:100%;
sp.fixTableHead = function (table, rows) {
/// 只冻结表格头部首行
if ($("#" + table + "_tableLayout").length != 0) {
$("#" + table + "_tableLayout").before($("#" + table));
$("#" + table + "_tableLayout").html('');
} else {
$("#" + table).after('');
}
var $tableLayout = $("#" + table + "_tableLayout");
var $fixedHead = $("#" + table + "_fixedHead");
var $tableBody = $("#" + table + "_tableBody");
var rows = rows || 1; //默认固定1行
var $table = $("#" + table);
var $tableClone = $table.clone(true).removeAttr("id");
$table.appendTo($tableBody);
$tableClone.appendTo($fixedHead);
$tableLayout.find('table').css("margin", "0");
var theadHeight = 0;
if ($table.find('thead').length != 0) {
theadHeight = $table.find('thead').height();
} else {
for (var i = 0; i < rows; i++) {
theadHeight += $table.find('tr').eq(i).height
}
}
$fixedHead.height(theadHeight);
$tableBody.height($tableLayout.height() - theadHeight);
var tableWidth = $table.outerWidth();
$table.css("marginTop", -theadHeight)
if ($table.height() - theadHeight > $tableBody.height()) {
$fixedHead.width($tableLayout.width() - 18)
$tableLayout.append('')
}
$tableBody.scroll(function () {
$fixedHead.scrollLeft($tableBody.scrollLeft());
});
var resizeTimer = null;
$(window).resize(function () {
if (resizeTimer) clearTimeout(resizeTimer);
resizeTimer = setTimeout(function () {
$fixedHead.height(theadHeight);
$tableBody.height($tableLayout.height() - theadHeight);
if ($table.height() - theadHeight > $tableBody.height()) {
$fixedHead.width($tableLayout.width() - 18);
if ($tableLayout.find('#' + table + '_gutter').length == 0) {
$tableLayout.append('')
}
} else {
$fixedHead.width($tableLayout.width() - 1);
$tableLayout.find('#' + table + '_gutter').remove();
}
}, 100);
});
}
//冻结头和列 调用: fixTable("MyTable", 1, 600, 300); 锁定表头和列: Table的ID、列的个数、显示的宽度、显示的高度,宽度不固定
/// 锁定表头和列. table表的宽度是不能限制为固定,min-width:100%;
sp.fixTable = function (TableID, FixColumnNumber, width, height) {
/// 冻结表头和列
$(document).ready(function () {
if ($("#" + TableID + "_tableLayout").length != 0) {
$("#" + TableID + "_tableLayout").before($("#" + TableID)); $("#" + TableID + "_tableLayout").empty();
}
else {
$("#" + TableID).after("");
}
$("" + "" + "" + "").appendTo("#" + TableID + "_tableLayout");
var oldtable = $("#" + TableID);
var tableFixClone = oldtable.clone(true);
tableFixClone.attr("id", TableID + "_tableFixClone");
$("#" + TableID + "_tableFix").append(tableFixClone);
var tableHeadClone = oldtable.clone(true);
tableHeadClone.attr("id", TableID + "_tableHeadClone");
$("#" + TableID + "_tableHead").append(tableHeadClone);
var tableColumnClone = oldtable.clone(true);
tableColumnClone.attr("id", TableID + "_tableColumnClone");
$("#" + TableID + "_tableColumn").append(tableColumnClone);
$("#" + TableID + "_tableData").append(oldtable);
$("#" + TableID + "_tableLayout table").each(function () {
$(this).css("margin", "0");
});
var HeadHeight = $("#" + TableID + "_tableHead thead").height();
HeadHeight += 2;
$("#" + TableID + "_tableHead").css("height", HeadHeight);
$("#" + TableID + "_tableFix").css("height", HeadHeight);
var ColumnsWidth = 0;
var ColumnsNumber = 0;
$("#" + TableID + "_tableColumn tr:last td:lt(" + FixColumnNumber + ")").each(function () {
ColumnsWidth += $(this).outerWidth(true);
ColumnsNumber++;
});
ColumnsWidth += 2;
if ($.browser.msie) {
switch ($.browser.version) {
case "7.0":
if (ColumnsNumber >= 3) ColumnsWidth--;
break;
case "8.0":
if (ColumnsNumber >= 2) ColumnsWidth--;
break;
}
}
$("#" + TableID + "_tableColumn").css("width", ColumnsWidth);
$("#" + TableID + "_tableFix").css("width", ColumnsWidth);
$("#" + TableID + "_tableData").scroll(function () {
$("#" + TableID + "_tableHead").scrollLeft($("#" + TableID + "_tableData").scrollLeft());
$("#" + TableID + "_tableColumn").scrollTop($("#" + TableID + "_tableData").scrollTop());
});
$("#" + TableID + "_tableFix").css({ "overflow": "hidden", "position": "relative", "z-index": "50", "background-color": "Silver" });
$("#" + TableID + "_tableHead").css({ "overflow": "hidden", "width": width - 17, "position": "relative", "z-index": "45", "background-color": "#fff" });
$("#" + TableID + "_tableColumn").css({ "overflow": "hidden", "height": height - 17, "position": "relative", "z-index": "40", "background-color": "Silver" });
$("#" + TableID + "_tableData").css({ "overflow": "scroll", "width": width, "height": height, "position": "relative", "z-index": "35" });
if ($("#" + TableID + "_tableHead").width() > $("#" + TableID + "_tableFix table").width()) {
$("#" + TableID + "_tableHead").css("width", $("#" + TableID + "_tableFix table").width());
$("#" + TableID + "_tableData").css("width", $("#" + TableID + "_tableFix table").width() + 17);
}
if ($("#" + TableID + "_tableColumn").height() > $("#" + TableID + "_tableColumn table").height()) {
$("#" + TableID + "_tableColumn").css("height", $("#" + TableID + "_tableColumn table").height());
$("#" + TableID + "_tableData").css("height", $("#" + TableID + "_tableColumn table").height() + 17);
}
$("#" + TableID + "_tableFix").offset($("#" + TableID + "_tableLayout").offset());
$("#" + TableID + "_tableHead").offset($("#" + TableID + "_tableLayout").offset());
$("#" + TableID + "_tableColumn").offset($("#" + TableID + "_tableLayout").offset());
$("#" + TableID + "_tableData").offset($("#" + TableID + "_tableLayout").offset());
});
}
//获取滚动条宽度
sp.getScrollbarWidth = function () {
var oP = document.createElement('p'), styles = {
width: '100px',
height: '100px',
overflowY: 'scroll',
}, i, scrollbarWidth;
for (i in styles) {
oP.style[i] = styles[i];
}
document.body.appendChild(oP);
scrollbarWidth = oP.offsetWidth - oP.clientWidth;
oP.remove();
return scrollbarWidth;
}
// ************** 使用列很多的表格
sp.fixTab2 = function (TableID, FixColumnNumber) {
var scrollWidth = 17
var table = "#" + TableID;
var $table = $(table);
if ($(table + "_tableLayout").length != 0) {
$(table + "_tableLayout").before($(table));
$(table + "_tableLayout").empty();
} else {
$table.after('');
}
var $tableLayout = $(table + "_tableLayout");
//添加外壳
$tableLayout.append('' + '' + '' + '')
//获取外壳
var $tableFix = $(table + "_tableFix");
var $tableHead = $(table + "_tableHead");
var $columnBox = $("#columnBox");
var $tableColumn = $(table + "_tableColumn");
var $tableData = $(table + "_tableData");
// console.log($table.width());
// console.log($table.outerWidth());
// $table.width(tableWidth);
//获取表头高度
var HeadHeight = $(table + " thead").outerHeight() + 1;
var ColumnsWidth = 0;
var ColumnsNumber = 0;
$("#" + TableID + " tr:last td:lt(" + FixColumnNumber + ")").each(function () {
ColumnsWidth += $(this).outerWidth(true);
ColumnsNumber++;
});
ColumnsWidth += 1;
//获取原表宽度
$tableData.append($table);
$tableData.css({ "overflow": "scroll", "height": par_height - HeadHeight, "position": "relative", "z-index": "35", "margin-top": HeadHeight });
var tableWidth = $(table).width();
var par_height = $tableLayout.outerHeight();
var par_width = $tableLayout.width();
$tableData.height(par_height - HeadHeight);
//左上角
setTimeout(function () {
var $tableFixClone = $table.clone(true);
$tableFixClone.attr("id", TableID + "_tableFixClone").css("margin", "0").width(tableWidth);
$tableFix.css({ "height": HeadHeight, "width": ColumnsWidth, "overflow": "hidden", "position": "absolute", "top": 0, "left": 0, "z-index": "50", "background-color": "#fff" }).append($tableFixClone);
})
//表头
setTimeout(function () {
var $tableHeadClone = $table.clone(true);
$tableHeadClone.attr("id", TableID + "_tableHeadClone").css("margin", "0");
$tableHead.append($tableHeadClone);
$tableHeadClone.width(tableWidth);
$tableHead.css({ "height": HeadHeight, "overflow": "hidden", "width": par_width - 17, "position": "absolute", "top": 0, "left": 0, "z-index": "45", "background-color": "#fff" });
})
//列
setTimeout(function () {
var $tableColumnClone = $table.clone(true);
$tableColumnClone.attr("id", TableID + "_tableColumnClone").css("margin", "0");
$tableColumn.append($tableColumnClone);
$tableColumnClone.width(tableWidth);
$columnBox.css({ "width": ColumnsWidth, "overflow": "hidden", "height": par_height - 17, "position": "absolute", "top": 0, "left": 0, "z-index": "40", "background-color": "#fff" });
$tableColumn.css({ "width": ColumnsWidth + scrollWidth, "overflow-x": "hidden", "overflow-y": "scroll", "height": par_height - 17, "position": "absolute", "top": 0, "left": 0, "z-index": "40" });
var scrollFlag = false;
$tableData.on('scroll', function () {
if (scrollFlag) {
return;
}
$tableHead.scrollLeft($tableData.scrollLeft());
$tableColumn.scrollTop($tableData.scrollTop());
}).on('mouseover', function () {
scrollFlag = false;
})
$tableColumn.on('scroll', function () {
if (!scrollFlag) {
return;
}
$tableData.scrollTop($tableColumn.scrollTop());
}).on('mouseover', function () {
scrollFlag = true;
})
});
$("#scrollMask").css({ 'position': "absolute", "top": 0, "right": 0, "width": scrollWidth, "height": HeadHeight, "background": "#E1E6EB", border: "solid #E1E6EB", "border-width": "1px 1px 1px 0" })
$table.css("margin-top", -HeadHeight);
var flag = false;
$(window).resize(function () {
if (flag) {
return;
}
setTimeout(function () {
par_height = $tableLayout.height();
par_width = $tableLayout.width();
// $columnBox.css({"width":ColumnsWidth,"height": par_height - 17});
// $tableColumn.css({"width": ColumnsWidth+scrollWidth,"height": par_height - 17});
// $tableData.css({"width":par_width-17,"height": par_height-HeadHeight});
$tableHead.width(par_width - 17);
$columnBox.height(par_height - 17);
$tableColumn.height(par_height - 17);
$tableData.height(par_height - HeadHeight);
flag = false;
}, 100);
flag = true;
});
// return $("#" + TableID + "_tableLayout").html();
}
///*************************************************************
/* 为保证angularjs的显示效果,判断ie浏览器版本是否过低*/
sp.getMyBrowser = function () {
var userAgent = window.navigator.userAgent; //取得浏览器的userAgent字符串
var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器
var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器
if (!isIE) {
isIE = userAgent.indexOf("Windows NT") > -1 && userAgent.indexOf("BOIE") > -1 && !isOpera; //判断是否IE浏览器
}
var is360 = isIE && ((window.navigator.userProfile + '') == 'null');//判断是否360浏览器
var isFF = userAgent.indexOf("Firefox") > -1; //判断是否Firefox浏览器
var isChrome = userAgent.indexOf("Chrome") > -1; //判断是否Safari浏览器
var isSafari = userAgent.indexOf("Safari") > -1 && !isChrome; //判断是否Safari浏览器
if (isIE && !is360) {
var IE5 = IE55 = IE6 = IE7 = IE8 = false;
var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
reIE.test(userAgent);
var fIEVersion = parseFloat(RegExp["$1"]);
IE55 = fIEVersion == 5.5;
IE6 = fIEVersion == 6.0;
IE7 = fIEVersion == 7.0;
IE8 = fIEVersion == 8.0;
if (IE55) {
return "IE55|false";
} else if (IE6) {
return "IE6|false";
} else if (IE7) {
return "IE7|false";
} else if (IE8) {
return "IE8|false";
} else {
return "IE9|true";
}
} //isIE end
if (is360) {
return "360|alert";
}
if (isFF) {
return "FF|true";
}
if (isChrome) {
return "Chrome|true";
}
if (isOpera) {
return "Opera|true";
}
if (isSafari) {
return "Safari|true";
}
}
/**调用监测浏览器版本方法,并进行判断与提示**/
sp.checkIEVersion = function () {
var mb = sp.getMyBrowser(); ///获取浏览器判断返回的值
if (mb == undefined || mb == null || mb == "") {
sp.dialog("您正在使用兼容模式,网站的样式可能会发生变化,请您更换Google Chrome浏览器或IE9以上版本浏览器进行浏览。");
} else {
var mbArray = mb.split("|");
if (mbArray[1] == "alert") {
sp.dialog("您正在使用360浏览器浏览,网站的样式可能会发生变化,请您更换Google Chrome浏览器或IE9以上版本浏览器进行浏览。");
} else if (mbArray[1] == "false") {
sp.dialog("您正在使用低版本IE浏览器浏览,网站的样式可能会发生变化,请您更换Google Chrome浏览器或IE9以上版本浏览器进行浏览。");
} else {
}
}
}
sp.getExplorerInfo = function () {
var explorer = window.navigator.userAgent.toLowerCase();
//ie
if (explorer.indexOf("msie") >= 0) {
var ver = explorer.match(/msie ([\d.]+)/)[1];
return { type: "IE", version: ver };
}
////ie11有点特殊,ie11执行这句话
if (explorer.indexOf("rv:11") > -1) {
var ver = explorer.match(/rv:([\d.]+)/)[1];
return { type: "IE", version: ver };
}
//firefox
else if (explorer.indexOf("firefox") >= 0) {
var ver = explorer.match(/firefox\/([\d.]+)/)[1];
return { type: "Firefox", version: ver };
}
//Chrome
else if (explorer.indexOf("chrome") >= 0) {
var ver = explorer.match(/chrome\/([\d.]+)/)[1];
return { type: "Chrome", version: ver };
}
//Opera
else if (explorer.indexOf("opera") >= 0) {
var ver = explorer.match(/opera.([\d.]+)/)[1];
return { type: "Opera", version: ver };
}
//Safari
else if (explorer.indexOf("Safari") >= 0) {
var ver = explorer.match(/version\/([\d.]+)/)[1];
return { type: "Safari", version: ver };
}
}
/////2018.7.12禁用ctrl+s快捷键
sp.disablesaving = function () {
document.onkeydown = function (e) {
e = window.event || e;
var key = e.keyCode;
if (key == 83 && e.ctrlKey == true) {
return false;
}
};
};
/////2018.9.27
///***给字符串添加属性************************************************************
//2016-11-14 截取字符串两侧的空格 JavaScript
sp.trim = function (str) {
///去掉字符串所有空格
return str.replace(/\s+/g, "");
};
sp.trimleft = function (str) {
///去掉左边的空格
return str.replace(/^\s*/, "");
};
sp.trimright = function (str) {
///去除右边的空格
return str.replace(/\s*$/, "");
};
sp.trimin = function (str) {
///去除内的空格
return str.replace(/\s/g, "");
};
///截取字符串
sp.cutfirst = function (str, num) {
/// 去掉第一个字符
if (sp.isval(num)) {
return str.substr(num);
} else { return str.substr(1); }
}
sp.cutlast = function (str, num) {
/// 去掉最后一个字符
if (sp.isval(num)) {
if (num < 1) {
sp.dialog("截取尾部字符的数量须大于0");
} else {
return str.substr(0, str.length - num);
}
} else {
return str.substr(0, str.length - 1);
}
};
///给数组添加属性
//strMin();获取数组中最小值
sp.arraymin = function (strArr) {
/// 获取数组中最小值
var strMin = strArr[0];
var len = strArr.length;
for (var i = 1; i < len; i++) {
if (strArr[i] < strMin) {
strMin = strArr[i];
}
}
return strMin;
}
//strMax();获取数组中最大值
sp.arraymax = function (strArr) {
/// 获取数组中最大值
var strMax = strArr[0];
var len = strArr.length;
for (var i = 1; i < len; i++) {
if (strArr[i] > strMax) {
strMax = strArr[i];
}
}
return strMax;
}
//arrayAscend将数字升序排序();
sp.arrayAscend = function (strArr) {
/// 冒泡排序:将数字从小到大排序升序
//var arr = new Array;
var arr = new Array;
arr = strArr;
var length = arr.length;
for (var i = 0; i < length; i++) {
for (var j = i; j < length; j++) {
if (arr[i] > arr[j]) {
Temp = arr[i];
arr[i] = arr[j];
arr[j] = Temp;
}
}
}
return arr;
};
//arrayDescend将数字降序排序();
sp.arrayDescend = function (strArr) {
/// 冒泡排序:降序排序
var arr = new Array;
arr = strArr;
var Temp = 0;
var length = arr.length;
for (var i = 0; i < length; i++) {
for (var j = i + 1; j < length; j++) {
if (arr[i] < arr[j]) {
Temp = arr[i];
arr[i] = arr[j];
arr[j] = Temp;
}
}
}
return arr;
};
///设置左右布局的tab选项卡,左右两边高度一致201809
sp.settableft = function () {
if ($("body").find(".sp-tab-left").length > 0) {
$(".sp-tab-left").each(function () {
if ($(".sp-tab-menu", this).height() > $(".sp-tab-box", this).height()) {
$(".sp-tab-box", this).css("height", $(".sp-tab-menu", this).outerHeight());
} else {
$(".sp-tab-menu", this).css("height", $(".sp-tab-box", this).outerHeight());
}
});
};
};
sp.settableft();
sp.settabright = function () {
if ($("body").find(".sp-tab-right").length > 0) {
$(".sp-tab-right").each(function () {
if ($(".sp-tab-menu", this).height() > $(".sp-tab-box", this).height()) {
$(".sp-tab-box", this).css("height", $(".sp-tab-menu", this).outerHeight());
} else {
$(".sp-tab-menu", this).css("height", $(".sp-tab-box", this).outerHeight());
}
});
};
};
sp.settabright();
//201810
/////判断这个变量不为空、null、undefined,即判断这个变量是有值存在
sp.isval = function (vars) {
if (typeof (vars) != undefined && vars != null && vars != "") {
return true;
}
};
///201810
////利用checkbox的多选情况
sp.selectmore = function () {
if ($("body").find(".sp-selectmore").length > 0) {
$(".sp-selectmore").each(function () {
$(".sp-selectmore-bottom span", this).each(function () {
$(this).on("click", function () {
var getmoreup = $(this).parents(".sp-selectmore").children(".sp-selectmore-up");
if ($(this).hasClass("sp-selectmore-active")) {
$(this).removeClass("sp-selectmore-active");
getmoreup.find("span[data-value='" + $(this).attr("data-value") + "']").remove();
} else {
$(this).addClass("sp-selectmore-active");
getmoreup.append("" + $(this).text() + "");
}
});
});
//判断是否有赋值
if ($(".sp-selectmore-up", this).find("span").length > 0) {
$(this).children(".sp-selectmore-up").find("span").each(function () {
var getvalue = $(this).attr("data-value");
$(this).parents(".sp-selectmore").children(".sp-selectmore-bottom").find("span[data-value='" + getvalue + "']").addClass("sp-selectmore-active");
});
};
/////点击上下两个div层控制显示隐藏切换
$(this).find(".sp-selectmore-up").on("click", function (e) {
if ($(this).hasClass("sp-selectmore-up-hasclick")) {
$(this).removeClass("sp-selectmore-up-hasclick");
$(this).parents(".sp-selectmore").children(".sp-selectmore-bottom").hide();
sp.stopPropagation(e);
} else {
$(this).addClass("sp-selectmore-up-hasclick");
$(this).parents(".sp-selectmore").children(".sp-selectmore-bottom").show();
sp.stopPropagation(e);
}
});
$(document).bind('click', function () {
$(".sp-selectmore-up", this).removeClass("sp-selectmore-up-hasclick");
$(".sp-selectmore-bottom",this).hide()
});
$(this).children(".sp-selectmore-bottom").click(function (e) {
sp.stopPropagation(e);
});
});
};
};
////更多插件的上部叉号关闭按钮
sp.selectmoreclose = function (obj,e) {
var getvalue = $(obj).parent().attr("data-value");
var bottom = $(obj).parents(".sp-selectmore").children(".sp-selectmore-bottom");
bottom.find("span[data-value='" + getvalue + "']").removeClass("sp-selectmore-active");
$(obj).parent().remove();
sp.stopPropagation(e);
};
////2019-5-7
// 字符串转base64
sp.strToBase64 = function (str){
return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function(match, p1) {
return String.fromCharCode('0x' + p1);
}));
};
// base64转字符串
sp.base64ToStr = function (base64){
return decodeURIComponent(atob(base64).split('').map(function(c) {
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
}).join(''));
};
//2020-1-2 格式化文件大小显示
sp.filesize = function (limit) {
var size = "";
if (limit < 0.1 * 1024) { //如果小于0.1KB转化成B
size = limit.toFixed(2) + "B";
} else if (limit < 0.1 * 1024 * 1024) {//如果小于0.1MB转化成KB
size = (limit / 1024).toFixed(2) + "KB";
} else if (limit < 0.1 * 1024 * 1024 * 1024) { //如果小于0.1GB转化成MB
size = (limit / (1024 * 1024)).toFixed(2) + "MB";
} else { //其他转化成GB
size = (limit / (1024 * 1024 * 1024)).toFixed(2) + "GB";
}
var sizestr = size + "";
var len = sizestr.indexOf("\.");
var dec = sizestr.substr(len + 1, 2);
if (dec == "00") {//当小数点后为00时 去掉小数部分
return sizestr.substring(0, len) + sizestr.substr(len + 3, 2);
}
return sizestr;
}
///2020-1-7
//自定义变形函数
sp.dateFtt = function(fmt, date) {
var o = {
"M+": date.getMonth() + 1, //月份
"d+": date.getDate(), //日
"h+": date.getHours(), //小时
"m+": date.getMinutes(), //分
"s+": date.getSeconds(), //秒
"q+": Math.floor((date.getMonth() + 3) / 3), //季度
"S": date.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt))
fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
//判断所选日期是第几周 传入时间对象 //调用方式getWeekNumber(new Date())
sp.getWeekNumber = function (obj) {
var year = obj.getFullYear(); //年
var month = obj.getMonth(); //月
var days = obj.getDate(); //日
var nowTime = obj.getTime(); //毫秒
var day = obj.getDay(); //星期几
//那一天是那一年中的第多少天
for (var i = 0; i < month; i++) {
days += sp.getMonthDays(year, i);
}
//那一年第一天是星期几
var yearFirstDay = new Date(year, 0, 1).getDay() || 7;
var week = null;
if (yearFirstDay == 1) {
week = Math.ceil(days / 7);
} else {
days -= (7 - yearFirstDay + 1);
week = Math.ceil(days / 7) + 1;
}
var oneDayLong = 24 * 60 * 60 * 1000;
if (day == 0) {
var MondayTime = nowTime - 6 * oneDayLong;
var SundayTime = nowTime;
} else {
var MondayTime = nowTime - (day - 1) * oneDayLong;
var SundayTime = nowTime + (7 - day) * oneDayLong;
}
var dateString = "";
for (var i = 0; i < 7; i++) {
var time = MondayTime + (oneDayLong) * i;
dateString += sp.dateFtt("MM.dd", new Date(time)) + ","
}
var monday = sp.dateFtt("yyyy-MM-dd", new Date(MondayTime));
var sunday = sp.dateFtt("yyyy-MM-dd", new Date(SundayTime));
return {
begin: monday,
end: sunday,
week: week,
dateString: dateString.substring(0, dateString.length - 1),
weekday: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"][day]
}
}
///判断是否为闰年
sp.isLeapYear = function (year) {
return (year % 400 == 0) || (year % 4 == 0 && year % 100 != 0);
}
//判断每个月的天数
sp.getMonthDays = function (year, month) {
return [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month] || (sp.isLeapYear(year) ? 29 : 28);
}
///判断是否为json字符串
sp.isJSON = function (str) {
if (typeof str == 'string') {
try {
var obj = JSON.parse(str);
if (typeof obj == 'object' && obj) {
return true;
} else {
return false;
}
} catch (e) {
return false;
}
}
}
///【2020-2-26】js获取指定日期的前一天/后一天
// date 代表指定的日期,格式:2018-09-27
// day 传-1表始前一天,传1表始后一天
// JS获取指定日期的前一天,后一天
sp.getNextDate = function (date, day) {
var dd = new Date(date);
dd.setDate(dd.getDate() + day);
var y = dd.getFullYear();
var m = dd.getMonth() + 1 < 10 ? "0" + (dd.getMonth() + 1) : dd.getMonth() + 1;
var d = dd.getDate() < 10 ? "0" + dd.getDate() : dd.getDate();
return y + "-" + m + "-" + d;
};
////getNextDate("2018-09-27", -1);
//获取本机ip地址
sp.myIP = function () {
var ip = "";
$.ajax({
url: apiurljs.login + "g2app/dataabase/getClientIP",
type: 'post',
async: false,
contentType: "application/json",
beforeSend: function (request) {
request.setRequestHeader("Authorization", "Bearer " + localStorage.getItem("GlWorkPlatform-AccessToken"));
},
dataType: "json",
success: function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
ip = res.data;
}
})
return ip
}
//获取本机操作系统
sp.detectOS = function () {
var sUserAgent = navigator.userAgent;
var isWin = (navigator.platform == "Win32") || (navigator.platform == "Windows");
var isMac = (navigator.platform == "Mac68K") || (navigator.platform == "MacPPC") || (navigator.platform == "Macintosh") || (navigator.platform == "MacIntel");
if (isMac) return "Mac";
var isUnix = (navigator.platform == "X11") && !isWin && !isMac;
if (isUnix) return "Unix";
var isLinux = (String(navigator.platform).indexOf("Linux") > -1);
var bIsAndroid = sUserAgent.toLowerCase().match(/android/i) == "android";
if (isLinux) {
if(bIsAndroid) return "Android";
else return "Linux";
}
if (isWin) {
if (sUserAgent.indexOf("Windows NT 5") != -1) {
return "Windows XP";
} else if (sUserAgent.indexOf("Windows NT 7") != -1) {
return "Windows 7";
} else if (sUserAgent.indexOf("Windows NT 10") != -1) {
return "Windows 10";
}
}
return "other";
}
//获取本机浏览器类型
sp.browser = function () {
var userAgent = navigator.userAgent;
if (navigator.userAgent.indexOf('Firefox') > -1)
return "火狐浏览器"
if (navigator.userAgent.indexOf('Chrome') > -1 )
return "谷歌浏览器"
if (navigator.userAgent.indexOf('Opera') > -1)
return "Opera"
if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera)
return "IE浏览器"
}
//获取当前时间(带毫秒),格式:2021-11-23 10:47:15.165
sp.getLocalDate1 = function () {
var objDate = new Date();
var str, date, colorhead, colorfoot;
var yy = objDate.getFullYear();
var MM = objDate.getMonth() + 1;
if (MM < 10) MM = '0' + MM;
var dd = objDate.getDate();
if (dd < 10) dd = '0' + dd;
var hh = objDate.getHours();
if (hh < 10) hh = '0' + hh;
var mm = objDate.getMinutes();
if (mm < 10) mm = '0' + mm;
var ss = objDate.getSeconds();
if (ss < 10) ss = '0' + ss;
date = yy + "-" + MM + "-" + dd + " " + hh + ":" + mm + ":" + ss;
var mins = objDate.getTime() - new Date(date).getTime();
mins < 10 ? '00' + mins : mins < 100 ? '0' + mins : mins;
str = yy + "-" + MM + "-" + dd + " " + hh + ":" + mm + ":" + ss + "." + mins;
return str;
};
//提醒登录超时
sp.addDLTX = function () {
if ($('body').find(".DLTX").length < 1) {
$('body').prepend("");
}
}
sp.openDLTX = function (Name) {
$('.DLTX').fadeIn(200);
sp.setCenter(Name);
}
//毫秒转日期格式
sp.minsToDate = function (fmt, str) {
var date = new Date(str);
var o = {
"M+": date.getMonth() + 1, //月份
"d+": date.getDate(), //日
"h+": date.getHours(), //小时
"m+": date.getMinutes(), //分
"s+": date.getSeconds(), //秒
"q+": Math.floor((date.getMonth() + 3) / 3), //季度
"S": date.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt))
fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
//拖动
sp.drag = function (id) {
var box = document.querySelector(id);
var title = document.querySelector(id).children[0];
title.addEventListener("mousedown", function (event) {
var x = event.pageX - box.offsetLeft;
var y = event.pageY - box.offsetTop;
document.addEventListener("mousemove", boxMove)
function boxMove(event) {
box.style.left = (event.pageX - x) + "px"
box.style.top = (event.pageY - y) + "px"
}
document.addEventListener("mouseup", function () {
document.removeEventListener("mousemove", boxMove)
})
})
}