/**
* 去字符串空格
*/
function trim(str) {
return str.replace(/(^\s*)|(\s*$)/g, '');
};
function ltrim(str) {
return str.replace(/(^\s*)/g, '');
};
function rtrim(str) {
return str.replace(/(\s*$)/g, '');
};
/**
* 判断开始字符是否是XX
*/
function startWith(source, str) {
var reg = new RegExp("^" + str);
return reg.test(source);
};
/**
* 判断结束字符是否是XX
*/
function endWith(source, str) {
var reg = new RegExp(str + "$");
return reg.test(source);
};
/**
* iframe自适应高度
*
* @param iframe
*/
function autoIframeHeight(iframe) {
iframe.style.height = iframe.contentWindow.document.body.scrollHeight + "px";
};
/**
* 设置iframe高度
*
* @param iframe
*/
function setIframeHeight(iframe, height) {
iframe.height = height;
};
var commfile = function (mappernamespace, id) {
this.showUpload = function () {
var dialog = top.ext.modalDialog({
title: "上传文件",
url: ext.contextPath + "/base/fileupload.do?mappernamespace=" + mappernamespace + "&masterid=" + id,
width: 600,
height: 400,
onClose: function () {
new commfile(mappernamespace, id).loadfile();
}
});
};
this.loadfile = function () {
$.post(ext.contextPath + "/base/getFileList.do?mappernamespace=" + mappernamespace + "&masterid=" + id, function (data) {
var filehtml = "";
$.each(data, function (index, item) {
filehtml += "
";
});
$('#fileList').html(filehtml);
}, 'json');
};
this.deletefile = function (itemid) {
top.$.messager.confirm('提示', '确定删除此文件?', function (r) {
if (r) {
$.post(ext.contextPath + "/base/deletefile.do?mappernamespace=" + mappernamespace + "&id=" + itemid, function (data) {
top.$.messager.alert("提示", data, "info", function () {
if (data.indexOf("成功") > 0) {
$("#" + itemid).remove();
}
});
});
}
});
};
};
/**
* 选择人员
* @param recvname 用户名称字段名
* @param recvid 用户名称id字段名
* @param iframeId 当前窗口Id,由父窗口传递过来
*/
function selectUsers(recvname, recvid, iframeId) {
var dialog = parent.ext.modalDialog({
title: '选择人员',
width: 600,
height: 480,
closeOnEscape: true,
url: ext.contextPath + '/user/userForSelect.do?iframeId=' + iframeId + '&recvid=' + recvid,
buttons: [
{
text: '选中',
handler: function () {
dialog.find('iframe').get(0).contentWindow.addToSelectMulti();
}
}, {
text: '全选',
handler: function () {
dialog.find('iframe').get(0).contentWindow.addToSelectAll();
}
}, {
text: '清除',
handler: function () {
dialog.find('iframe').get(0).contentWindow.removeFromSelectAll();
}
}, {
text: '确定',
iconCls: 'icon-ok',
handler: function () {
var res = dialog.find('iframe').get(0).contentWindow.selectOK();
if (res != null) {
dialog.dialog('destroy');
var recvuser = res.split(";");
var recvidstr = "";
var recvnamestr = "";
for (var i = 0; i < (recvuser.length - 1); i++) {//leng-1去空格
recvidstr += recvuser[i].split(",")[0] + ",";
recvnamestr += recvuser[i].split(",")[1] + ",";
}
if (recvidstr.length > 1) {
recvidstr = recvidstr.substring(0, recvidstr.length - 1);
}
if (recvnamestr.length > 1) {
recvnamestr = recvnamestr.substring(0, recvnamestr.length - 1);
}
$("#" + recvname).textbox('setValue', recvnamestr);//easyui textbox赋值jquery不一样
$("#" + recvid).val(recvidstr);
}
}
}, {
text: '取消',
iconCls: 'icon-cancel',
handler: function () {
dialog.dialog('destroy');
}
}]
});
}
/**
* 选择人员--单选
* @param recvname 用户名称字段名
* @param recvid 用户名称id字段名
* @param iframeId 当前窗口Id,由父窗口传递过来
*/
function selectSingleUser(recvname, recvid, iframeId) {
var dialog = parent.ext.modalDialog({
title: '选择人员',
width: 440,
height: 480,
closeOnEscape: true,
url: ext.contextPath + '/user/userForSingleSelect.do?iframeId=' + iframeId + '&recvid=' + recvid,
buttons: [
{
text: '确定',
iconCls: 'icon-ok',
handler: function () {
var res = dialog.find('iframe').get(0).contentWindow.selectOK();
if (res != null) {
dialog.dialog('destroy');
var recvuser = res.split(",");
$("#" + recvname).textbox('setValue', recvuser[1]);//easyui textbox赋值jquery不一样
$("#" + recvid).val(recvuser[0]);
}
}
}, {
text: '取消',
iconCls: 'icon-cancel',
handler: function () {
dialog.dialog('destroy');
}
}]
});
}
Date.prototype.Format = function (fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"h+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt))
fmt = fmt.replace(RegExp.$1, (this.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;
}
/**
* 获取当前时间
*/
function getNowTime() {
const myDate = new Date;
const year = myDate.getFullYear(); //获取当前年
const mon = myDate.getMonth() + 1; //获取当前月
const day = myDate.getDate(); //获取当前日
const h = myDate.getHours();//获取当前小时数(0-23)
const m = myDate.getMinutes();//获取当前分钟数(0-59)
const s = myDate.getSeconds();//获取当前秒
const nowTime = year + "-" + (mon < 10 ? "0" + mon : mon) + "-" + (day < 10 ? "0" + day : day) + " " + (h < 10 ? "0" + h : h) + ":" + (m < 10 ? "0" + m : m) + ":" + (s < 10 ? "0" + s : s);
return nowTime;
}
/**
* 比较日期大小 1 sdt日期大(sdt在edt后面) -1 sdt日期小(sdt在edt前面) 0 sdt日期与edt一样大
*/
function getCompareTime(sdt, edt) {
var start_time = sdt;
var subsidy_start_time = new Date(start_time.replace("-", "/").replace("-", "/"));
var end_time = edt;
var subsidy_end_time = new Date(end_time.replace("-", "/").replace("-", "/"));
if (subsidy_start_time.getTime() > subsidy_end_time.getTime()) {
return "1";
} else if (subsidy_start_time.getTime() == subsidy_end_time.getTime()) {
return "0";
} else if (subsidy_start_time.getTime() < subsidy_end_time.getTime()) {
return "-1";
}
return null;
}
/**
* 日期计算
*/
function getPlusTime(date, dateval, type) {
var d = new Date(date);
var sec = d.getSeconds();
var min = d.getMinutes();
var hour = d.getHours();
if (type == 'min') {
d.setMinutes(d.getMinutes() + Number(dateval));
let nowmon = d.getMonth() + 1;
if (Number(nowmon) < 10) {
nowmon = "0" + nowmon;
}
let nowday = d.getDate();
if (Number(nowday) < 10) {
nowday = "0" + nowday;
}
let nowhour = d.getHours();
if (Number(nowhour) < 10) {
nowhour = "0" + nowhour;
}
let nowmin = d.getMinutes();
if (Number(nowmin) < 10) {
nowmin = "0" + nowmin;
}
return d.getFullYear() + "-" + nowmon + "-" + nowday + " " + nowhour + ":" + nowmin + ":" + sec;
} else if (type == 'hour') {
d.setHours(d.getHours() + Number(dateval));
let nowmon = d.getMonth() + 1;
if (Number(nowmon) < 10) {
nowmon = "0" + nowmon;
}
let nowday = d.getDate();
if (Number(nowday) < 10) {
nowday = "0" + nowday;
}
let nowhour = d.getHours();
if (Number(nowhour) < 10) {
nowhour = "0" + nowhour;
}
return d.getFullYear() + "-" + nowmon + "-" + nowday + " " + nowhour + ":" + min + ":" + sec;
} else if (type == 'day') {
d.setDate(d.getDate() + Number(dateval));
let nowmon = d.getMonth() + 1;
if (Number(nowmon) < 10) {
nowmon = "0" + nowmon;
}
let nowday = d.getDate();
if (Number(nowday) < 10) {
nowday = "0" + nowday;
}
return d.getFullYear() + "-" + nowmon + "-" + nowday + " " + hour + ":" + min + ":" + sec;
} else if (type == 'month') {
d.setMonth(d.getMonth() + Number(dateval));
let nowmon = d.getMonth() + 1;
if (Number(nowmon) < 10) {
nowmon = "0" + nowmon;
}
let nowday = d.getDate();
if (Number(nowday) < 10) {
nowday = "0" + nowday;
}
return d.getFullYear() + "-" + nowmon + "-" + nowday + " " + hour + ":" + min + ":" + sec;
} else if (type == 'year') {
d.setFullYear(d.getFullYear() + Number(dateval));
let nowmon = d.getMonth() + 1;
if (Number(nowmon) < 10) {
nowmon = "0" + nowmon;
}
let nowday = d.getDate();
if (Number(nowday) < 10) {
nowday = "0" + nowday;
}
return d.getFullYear() + "-" + nowmon + "-" + nowday + " " + hour + ":" + min + ":" + sec;
}
return null;
}
function getMonthMaxDay(nowTime) {
let nextMonth = getPlusTime(nowTime, "1", "month").substring(0, 7) + "-01";
let endday = getPlusTime(nextMonth, "-1", "day").substring(8, 10);
return endday;
}
/**
* 输出数字添加千分符
*/
function numOutput(num) {
var numpart = String(num).split(".");//将数字通过jq split用小数点分隔为数组对象
numpart[0] = numpart[0].replace(new RegExp('(\\d)(?=(\\d{3})+$)', 'ig'), "$1,");
//将数组对象第一个数据(整数部分)通过正则表达式每三位用逗号分隔
return numpart.join(".");//把数组通过join方法用.进行拼接
}
/**
* 播读语音
*/
function speakText(text) {
let to_speak = window.speechSynthesis;
to_speak = new SpeechSynthesisUtterance(text);
window.speechSynthesis.speak(to_speak);
}
/**
* @param scope 范围 today yesterday week prevweek month prevmonth
* @param datestr 如果为null,则直接取当前时间
* @return result (Array)
*/
function getDateStartEnd(scope, datestr) {
datestr = datestr == null ? new Date() : datestr;
var nowdate = new Date(datestr);
//今天时间
var year = nowdate.getFullYear();
var month = nowdate.getMonth() + 1;
var day = nowdate.getDate();
var today = nowdate.Format("yyyy-MM-dd");
//昨天时间
var dd = new Date(nowdate);
dd.setDate(dd.getDate() - 1);
var yesterday = dd.Format("yyyy-MM-dd");
// 获得本周时间 (周一到当天的时间)
var thisWeekStart; //本周周一的时间
if (nowdate.getDay() == 0) { //周天的情况
thisWeekStart = (new Date(today)).getTime() - ((nowdate.getDay()) + 6) * 86400000;
} else {
thisWeekStart = (new Date(today)).getTime() - ((nowdate.getDay()) - 1) * 86400000;
}
var weekStartDate = new Date(thisWeekStart).Format("yyyy-MM-dd");
var weekEndDate = nowdate.Format("yyyy-MM-dd");
//获得上周时间
var prevWeekStart = thisWeekStart - 7 * 86400000;//上周周一的时间
var prevWeekEnd = thisWeekStart - 1 * 86400000;//上周周日的时间
var prevweekStartDate = new Date(prevWeekStart).Format("yyyy-MM-dd");
var prevweekEndDate = new Date(prevWeekEnd).Format("yyyy-MM-dd");
//获得本月时间
var currentYear = nowdate.getFullYear();
var currentMonth = nowdate.getMonth();
var monthStartDate = new Date(currentYear, currentMonth, 1).Format("yyyy-MM-dd");
var monthEndDate = weekEndDate;
//获得上月时间
var currentYear = nowdate.getFullYear();
var currentMonth = nowdate.getMonth();
var prevCurrentYear = 0, prevCurrentMonth = 0;
if (currentMonth == 1) {
prevCurrentYear = currentYear - 1;
prevCurrentMonth = 12;
} else {
prevCurrentYear = currentYear;
prevCurrentMonth = currentMonth - 1;
}
var prevmonthLastday = (new Date(currentYear, currentMonth, 1)).getTime() - 86400000;
var prevmonthStartDate = new Date(prevCurrentYear, prevCurrentMonth, 1).Format("yyyy-MM-dd");
var prevmonthEndDate = new Date(prevmonthLastday).Format("yyyy-MM-dd");
var result = new Array();
if (scope == "today") {
result[0] = today + " 00:00:00";
result[1] = today + " 23:59:59";
} else if (scope == "yesterday") {
result[0] = yesterday + " 00:00:00";
result[1] = yesterday + " 23:59:59";
} else if (scope == "week") {
result[0] = weekStartDate + " 00:00:00";
result[1] = weekEndDate + " 23:59:59";
} else if (scope == "prevweek") {
result[0] = prevweekStartDate + " 00:00:00";
result[1] = prevweekEndDate + " 23:59:59";
} else if (scope == "month") {
result[0] = monthStartDate + " 00:00:00";
result[1] = monthEndDate + " 23:59:59";
} else if (scope == "prevmonth") {
result[0] = prevmonthStartDate + " 00:00:00";
result[1] = prevmonthEndDate + " 23:59:59";
}
return result;
}
/**
* @param tips 提示内容
* @param time 秒
*/
function showTips(tips, time) {
var windowWidth = document.documentElement.clientWidth;
var height = $(document).height();
var loadingDiv = "";
var tipsDiv = '' + tips + '
';
$('body').append(loadingDiv + tipsDiv);
$('#loadingDiv').show();
$('div.tipsClass').css({
'top': height / 2 + 'px',
'left': (windowWidth / 2) - (tips.length * 13 / 2) + 'px',
'position': 'absolute',
'padding': '10px',
'background': '#fff',
'font-size': 12 + 'px',
'margin': '0 auto',
'text-align': 'center',
'width': 'auto',
'border': '2px solid #95B8E7'
}).show();
setTimeout(function () {
$('#loadingDiv').fadeOut();
$('div.tipsClass').fadeOut();
}, (time * 1000));
}
/**
* //测量点可视化图标路径 0:正常,1:错误,2:故障
* */
var Scada_Mp_Pic = new Array(3)
Scada_Mp_Pic[0] = "/IMG/mpoint_pic/lg.png"
Scada_Mp_Pic[1] = "/IMG/mpoint_pic/lr.png"
Scada_Mp_Pic[2] = "/IMG/mpoint_pic/ly.png"
function getMpPic() {
var str = "";
for (i = 0; i < Scada_Mp_Pic.length; i++) {
if (str != "") {
str += ",";
}
str += "{\"id\":\"" + i + "\",\"path\":\"" + Scada_Mp_Pic[i] + "\"}";
}
str = "[" + str + "]";
return str;
}
function initMenu() {
var menu = $('#menu');
// 定义一个内部函数来执行DOM操作添加菜单
var appendS223Menu = function() {
var $menu = $('#menu');
// 查找“纳管企业清单”所在的菜单项
// 情况1: 一级菜单,名称在 span 中
var $targetSpan = $menu.find("span").filter(function() {
return $(this).text().trim() === '纳管企业清单';
});
var $targetLi = null;
if ($targetSpan.length > 0) {
$targetLi = $targetSpan.closest('li');
} else {
// 情况2: 二级菜单,名称直接在 a 标签中(可能是文本节点)
var $targetLink = $menu.find('a').filter(function() {
// 克隆节点,移除子元素(如图标),只获取自身的文本
return $(this).clone().children().remove().end().text().trim() === '纳管企业清单';
});
if ($targetLink.length > 0) {
$targetLi = $targetLink.closest('li');
}
}
if ($targetLi && $targetLi.length > 0) {
var $treeviewMenu = $targetLi.find('> .treeview-menu');
// 确保 treeview-menu 存在
if ($treeviewMenu.length === 0) {
$treeviewMenu = $('');
$targetLi.append($treeviewMenu);
}
// 检查是否已经添加过,防止重复添加
// 注意:新菜单项可能直接是文本,也可能包含 i 标签
var exists = false;
$treeviewMenu.find('li').each(function() {
// if ($(this).text().indexOf('管道管理') > -1) {
// exists = true;
// }
});
if (!exists) {
// 根据层级决定样式,通常二级或三级菜单项不需要 span 包裹文字,或者保持一致
// 这里的样式参考了 menuitems.jsp 中的 Level 3: Name
// 使用 addTab 函数而不是 refreshPage,以支持在 tab 页中打开(如果系统支持)或者在当前 iframe 打开
// 检查 addTab 是否存在,如果存在则使用它,否则回退到 refreshPage
var newMenuHtml = '';
if (typeof addTab === 'function') {
// 假设 addTab(id, name, url)
} else {
// 如果没有 addTab,尝试使用 iframe 加载或者直接跳转(但在框架内)
// refreshPage 通常是 location.replace,这会刷新整个页面。
// 如果目标是内嵌,我们应该寻找 iframe 的加载方式。
// 查看 comm.js 其他部分,发现有 refreshPage(url) 实现为 location.replace(url)。
// 如果要内嵌,通常是设置某个 iframe 的 src。
// 假设主内容区域是一个 iframe,或者支持通过 data-url 加载。
// 暂时使用 refreshPage,但确认它是在当前窗口(iframe)中加载,而不是弹出新窗口。
// 用户反馈说“不要新开特么弹窗”,可能是指 window.open 或者 target="_blank"。
// refreshPage 使用 location.replace,是在当前窗口打开。
// 如果当前窗口是整个 index 页面,那就会刷新整个页面。
// 如果是 SPA 或者 iframe 架构,我们需要找到正确的方法。
// 观察 menuitems.jsp,发现二级菜单使用 addTab('${cumcl2.id}','${cumcl2.name}','${cumcl2.location}')
// 所以我们应该优先使用 addTab。
// 如果 addTab 未定义(可能在 index.jsp 中定义),我们尝试模拟它。
// 由于 comm.js 被 index.jsp 引用,addTab 应该可用。
}
$treeviewMenu.append(newMenuHtml);
// 确保父菜单是展开状态(可选)
// $targetLi.addClass('active menu-open');
}
}
};
if (sessionStorage.menu != undefined) {
$('#menu').html(sessionStorage.menu);
// 即使是缓存加载,也尝试添加新菜单
appendS223Menu();
if (sessionStorage.m1 != undefined) {
$('#' + sessionStorage.m1).addClass('treeview active menu-open')
}
if (sessionStorage.m2 != undefined) {
$('#' + sessionStorage.m2).addClass('treeview active menu-open')
}
if (sessionStorage.m3 != undefined) {
$('#' + sessionStorage.m3).addClass('treeview active menu-open')
}
//return;
} else {
$.post(ext.contextPath + "/user/showMenuListByCu.do", {}, function (result) {
var bigScreenHtml = '' +
'' +
' 大屏展示' +
'' +
'' +
'' +
'' +
'' +
'';
result = result + bigScreenHtml;
// 替换源头GIS管理页面链接为JSP
result = result.replace('newSourceGISPage.html', 'newSourceGISPage.jsp');
result = result.replace('newGIS.html', 'newSourceGISPage.jsp');
$('#menu').html(result);
// 在设置HTML后执行DOM注入
appendS223Menu();
sessionStorage.setItem("menu", $('#menu').html()); // 保存修改后的HTML到sessionStorage
if (sessionStorage.m1 != undefined) {
$('#' + sessionStorage.m1).addClass('treeview active menu-open')
}
if (sessionStorage.m2 != undefined) {
$('#' + sessionStorage.m2).addClass('treeview active menu-open')
}
if (sessionStorage.m3 != undefined) {
$('#' + sessionStorage.m3).addClass('treeview active menu-open')
}
});
}
var sidebar = $('.initMenuScroll');
initMenuScroll(sidebar);
$(window).resize(function () {
initMenuScroll(sidebar);
});
}
function initMenuScroll(menu) {
//菜单滚动条
var windowHeight = $(window).height();
var mainheaderHeight = $('.main-header').outerHeight(true);
var userpanelHeight = $('.user-panel').outerHeight(true);
var sidebarformHeight = $('.sidebar-form').outerHeight(true);
//最大高度计算
var menuHeight = windowHeight - mainheaderHeight - userpanelHeight - sidebarformHeight;
menu.slimScroll({
height: menuHeight,
color: '#fff',
});
}
/** 获取浏览器当前缩放比例
* @returns 100为100%
*/
function detectZoom() {
var ratio = 0,
screen = window.screen,
ua = navigator.userAgent.toLowerCase();
if (window.devicePixelRatio !== undefined) {
ratio = window.devicePixelRatio;
} else if (~ua.indexOf('msie')) {
if (screen.deviceXDPI && screen.logicalXDPI) {
ratio = screen.deviceXDPI / screen.logicalXDPI;
}
} else if (window.outerWidth !== undefined && window.innerWidth !== undefined) {
ratio = window.outerWidth / window.innerWidth;
}
if (ratio) {
ratio = Math.round(ratio * 100);
}
return ratio;
};
function initBody() {
//还原是否隐藏菜单
/*if(sessionStorage.bodyClass!=undefined){
$('body').addClass(sessionStorage.bodyClass);
}*/
}
function doforward(url, m1, m2, m3) {
url = ext.contextPath + '/' + url;
sessionStorage.setItem("bodyClass", $('body')[0].className)
sessionStorage.setItem("m1", m1);
sessionStorage.setItem("m2", m2);
sessionStorage.setItem("m3", m3);
// console.info(url);
location.replace(url);
};
/**获取当前菜单信息*/
/*
function getMenuInfo() {
if (sessionStorage.m3 != undefined) {
var m3 = sessionStorage.m3;
$.post(ext.contextPath + "/user/getMenuInfo.do", { id: m3 }, function (result) {
if (result.length == 0) {
$('#head_title').html('首页');
} else {
var res = result[0].name + '' + result[0].description + '';
$('#head_title').html(res);
$('#head_firstlevel').attr('onclick', 'refreshPage(\'' + ext.contextPath + '/' + result[0].location + '\')');
$('#head_firstlevel').append(result[0].name);
$('#head_firstlevel').children("i").attr("class", "glyphicon glyphicon-refresh");
}
}, 'json');
}
};
*/
function getMenuInfo() {
var menuId = "";
if (sessionStorage.m3 != undefined && sessionStorage.m3 != '') {
menuId = sessionStorage.m3;
} else if (sessionStorage.m2 != undefined && sessionStorage.m2 != '') {
menuId = sessionStorage.m2;
} else {
if (sessionStorage.m1 != undefined && sessionStorage.m1 != '') {
menuId = sessionStorage.m1;
} else {
try {
//通过父界面获取子界面菜单id
$(".tab-content", parent.document).children(".active").each(function () {
var iframeID = $(this).attr("id").split('_');
if (iframeID.length > 1) {
menuId = iframeID[1];
}
});
} catch (err) {
menuId = '';
console.log(err.message);
}
}
}
if (menuId != '') {
$.post(ext.contextPath + "/user/getMenuInfo.do", {id: menuId}, function (result) {
if (result.length == 0) {
$('#head_title').html('首页');
$('#head_firstlevel').attr('onclick', 'refreshPage(\'' + ext.contextPath + '/Login/main.do\')');
$('#head_firstlevel').children("i").attr("class", "glyphicon glyphicon-refresh");
} else {
var res = result[0].name + '' + result[0].description + '';
$('#head_title').html(res);
$('#head_firstlevel').attr('onclick', 'refreshPage(\'' + ext.contextPath + '/' + result[0].location + '\')');
$('#head_firstlevel').append(result[0].name);
$('#head_firstlevel').children("i").attr("class", "glyphicon glyphicon-refresh");
}
}, 'json');
}
};
/**
* 显示主页
* */
function goToMainPage() {
sessionStorage.setItem("m1", '');
sessionStorage.setItem("m2", '');
sessionStorage.setItem("m3", '');
location.replace(ext.contextPath);
}
/**
* 刷新页面
* */
function refreshPage(url) {
sessionStorage.setItem("bodyClass", $('body')[0].className)
location.replace(url);
};
function clearSession() {
sessionStorage.clear();
//清理菜单记录
/*sessionStorage.setItem("m1", '');
sessionStorage.setItem("m2", '');
sessionStorage.setItem("m3", '');*/
};
/**
* bootstrapTable 调整初始化显示
* */
function adjustBootstrapTableView(id) {
setDataCardView(id);
//$(".bs-checkbox").css({'text-align':'center','vertical-align':'middle'})
$("#" + id).find('input[type="checkbox"]').iCheck({
checkboxClass: 'icheckbox_flat-blue',
radioClass: 'iradio_flat-blue'
//长岗专用
/*checkboxClass: 'icheckbox_square-blue',
radioClass: 'iradio_square-blue',*/
});
//操作
var checkAll = $("#" + id + " input[name='btSelectAll']"); //全选的input
var checkboxs = $("#" + id + " input[name='btSelectItem']"); //所有单选的input
checkAll.on('ifChecked ifUnchecked', function (event) {
if (event.type == 'ifChecked') {
checkboxs.iCheck('check');
} else {
checkboxs.iCheck('uncheck');
}
});
checkboxs.on('ifChecked ifUnchecked', function (event) { //ifCreated 事件应该在插件初始化之前绑定
var index = $(this).parents('tr').attr("data-index");
if (event.type == 'ifChecked') {
$("#" + id).bootstrapTable('check', index);
} else {
$("#" + id).bootstrapTable('uncheck', index);
}
});
checkboxs.on('ifChanged', function (event) {
if (checkboxs.filter(':checked').length == checkboxs.length) {
checkAll.prop('checked', true);
} else {
checkAll.prop('checked', false);
}
checkAll.iCheck('update');
});
$(".bs-checkbox").css({'text-align': 'center', 'vertical-align': 'middle'})
}
/**
* bootstrapTable封装好的视图切换方法
* */
function setDataCardView(id) {
var options = $("#" + id).bootstrapTable('getOptions');
if ($(window).width() < 768) {
if (options.cardView === false) {
$("#" + id).bootstrapTable('toggleView');
}
} else {
if (options.cardView === true) {
$("#" + id).bootstrapTable('toggleView');
}
}
}
/**
* 依赖于adminLTE
* id存放alert的div
* type为提醒类型 d-danger i-info w-warning s-success
* text 提醒内容
*
* */
function showAlert(type, text, id) {
if (id == null || id == "") id = 'alertDiv';
var ht = "";
switch (type) {
case 'd':
ht = '' +
'' +
'
' + text + '
' +
'';
break;
case 'i':
ht = '' +
'' +
'
' + text + '
' +
'';
break;
case 'w':
ht = '' +
'' +
'
' + text + '
' +
'';
break;
case 's':
ht = '' +
'' +
'
' + text + '
' +
'';
break;
default:
ht = '' +
'' +
'
' + text + '
' +
'';
}
$('#' + id).html(ht);
setTimeout(function () {
$('#' + id).empty();
}, 3000);
var $objTr = $("#" + id); //找到要定位的地方
var objTr = $objTr[0]; //转化为dom对象
$objTr.parents('.modal').animate({scrollTop: objTr.offsetTop}, "fast");
}
/**
* 打开modal
*
* */
function openModal(modalId) {
$('#' + modalId).modal({
backdrop: 'static',
keyboard: false
});
//同一个modal可能在一个页面多个地方调用,所以要清空之前的
$('#' + modalId).on("hidden.bs.modal", function () {
$(this).removeData("bs.modal");
//modal重复打开会导致前面的滚动条失去作用
$('.modal').css("overflow", "auto");
});
$('#' + modalId).on('shown.bs.modal', function () {
// 执行一些动作...
//将多次弹出的modal窗口关闭
var modalDom = $('body').children('#' + modalId);
//console.info($(modalDom).length);
if (modalDom.length > 0) {
$(modalDom).remove();
for (var i = 0; i < modalDom.length; i++) {
$('body').children('.modal-backdrop').first().remove();
}
}
})
};
/**
* 关闭modal
*
* */
function closeModal(modalId) {
$('#' + modalId).modal("hide");
};
var mySkins = [
'skin-blue',
'skin-black',
'skin-red',
'skin-yellow',
'skin-purple',
'skin-green',
'skin-blue-light',
'skin-black-light',
'skin-red-light',
'skin-yellow-light',
'skin-purple-light',
'skin-green-light',
'skin-app-style'
];
var myBgs = [
'bg-light-blue',
'bg-black',
'bg-red',
'bg-yellow',
'bg-purple',
'bg-green',
'bg-light-blue',
'bg-black',
'bg-red',
'bg-yellow',
'bg-purple',
'bg-green'
];
/**
* 设置某一行背景色
* */
function markRow(tableId, id) {
var rows = $("#" + tableId).bootstrapTable('getData');
//con
$.each(rows, function (index, value) {
if (rows[index].id == id) {
$("#" + tableId).find("tr").each(function () {
var area = $(this).attr("data-index");
//console.info(area)
if (area == index) {
var bodyClass = $("body").attr("class");
var bgClass = myBgs[0];
$.each(myBgs, function (index_, value_) {
if (bodyClass.indexOf(value_.substring(2, value_.length)) != -1) {
bgClass = myBgs[index_];
}
});
$(this).addClass(bgClass);
//$(this).css("background-color","#00c0ef");//将指定行背景设置为浅绿色
$('#' + tableId + ' tbody').find("tr").first().before(this);
}
});
}
})
}
var defaultThemeCls = "skin-blue";
function changeSkin(cls) {
$.each(mySkins, function (i) {
$('body').removeClass(mySkins[i])
})
$('body').addClass(cls)
//store('skin', cls)
//return false
}
/**
* 默认
* event阻止冒泡
* */
function stopBubbleDefaultEvent() {
var event = window.event || arguments.callee.caller.arguments[0];
stopBubble(event);
}
/**
* event阻止冒泡
* */
function stopBubble(e) {
//如果提供了事件对象,则这是一个非IE浏览器
if (e && e.stopPropagation) {
e.stopPropagation(); //因此它支持W3C的stopPropagation()方法
} else {
window.event.cancelBubble = true; //否则,我们需要使用IE的方式来取消事件冒泡
}
}
/**
* 通用的打开下载对话框方法,没有测试过具体兼容性
* @param url 下载地址,也可以是一个blob对象,必选
* @param saveName 保存文件名,可选
*/
function openDownloadDialog(url, saveName) {
if (typeof url == 'object' && url instanceof Blob) {
url = URL.createObjectURL(url); // 创建blob地址
}
var aLink = document.createElement('a');
aLink.href = url;
aLink.download = saveName || ''; // HTML5新增的属性,指定保存文件名,可以不要后缀,注意,file:///模式下不会生效
var event;
if (window.MouseEvent) event = new MouseEvent('click');
else {
event = document.createEvent('MouseEvents');
event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
}
aLink.dispatchEvent(event);
}
/**
* 获取pdf链接
* @param htmlStr html页面字符结果
* */
var doExportPDF = function (htmlStr) {
$.post(ext.contextPath + '/base/getPDFUrl.do', {htmlStr: htmlStr}, function (data) {
openDownloadDialog(ext.basePath.replace(ext.contextPath, "") + "/" + data.res, "");
}, 'json');
}
/**
* 适配select2到表单
*/
var fixSelect2ToForm = function (id) {
$("#" + id).next().css({'height': '34px', 'line-height': '34px'});
$("#" + id).next().find(".select2-selection--single ").css({'height': '34px', 'line-height': '34px'});
$("#" + id).next().find(".select2-selection__arrow ").css({'margin-top': '3px'});
}
/**
* 适配select2到工具栏
*/
var fixSelect2ToTool = function (id) {
$("#" + id).next().find(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
}
/**
* 巡检记录颜色标注集合
*/
var myColors = [
'#00c0ef',
'#0073b7',
'#3c8dbc',
'#39cccc',
'#f39c12',
'#ff851b',
'#00a65a',
'#01ff70',
'#dd4b39',
'#605ca8'
];
/**
* 水球图形状
*/
var bucketPath = 'path://M209.09,56.997c-0.034-16.849-42.416-30.501-94.707-30.501c-52.291,0-94.662,13.652-94.697,30.501l-0.001,0v165.872c0,22.25,42.398,40.3,94.688,40.3c52.31,0,94.718-18.05,94.718-40.3L209.09,56.997L209.09,56.997z';
$(function () {
//initBody();
getMenuInfo();
$("#menu_search_form").attr("onsubmit", "return false;");
$("#searchForm").attr("onsubmit", "return false;");
$("#search_name").keyup(function () {
if (event.keyCode == 13) {
event.preventDefault();
//回车执行查询
dosearch();
event.stopPropagation();
}
});
$("#search_name_menu").keyup(function () {
if (event.keyCode == 13) {
event.preventDefault();
//回车执行查询
searchMenu();
event.stopPropagation();
}
});
//FastClick.attach(document.body);
//弹窗关闭触发方法
/*$(".modal").on("hidden.bs.modal", function() {
$('.modal').css("overflow","auto");
});*/
});
/**
* 判断浏览器为手机端登录还是PC端,true为PC端,false为手机端
* @returns {Boolean}
*/
function IsPC() {
var userAgentInfo = navigator.userAgent;
var Agents = ["Android", "iPhone",
"SymbianOS", "Windows Phone",
"iPad", "iPod"];
var flag = true;
for (var v = 0; v < Agents.length; v++) {
if (userAgentInfo.indexOf(Agents[v]) > 0) {
flag = false;
break;
}
}
return flag;
}
/**
* 判断是否为APP进入网页,true为是,flase为否
* @returns {Boolean}
*/
function IsApp() {
var u = navigator.userAgent;
var flag = false;
var Agents = ["Android", "iPhone",
"SymbianOS", "Windows Phone",
"iPad", "iPod"];
for (var v = 0; v < Agents.length; v++) {
if (u.indexOf('iPhone') > -1 && u.indexOf('Safari') < 0) {
flag = true;
break;
} else if (u.indexOf('Android') > -1 && u.indexOf('wv') > -1) {
flag = true;
break;
} else {
}
}
//alert(flag);
return flag;
}
//限制输入内容为数字(小数)
function LimitNumber(num) {
num.value = num.value.replace(/[^\d^\.]+/g, '');
}
//ie添加Array.from方法
if (!Array.from) {
Array.from = (function () {
var toStr = Object.prototype.toString;
var isCallable = function (fn) {
return typeof fn === 'function' || toStr.call(fn) === '[object Function]';
};
var toInteger = function (value) {
var number = Number(value);
if (isNaN(number)) {
return 0;
}
if (number === 0 || !isFinite(number)) {
return number;
}
return (number > 0 ? 1 : -1) * Math.floor(Math.abs(number));
};
var maxSafeInteger = Math.pow(2, 53) - 1;
var toLength = function (value) {
var len = toInteger(value);
return Math.min(Math.max(len, 0), maxSafeInteger);
};
// The length property of the from method is 1.
return function from(arrayLike/*, mapFn, thisArg */) {
// 1. Let C be the this value.
var C = this;
// 2. Let items be ToObject(arrayLike).
var items = Object(arrayLike);
// 3. ReturnIfAbrupt(items).
if (arrayLike == null) {
throw new TypeError("Array.from requires an array-like object - not null or undefined");
}
// 4. If mapfn is undefined, then let mapping be false.
var mapFn = arguments.length > 1 ? arguments[1] : void undefined;
var T;
if (typeof mapFn !== 'undefined') {
// 5. else
// 5. a If IsCallable(mapfn) is false, throw a TypeError exception.
if (!isCallable(mapFn)) {
throw new TypeError('Array.from: when provided, the second argument must be a function');
}
// 5. b. If thisArg was supplied, let T be thisArg; else let T be undefined.
if (arguments.length > 2) {
T = arguments[2];
}
}
// 10. Let lenValue be Get(items, "length").
// 11. Let len be ToLength(lenValue).
var len = toLength(items.length);
// 13. If IsConstructor(C) is true, then
// 13. a. Let A be the result of calling the [[Construct]] internal method
// of C with an argument list containing the single item len.
// 14. a. Else, Let A be ArrayCreate(len).
var A = isCallable(C) ? Object(new C(len)) : new Array(len);
// 16. Let k be 0.
var k = 0;
// 17. Repeat, while k < len… (also steps a - h)
var kValue;
while (k < len) {
kValue = items[k];
if (mapFn) {
A[k] = typeof T === 'undefined' ? mapFn(kValue, k) : mapFn.call(T, kValue, k);
} else {
A[k] = kValue;
}
k += 1;
}
// 18. Let putStatus be Put(A, "length", len, true).
A.length = len;
// 20. Return A.
return A;
};
}());
}
//添加千分位符合
function toThousands(num) {
var nums = num;
var re = /\d{1,3}(?=(\d{3})+$)/g;
var n1 = 0;
if (nums != null && nums != '' && nums != undefined) {
n1 = nums.toString().replace(/^(\d+)((\.\d+)?)$/, function (s, s1, s2) {
return s1.replace(re, "$&,") + s2;
});
}
return n1;
/*var num = (num || 0).toString(), result = '';
while (num.length > 3) {
result = ',' + num.slice(-3) + result;
num = num.slice(0, num.length - 3);
}
if (num) { result = num + result; }
return result;*/
}
//验证是否为数字
function isNumber(value) {
var patrn = /^(-)?\d+(\.\d+)?$/;
if (patrn.exec(value) == null || value == "") {
return false
} else {
return true
}
}
/*
功能:datepicker时间控件时间段选择初始化
参数:beginSelector:开始时间input的id;endSelector:结束时间input的id,
说明:1.时间格式:yyyy-mm-dd
*/
function DatePicker(beginSelector, endSelector) {
//开始时间
$(beginSelector).datepicker({
todayBtn: "linked",
autoclose: true,
todayHighlight: true,
endDate: new Date(),
format: 'yyyy-mm-dd',
language: 'zh-CN'
}).on('changeDate', function (e) {
var startTime = e.date;
$(endSelector).datepicker('setStartDate', startTime);
});
//结束时间
$(endSelector).datepicker({
todayBtn: "linked",
autoclose: true,
todayHighlight: true,
endDate: new Date(),
format: 'yyyy-mm-dd',
language: 'zh-CN'
}).on('changeDate', function (e) {
var endTime = e.date;
$(beginSelector).datepicker('setEndDate', endTime);
});
}
function DatePickerNotNow(beginSelector, endSelector) {
//开始时间
$(beginSelector).datepicker({
todayBtn: "linked",
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
language: 'zh-CN'
}).on('changeDate', function (e) {
var startTime = e.date;
$(endSelector).datepicker('setStartDate', startTime);
});
//结束时间
$(endSelector).datepicker({
todayBtn: "linked",
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
language: 'zh-CN'
}).on('changeDate', function (e) {
var endTime = e.date;
$(beginSelector).datepicker('setEndDate', endTime);
});
}
/*
功能:datepicker时间控件时间段选择初始化
参数:beginSelector:开始时间input的id;endSelector:结束时间input的id,
说明:1.时间格式:yyyy-mm
*/
function DatePickerMonth(beginSelector, endSelector) {
//开始时间
$(beginSelector).datepicker({
todayBtn: "linked",
autoclose: true,
todayHighlight: true,
endDate: new Date(),
startView: 1,//开始显示时间类型 0:天;1:月;2:年;
minViewMode: 1,//最小显示时间类型 0:天;1:月;2:年;
format: 'yyyy-mm',
language: 'zh-CN'
}).on('changeDate', function (e) {
var startTime = e.date;
$(endSelector).datepicker('setStartDate', startTime);
});
//结束时间
$(endSelector).datepicker({
todayBtn: "linked",
autoclose: true,
todayHighlight: true,
endDate: new Date(),
startView: 1,//开始显示时间类型 0:天;1:月;2:年;
minViewMode: 1,//最小显示时间类型 0:天;1:月;2:年;
format: 'yyyy-mm',
language: 'zh-CN'
}).on('changeDate', function (e) {
var endTime = e.date;
$(beginSelector).datepicker('setEndDate', endTime);
});
}
// //时间戳转日期
function getLocalTime2(nS) {
var out = new Date(parseInt(nS) * 1000).toLocaleString().replace(/:\d{1,2}$/, ' ');
// let date = new Date(parseInt(nS) * 1000);
// let year = date.getFullYear();
// let mon = date.getMonth() + 1;
// let day = date.getDate();
// let h = date.getHours();
// let m = date.getDate();
// let s = date.getSeconds();
//
// let out = year + "-" + (mon < 10 ? "0" + mon : mon) + "-" + (day < 10 ? "0" + day : day) + " " + (h < 10 ? "0" + h : h) + ":" + (m < 10 ? "0" + m : m) + ":" + (s < 10 ? "0" + s : s);
return out;
}
function getLocalTime(nS) {
var now = new Date(nS * 1000),
y = now.getFullYear(),
m = ("0" + (now.getMonth() + 1)).slice(-2),
d = ("0" + now.getDate()).slice(-2);
return '${y}-${m}-${d} ${now.toTimeString().substr(0, 8)}';
}
function createDatetimepicker(id, type) {
switch (type) {
case "I":
$("#" + id).datetimepicker({
language: 'zh-CN',
format: 'yyyy-mm-dd hh:ii:ss',
startView: "month", //初始化视图
minView: 0,
maxView: "year",
minuteStep: 1,//分钟间隔1分钟
todayBtn: true,
clearBtn: true,
autoclose: true,
todayHighlight: 1,//今天高亮
endDate: new Date(),
}).on('changeDate', function () {
});
break;
case "H":
$("#" + id).datetimepicker({
language: 'zh-CN',
format: 'yyyy-mm-dd hh:ii',
startView: "month", //初始化视图
minView: 1,
maxView: "year",
todayBtn: true,
clearBtn: true,
autoclose: true,
todayHighlight: 1,//今天高亮
endDate: new Date(),
}).on('changeDate', function () {
});
break;
case "D":
$("#" + id).datetimepicker({
language: 'zh-CN',
format: 'yyyy-mm-dd',
startView: "month", //初始化视图
minView: 2,
maxView: "year",
todayBtn: true,
clearBtn: true,
autoclose: true,
todayHighlight: 1,//今天高亮
endDate: new Date(),
}).on('changeDate', function () {
});
break;
case "M":
$("#" + id).datetimepicker({
language: 'zh-CN',
format: 'yyyy-mm',
startView: "year", //初始化视图
minView: 3,
maxView: "year",
todayBtn: true,
clearBtn: true,
autoclose: true,
todayHighlight: 1,//今天高亮
endDate: new Date(),
}).on('changeDate', function () {
});
break;
case "Y":
$("#" + id).datetimepicker({
language: 'zh-CN',
format: 'yyyy',
startView: "decade", //初始化视图
minView: 4,
maxView: "year",
todayBtn: true,
clearBtn: true,
autoclose: true,
todayHighlight: 1,//今天高亮
endDate: new Date(),
}).on('changeDate', function () {
});
break;
default:
$("#" + id).datetimepicker({
language: 'zh-CN',
format: 'yyyy-mm-dd hh:ii:ss',
startView: "month", //初始化视图
minView: 0,
maxView: "year",
minuteStep: 1,//分钟间隔1分钟
todayBtn: true,
clearBtn: true,
autoclose: true,
todayHighlight: 1,//今天高亮
endDate: new Date(),
}).on('changeDate', function () {
});
}
}
/* 功能:DateTimePicker时间控件时间段选择初始化
参数:beginSelector:开始时间input的id;endSelector:结束时间input的id,type:时间类型
说明:1.时间格式:•yyyy-mm-dd hh:ii
*/
function createDatetimepickerTwo(beginSelector, endSelector, type) {
switch (type) {
case "I":
//开始时间
$("#" + beginSelector).datetimepicker({
todayBtn: true,
clearBtn: true,
autoclose: true,
todayHighlight: 1,//今天高亮
endDate: new Date(),
minuteStep: 5, //分钟间隔为5分
format: 'yyyy-mm-dd hh:ii:ss',
startView: "month", //初始化视图
minView: 0,
maxView: "year",
language: 'zh-CN'
}).on('changeDate', function (ev) {
$("#" + endSelector).datetimepicker('setStartDate', $("#" + beginSelector).val())
});
//结束时间
$("#" + endSelector).datetimepicker({
todayBtn: true,
clearBtn: true,
autoclose: true,
todayHighlight: 1,//今天高亮
endDate: new Date(),
minuteStep: 5, //分钟间隔为5分
format: 'yyyy-mm-dd hh:ii:ss',
startView: "month", //初始化视图
minView: 0,
maxView: "year",
language: 'zh-CN'
}).on('changeDate', function (ev) {
$("#" + beginSelector).datetimepicker('setEndDate', $("#" + endSelector).val())
});
break;
case "H":
//开始时间
$("#" + beginSelector).datetimepicker({
todayBtn: true,
clearBtn: true,
autoclose: true,
todayHighlight: 1,//今天高亮
endDate: new Date(),
minuteStep: 5, //分钟间隔为5分
format: 'yyyy-mm-dd hh:ii',
startView: "month", //初始化视图
minView: 1,
maxView: "year",
language: 'zh-CN'
}).on('changeDate', function (ev) {
$("#" + endSelector).datetimepicker('setStartDate', $("#" + beginSelector).val())
});
//结束时间
$("#" + endSelector).datetimepicker({
todayBtn: true,
clearBtn: true,
autoclose: true,
todayHighlight: 1,//今天高亮
endDate: new Date(),
minuteStep: 5, //分钟间隔为5分
format: 'yyyy-mm-dd hh:ii',
startView: "month", //初始化视图
minView: 1,
maxView: "year",
language: 'zh-CN'
}).on('changeDate', function (ev) {
$("#" + beginSelector).datetimepicker('setEndDate', $("#" + endSelector).val())
});
break;
case "D":
//开始时间
$("#" + beginSelector).datetimepicker({
todayBtn: true,
clearBtn: true,
autoclose: true,
todayHighlight: 1,//今天高亮
endDate: new Date(),
minuteStep: 5, //分钟间隔为5分
format: 'yyyy-mm-dd',
startView: "month", //初始化视图
minView: 2,
maxView: "year",
language: 'zh-CN'
}).on('changeDate', function (ev) {
$("#" + endSelector).datetimepicker('setStartDate', $("#" + beginSelector).val())
});
//结束时间
$("#" + endSelector).datetimepicker({
todayBtn: true,
clearBtn: true,
autoclose: true,
todayHighlight: 1,//今天高亮
endDate: new Date(),
minuteStep: 5, //分钟间隔为5分
format: 'yyyy-mm-dd',
startView: "month", //初始化视图
minView: 2,
maxView: "year",
language: 'zh-CN'
}).on('changeDate', function (ev) {
$("#" + beginSelector).datetimepicker('setEndDate', $("#" + endSelector).val())
});
break;
case "M":
//开始时间
$("#" + beginSelector).datetimepicker({
todayBtn: true,
clearBtn: true,
autoclose: true,
todayHighlight: 1,//今天高亮
endDate: new Date(),
minuteStep: 5, //分钟间隔为5分
format: 'yyyy-mm',
startView: "year", //初始化视图
minView: 3,
maxView: "year",
language: 'zh-CN'
}).on('changeDate', function (ev) {
$("#" + endSelector).datetimepicker('setStartDate', $("#" + beginSelector).val())
});
//结束时间
$("#" + endSelector).datetimepicker({
todayBtn: true,
clearBtn: true,
autoclose: true,
todayHighlight: 1,//今天高亮
endDate: new Date(),
minuteStep: 5, //分钟间隔为5分
format: 'yyyy-mm',
startView: "year", //初始化视图
minView: 3,
maxView: "year",
language: 'zh-CN'
}).on('changeDate', function (ev) {
$("#" + beginSelector).datetimepicker('setEndDate', $("#" + endSelector).val())
});
break;
case "Y":
//开始时间
$("#" + beginSelector).datetimepicker({
todayBtn: true,
clearBtn: true,
autoclose: true,
todayHighlight: 1,//今天高亮
endDate: new Date(),
minuteStep: 5, //分钟间隔为5分
format: 'yyyy',
startView: "decade", //初始化视图
minView: 4,
maxView: "year",
language: 'zh-CN'
}).on('changeDate', function (ev) {
$("#" + endSelector).datetimepicker('setStartDate', $("#" + beginSelector).val())
});
//结束时间
$("#" + endSelector).datetimepicker({
todayBtn: true,
clearBtn: true,
autoclose: true,
todayHighlight: 1,//今天高亮
endDate: new Date(),
minuteStep: 5, //分钟间隔为5分
format: 'yyyy',
startView: "decade", //初始化视图
minView: 4,
maxView: "year",
language: 'zh-CN'
}).on('changeDate', function (ev) {
$("#" + beginSelector).datetimepicker('setEndDate', $("#" + endSelector).val())
});
break;
default:
//开始时间
$("#" + beginSelector).datetimepicker({
todayBtn: true,
clearBtn: true,
autoclose: true,
todayHighlight: 1,//今天高亮
endDate: new Date(),
minuteStep: 5, //分钟间隔为5分
format: 'yyyy-mm-dd hh:ii:ss',
startView: "month", //初始化视图
minView: 0,
maxView: "year",
language: 'zh-CN'
}).on('changeDate', function (ev) {
$("#" + endSelector).datetimepicker('setStartDate', $("#" + beginSelector).val())
});
//结束时间
$("#" + endSelector).datetimepicker({
todayBtn: true,
clearBtn: true,
autoclose: true,
todayHighlight: 1,//今天高亮
endDate: new Date(),
minuteStep: 5, //分钟间隔为5分
format: 'yyyy-mm-dd hh:ii:ss',
startView: "month", //初始化视图
minView: 0,
maxView: "year",
language: 'zh-CN'
}).on('changeDate', function (ev) {
$("#" + beginSelector).datetimepicker('setEndDate', $("#" + endSelector).val())
});
}
}
//获取当月最后一天
function getMonthMaxDay(input) {
// const input = "2020-06"
const arr = input.split('-');
const maxDay = new Date(arr[0], arr[1], 0).getDate(); // 获取当月最后一日
return maxDay;
}