344 lines
10 KiB
JavaScript
344 lines
10 KiB
JavaScript
/**
|
||
* 去字符串空格
|
||
*/
|
||
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+="<div id='"+item.id+"'><img src='"+ext.contextPath + "/CSS/ext_icons/attach.png'/> " +
|
||
"<a class='linkbutton' href='"+ext.contextPath + "/base/downloadfile.do?mappernamespace="+mappernamespace+"&id="+item.id+"'>"+item.filename+"</a> "+
|
||
"<a class='linkbutton' style='color:red' href='javascript:new commfile(\""+mappernamespace+"\",\""+id+"\").deletefile(\""+item.id+"\")'>删除</a></div>";
|
||
});
|
||
$('#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;
|
||
}
|
||
|
||
/**
|
||
* @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 = "<div id='loadingDiv' style='position:absolute;top:0;left:0;width:100%;height:"+height+"px;background:#ccc;opacity:0.4;display:none'></div>";
|
||
var tipsDiv = '<div class="tipsClass">' + tips + '</div>';
|
||
$( '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;
|
||
}
|