DS7/DSWeb/js/popAnnounce.js

271 lines
9.5 KiB
JavaScript

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

var MSG1;
var sdescription;
function CLASS_MSN_MESSAGE_A(id,width,height,caption,title,message,action)
{
//frameObj.openPop("公告("+messageCountObj.totals[0].total+")",messageCountObj.totals[0].description,messageCountObj.totals[0].total,newUrl);
//content,readCount,total,url
//MSG1 = new CLASS_MSN_MESSAGE_A("aa",200,120,"系统消息提示:","有"+readCount+"封公告信息",content,url);
this.id = id;
this.title = title;
this.caption= caption;
this.message= message;
//this.target = target;
this.action = action;
this.width = width?width:400;
this.height = height?height:250;
this.timeout= 150;
this.speed = 20;
this.step = 1;
this.right = screen.width -1;
this.bottom = screen.height;
this.left = this.right - this.width;
this.top = this.bottom - this.height;
this.timer = 0;
this.pause = false;
this.close = false;
this.autoHide = true;
}
/**//*
* 隐藏消息方法
*/
CLASS_MSN_MESSAGE_A.prototype.hide = function()
{
if(this.onunload()){
var offset = this.height>this.bottom-this.top?this.height:this.bottom-this.top;
var me = this;
if(this.timer>0){
window.clearInterval(me.timer);
}
var fun = function()
{
//if(me.pause==false||me.close)
if(me.close)
{
var x = me.left;
var y = 0;
var width = me.width;
var height = 0;
if(me.offset>0){
height = me.offset;
}
y = me.bottom - height;
if(y>=me.bottom){
window.clearInterval(me.timer);
me.Pop.hide();
} else {
me.offset = me.offset - me.step;
}
me.Pop.show(x,y,width,height);
}
}
this.timer = window.setInterval(fun,this.speed)
}
}
/**//*
* 消息卸载事件,可以重写
*/
CLASS_MSN_MESSAGE_A.prototype.onunload = function() {
return true;
}
/**//*
* 消息命令事件,要实现自己的连接,请重写它
*
*/
CLASS_MSN_MESSAGE_A.prototype.oncommand = function(){
//this.close = true;
//this.hide();
//parent.document.getElementById("iFrameH").contentWindow.location = this.action;
//如果已打开
var url3 = "../Message/SysAnnounceClientGridSource.aspx?handle=isclose&uid="+newGuid();
//alert(url3);
var loader3 = dhtmlxAjax.getSync(url3);
var strISDELETE = loader3.xmlDoc.responseText;
//
window.open(this.action,"_blank","height=500, width=850, center:yes,help:no,toolbar=no,menubar=no,scrollbars=no,resizable=0,location=no,status=no");
}
/**//*
* 消息显示方法
*/
CLASS_MSN_MESSAGE_A.prototype.show = function(){
var oPopup = window.createPopup(); //IE5.5+
this.Pop = oPopup;
var w = this.width;
var h = this.height;
var str = "<DIV style='BORDER-RIGHT: #455690 1px solid; BORDER-TOP: #a6b4cf 1px solid; Z-INDEX: 99999; LEFT: 0px; BORDER-LEFT: #a6b4cf 1px solid; WIDTH: " + w + "px; BORDER-BOTTOM: #455690 1px solid; POSITION: absolute; TOP: 0px; HEIGHT: " + h + "px; BACKGROUND-COLOR: #c9d3f3'>"
str += "<TABLE style='BORDER-TOP: #ffffff 1px solid; BORDER-LEFT: #ffffff 1px solid' cellSpacing=0 cellPadding=0 width='100%' bgColor=#cfdef4 border=0>"
str += "<TR>"
str += "<TD style='FONT-SIZE: 12px;COLOR: #0f2c8c' width=30 height=24></TD>"
str += "<TD style='PADDING-LEFT: 4px; FONT-WEIGHT: normal; FONT-SIZE: 12px; COLOR: #1f336b; PADDING-TOP: 4px' vAlign=center width='100%'>" + this.caption + "</TD>"
str += "<TD style='PADDING-RIGHT: 2px; PADDING-TOP: 2px' vAlign=center align=right width=19>"
str += "<SPAN title=关闭 style='FONT-WEIGHT: bold; FONT-SIZE: 12px; CURSOR: hand; COLOR: red; MARGIN-RIGHT: 4px' id='btSysClose' >×</SPAN></TD>"
str += "</TR>"
str += "<TR>"
str += "<TD style='PADDING-RIGHT: 1px;PADDING-BOTTOM: 1px' colSpan=3 height=" + (h-28) + ">"
str += "<DIV style='BORDER-RIGHT: #b9c9ef 1px solid; PADDING-RIGHT: 8px; BORDER-TOP: #728eb8 1px solid; PADDING-LEFT: 8px; FONT-SIZE: 12px; PADDING-BOTTOM: 8px; BORDER-LEFT: #728eb8 1px solid; WIDTH: 100%; COLOR: #1f336b; PADDING-TOP: 8px; BORDER-BOTTOM: #b9c9ef 1px solid; HEIGHT: 100%'>" + this.title// + "<BR><BR>"
//
str+="<table style='FONT-SIZE:12px;'><tr><td style='width:250px;'><DIV style='WORD-BREAK: break-all; height:20px;' align=left><FONT color=#1f336b>标题</FONT></DIV></td><td><DIV style='WORD-BREAK: break-all; height:20px;' align=left><FONT color=#1f336b>发布日期</FONT></DIV></td></tr>"
//
if(this.message.totals[0].total != 0)
{
for (var i = 0; i < this.message.totals[0].total; i++)
{
sdescription=GetTitle(this.message.totals[i].description,17);
str += "<tr><td><DIV style='WORD-BREAK: break-all; height:20px;' align=left><A href='"+this.action+"?id="+this.message.totals[i].gid+"&handle=getmessageinfo' target='_blank' hidefocus=false id='btCommand"+i+"'><FONT color=#ff0000>" + sdescription + "</FONT></DIV></td><td><DIV style='WORD-BREAK: break-all; height:20px;' align=left><FONT color=#ff0000>" + this.message.totals[i].begintime + "</FONT></A><A href=\""+this.action+"?id="+this.message.totals[i].gid+"&handle=getmessageinfo\" target='_blank' hidefocus=false id='ommand"+i+"' style=\"display:none\"><FONT color=#ff0000>查看</FONT></A></DIV></td></tr>"
}
}
str += "</DIV>"
str += "</TD>"
str += "</TR>"
str += "</TABLE>"
str += "</DIV>"
oPopup.document.body.innerHTML = str;
this.offset = 0;
var me = this;
oPopup.document.body.onmouseover = function(){me.pause=true;}
oPopup.document.body.onmouseout = function(){me.pause=false;}
var fun = function(){
var x = me.left;
var y = 0;
var width = me.width;
var height = me.height;
if(me.offset>me.height){
height = me.height;
} else {
height = me.offset;
}
y = me.bottom - me.offset;
if(y<=me.top){
me.timeout--;
if(me.timeout==0){
window.clearInterval(me.timer);
if(me.autoHide){
me.hide();
}
}
} else {
me.offset = me.offset + me.step;
}
me.Pop.show(x,y,width,height);
}
this.timer = window.setInterval(fun,this.speed)
var btClose = oPopup.document.getElementById("btSysClose");
btClose.onclick = function()
{
//如果已关闭
var url2 = "../Message/SysAnnounceClientGridSource.aspx?handle=isclose&uid="+newGuid();
//alert(url2);
var loader2 = dhtmlxAjax.getSync(url2);
var strISDELETE = loader2.xmlDoc.responseText;
if(strISDELETE!="")
{
var iat=0;
}
//
me.close = true;
me.hide();
}
if(this.message.totals[0].total != 0)
{
for (var i = 0; i < this.message.totals[0].total; i++)
{
var btCommand = oPopup.document.getElementById("btCommand"+i);
btCommand.onclick = function()
{
me.oncommand();
}
var ommand = oPopup.document.getElementById("ommand"+i);
ommand.onclick = function()
{
//this.close = true;
me.hide();
window.open(ommand.href);
}
}
}
}
/**//*
** 设置速度方法
**/
CLASS_MSN_MESSAGE_A.prototype.speed = function(s){
var t = 20;
try {
t = praseInt(s);
} catch(e){}
this.speed = t;
}
/**//*
** 设置步长方法
**/
CLASS_MSN_MESSAGE_A.prototype.step = function(s){
var t = 1;
try {
t = praseInt(s);
} catch(e){}
this.step = t;
}
CLASS_MSN_MESSAGE_A.prototype.rect = function(left,right,top,bottom){
try {
this.left = left !=null?left:this.right-this.width;
this.right = right !=null?right:this.left +this.width;
this.bottom = bottom!=null?(bottom>screen.height?screen.height:bottom):screen.height;
this.top = top !=null?top:this.bottom - this.height;
} catch(e){}
}
function openPopA(content,readCount,total,url)
{
//frameObj.openPop("公告("+messageCountObj.totals[0].total+")",messageCountObj.totals[0].description,messageCountObj.totals[0].total,newUrl);
MSG1 = new CLASS_MSN_MESSAGE_A("aa",400,250,"系统消息提示:有"+total+"封新公告","",readCount,url);
MSG1.rect(null,null,null,screen.height-50);
MSG1.speed = 10;
MSG1.step = 5;
MSG1.show();
}
//获取GUID
function newGuid()
{
var guid = "";
for (var i = 1; i <= 32; i++){
var n = Math.floor(Math.random()*16.0).toString(16);
guid += n;
if((i==8)||(i==12)||(i==16)||(i==20))
guid += "-";
}
return guid.toUpperCase();
}
function GetTitle(o,num)
{
var str = o.toString();
if (str.length > num)
{
str = str.substr(0, num) + "...";
}
return str;
}