grgw_old_java/heatsupply2/WebContent/static/common/jeeplus.js

494 lines
14 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*!
* Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
*
* 通用公共方法
* @author jeeplus
* @version 2014-4-29
*/
$(document).ready(function() {
try{
// 链接去掉虚框
$("a").bind("focus",function() {
if(this.blur) {this.blur()};
});
//所有下拉框使用select2
$("select").select2();
}catch(e){
// blank
}
});
// 引入js和css文件
function include(id, path, file){
if (document.getElementById(id)==null){
var files = typeof file == "string" ? [file] : file;
for (var i = 0; i < files.length; i++){
var name = files[i].replace(/^\s|\s$/g, "");
var att = name.split('.');
var ext = att[att.length - 1].toLowerCase();
var isCSS = ext == "css";
var tag = isCSS ? "link" : "script";
var attr = isCSS ? " type='text/css' rel='stylesheet' " : " type='text/javascript' ";
var link = (isCSS ? "href" : "src") + "='" + path + name + "'";
document.write("<" + tag + (i==0?" id="+id:"") + attr + link + "></" + tag + ">");
}
}
}
// 获取URL地址参数
function getQueryString(name, url) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
if (!url || url == ""){
url = window.location.search;
}else{
url = url.substring(url.indexOf("?"));
}
r = url.substr(1).match(reg)
if (r != null) return unescape(r[2]); return null;
}
//获取字典标签
function getDictLabel(data, value, defaultValue){
for (var i=0; i<data.length; i++){
var row = data[i];
if (row.value == value){
return row.label;
}
}
return defaultValue;
}
// 打开一个窗体
function windowOpen(url, name, width, height){
var top=parseInt((window.screen.height-height)/2,10),left=parseInt((window.screen.width-width)/2,10),
options="location=no,menubar=no,toolbar=no,dependent=yes,minimizable=no,modal=yes,alwaysRaised=yes,"+
"resizable=yes,scrollbars=yes,"+"width="+width+",height="+height+",top="+top+",left="+left;
window.open(url ,name , options);
}
// 恢复提示框显示
function resetTip(){
top.$.jBox.tip.mess = null;
}
// 关闭提示框
function closeTip(){
top.$.jBox.closeTip();
}
//显示提示框
function showTip(mess, type, timeout, lazytime){
resetTip();
setTimeout(function(){
top.$.jBox.tip(mess, (type == undefined || type == '' ? 'info' : type), {opacity:0,
timeout: timeout == undefined ? 2000 : timeout});
}, lazytime == undefined ? 500 : lazytime);
}
// 显示加载框
function loading(mess){
if (mess == undefined || mess == ""){
mess = "正在提交,请稍等...";
}
resetTip();
top.$.jBox.tip(mess,'loading',{opacity:0});
}
// 警告对话框
function alertx(mess){
top.layer.msg(mess);
}
// 确认对话框
function confirmx(mess, href, closed){
var reslut = false;
top.layer.confirm(mess, {icon: 3, title:'系统提示'}, function(index){
//do something
if (typeof href == 'function') {
href();
}else{
resetTip(); //loading();
location = href;
}
reslut = true;
top.layer.close(index);
});
// top.$.jBox.confirm(mess,'系统提示',function(v,h,f){
// if(v=='ok'){
// if (typeof href == 'function') {
// href();
// }else{
// resetTip(); //loading();
// location = href;
// }
// }
// },{buttonsFocus:1, closed:function(){
// if (typeof closed == 'function') {
// closed();
// }
// }});
// top.$('.jbox-body .jbox-icon').css('top','55px');
return reslut;
}
// 提示输入对话框
function promptx(title, href){
var index = top.layer.prompt({title: title, formType: 2}, function(text){
if (typeof href == 'function') {
href();
}else{
resetTip(); //loading();
location = href + encodeURIComponent(text);
}
top.layer.close(index);
});
return false;
}
// cookie操作
function cookie(name, value, options) {
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(); // use expires attribute, max-age is not supported by IE
}
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 { // only name given, get cookie
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]);
// Does this cookie string begin with the name we want?
if (cookie.substring(0, name.length + 1) == (name + '=')) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
return cookieValue;
}
}
// 数值前补零
function pad(num, n) {
var len = num.toString().length;
while(len < n) {
num = "0" + num;
len++;
}
return num;
}
// 转换为日期
function strToDate(date){
return new Date(date.replace(/-/g,"/"));
}
// 日期加减
function addDate(date, dadd){
date = date.valueOf();
date = date + dadd * 24 * 60 * 60 * 1000;
return new Date(date);
}
//截取字符串,区别汉字和英文
function abbr(name, maxLength){
if(!maxLength){
maxLength = 20;
}
if(name==null||name.length<1){
return "";
}
var w = 0;//字符串长度一个汉字长度为2
var s = 0;//汉字个数
var p = false;//判断字符串当前循环的前一个字符是否为汉字
var b = false;//判断字符串当前循环的字符是否为汉字
var nameSub;
for (var i=0; i<name.length; i++) {
if(i>1 && b==false){
p = false;
}
if(i>1 && b==true){
p = true;
}
var c = name.charCodeAt(i);
//单字节加1
if ((c >= 0x0001 && c <= 0x007e) || (0xff60<=c && c<=0xff9f)) {
w++;
b = false;
}else {
w+=2;
s++;
b = true;
}
if(w>maxLength && i<=name.length-1){
if(b==true && p==true){
nameSub = name.substring(0,i-2)+"...";
}
if(b==false && p==false){
nameSub = name.substring(0,i-3)+"...";
}
if(b==true && p==false){
nameSub = name.substring(0,i-2)+"...";
}
if(p==true){
nameSub = name.substring(0,i-2)+"...";
}
break;
}
}
if(w<=maxLength){
return name;
}
return nameSub;
}
//打开对话框(添加修改)
function openDialog(title,url,width,height,target){
if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
width='auto';
height='auto';
}else{//如果是PC端根据用户设置的width和height显示。
}
top.layer.open({
type: 2,
area: [width, height],
title: title,
maxmin: true, //开启最大化最小化按钮
content: url ,
btn: ['确定', '关闭'],
yes: function(index, layero){
var body = top.layer.getChildFrame('body', index);
var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象执行iframe页的方法iframeWin.method();
var inputForm = body.find('#inputForm');
var top_iframe;
if(target){
top_iframe = target;//如果指定了iframe则在改frame中跳转
}else{
top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
}
inputForm.attr("target",top_iframe);//表单提交成功后从服务器返回的url在当前tab中展示
if(iframeWin.contentWindow.doSubmit() ){
// top.layer.close(index);//关闭对话框。
setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒对应360 7.1版本bug
}
},
cancel: function(index){
}
});
}
//打开对话框(审批)
function openDialogSP(title,url,width,height,target){
if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
width='auto';
height='auto';
}else{//如果是PC端根据用户设置的width和height显示。
}
top.layer.open({
type: 2,
area: [width, height],
title: title,
maxmin: true, //开启最大化最小化按钮
content: url ,
btn: ['通过','不通过', '关闭'],
yes: function(index, layero){
var body = top.layer.getChildFrame('body', index);
var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象执行iframe页的方法iframeWin.method();
var inputForm = body.find('#inputForm');
var top_iframe ;
/* console.log(typeof iframeWin);
console.log(iframeWin);
console.log(typeof inputForm);
console.log(inputForm);
console.log($(inputForm).find('#approvalNo').val());
console.log($(inputForm).find('#approvalNo').val("1"));
console.log($(inputForm).find('#approvalNo').val());
*/
$(inputForm).find('#approvalNo').val("1");
//iframeWin.tg();
//debugger;
if(target){
top_iframe = target;//如果指定了iframe则在改frame中跳转
}else{
top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
}
inputForm.attr("target",top_iframe);//表单提交成功后从服务器返回的url在当前tab中展示
if(iframeWin.contentWindow.doSubmit() ){
// top.layer.close(index);//关闭对话框。
setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒对应360 7.1版本bug
}
},
btn2: function(index, layero){
var body = top.layer.getChildFrame('body', index);
var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象执行iframe页的方法iframeWin.method();
var inputForm = body.find('#inputForm');
//console.log(body);//设置为通过
$(inputForm).find('#approvalNo').val("0");//设置为通过
//btg();
//debugger;
if(target){
top_iframe = target;//如果指定了iframe则在改frame中跳转
}else{
top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
}
inputForm.attr("target",top_iframe);//表单提交成功后从服务器返回的url在当前tab中展示
if(iframeWin.contentWindow.doSubmit() ){
// top.layer.close(index);//关闭对话框。
setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒对应360 7.1版本bug
}
},
cancel: function(index){
}
});
}
/**
* 带回调方法的弹出窗口
* @param title
* @param url
* @param width
* @param height
* @param target
* @param callback 回调函数,带参数 index, layero
* @returns
*/
function openDialogCallBack(title,url,width,height,target,callback){
if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
width='auto';
height='auto';
}else{//如果是PC端根据用户设置的width和height显示。
}
top.layer.open({
type: 2,
area: [width, height],
title: title,
maxmin: true, //开启最大化最小化按钮
content: url ,
btn: ['确定', '关闭'],
yes: function(index, layero){
callback(index, layero);
setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒对应360 7.1版本bug
},
cancel: function(index){
}
});
}
//打开对话框(查看)
function openDialogView(title,url,width,height){
if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
width='auto';
height='auto';
}else{//如果是PC端根据用户设置的width和height显示。
}
top.layer.open({
type: 2,
area: [width, height],
title: title,
maxmin: true, //开启最大化最小化按钮
content: url ,
btn: ['关闭'],
cancel: function(index){
}
});
}
//打开对话框(查看)
function openDialogView2(title,url,width,height){
if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
width='auto';
height='auto';
}else{//如果是PC端根据用户设置的width和height显示。
}
top.layer.open({
type: 2,
area: [width, height],
title: title,
shadeClose: true,
shade: 0.3,
content: url
});
}
function search(){//查询,页码清零
$("#pageNo").val(0);
$("#searchForm").submit();
return false;
}
function resetAll(){//重置,页码清零
$("#pageNo").val(0);
$("#searchForm input").val("");
$("#searchForm select").val("");
$("#searchForm").submit();
return false;
}
function sortOrRefresh(){//刷新或者排序,页码不清零
$("#searchForm").submit();
return false;
}
function page(n,s){//翻页
$("#pageNo").val(n);
$("#pageSize").val(s);
$("#searchForm").submit();
$("span.page-size").text(s);
return false;
}