81,091
社区成员
发帖
与我相关
我的任务
分享
<%@ page language="java" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<script type="text/javascript" src="<%=basePath%>scroll/jquery.js"></script>
<script type="text/javascript" src="<%=basePath%>scroll/ui.core.js"></script>
<script type="text/javascript" src="<%=basePath%>scroll/jquery.scroll-follow.js"></script>
<script type="text/javascript">
$( document ).ready( function ()
{
$( '#scroll' ).scrollFollow();
}
);
</script>
<style type="text/css">
body {
margin: 0;
padding: 0;
height: 2000px;
font-family: Georgia;
font-size: 0.9em;
line-height: 1.4em;
}
#example {
position: relative;
width: 180px;
margin: 10px;
padding: 20px;
background: #eee url(/images/sfbgTile.png);
border: 2px solid #42CBDC;
}
p {
margin: 7px 0 0 0;
}
</style>
</head>
<script>
var win=null;
</script>
<style>
body{
height:100%;
width:100%;
}
.signal_img{
position: absolute;
right: 30px;
top: 20px;
}
*{
font-family: 微软雅黑,Lucida Grande, Lucida Sans, Arial, sans-serif;
font-size: 13px;
}
</style>
<body scroll="no" onload="win=buildSquareWin()">
<div id='tip' ></div>
</body>
</html>
Ext.QuickTips.init();
var toolTip;
function createColorDiv(agent_id, app_id, resultState) {
var strArr = []
if (resultState == 1) {
strArr.push("<div style='cursor:pointer' onclick='createWin(");
strArr.push(agent_id + "," + app_id);
strArr.push(",event)' class=greenDiv></div>");
} else if (resultState <= 4) {
strArr.push("<div style='cursor:pointer' onclick='createWin(");
strArr.push(agent_id + "," + app_id);
strArr.push(",event)' class=redDiv></div>");
} else {
strArr.push("<div class=grayDiv></div>");
}
return strArr.join("");
}
var testState = [{
value : 0,
text : "全部"
}, {
value : 1,
text : "正常"
}, {
value : 2,
text : "告警"
}, {
value : 3,
text : "未测试"
}];
function buildSquareWin() {
var win = new Ext.Panel({
id : 'SquareWin',
frame : false,
renderTo : Ext.getBody(),
autoScroll : false,
border : false,
height : document.body.clientHeight,
// bodyStyle:'height:100%',
// style:'height:100%',
// minHeight:document.body.clientHeight,
layout : 'fit',
tbar : [' ', ' ', ' ', ' ', {
xtype : "tbtext",
text : "探头过滤:"
}, new Ext.form.ComboBox({
store : new Ext.data.JsonStore({
fields : ["value", "text"],
data : [{
value : 0,
text : "全部探针"
}, {
value : 1,
text : "在线探针"
}, {
value : 2,
text : "离线探针"
}]
}),
id : "agentOnline",
valueField : 'value',
displayField : "text",
mode : 'local',
triggerAction : 'all',
editable : false,
width : 130,
value : 0,
listeners : {
"select" : function() {
loadData();
}
}
}), ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
' ', new Ext.form.ComboBox({
store : new Ext.data.JsonStore({
fields : ["value", "text"],
data : testState
}),
valueField : 'value',
id : "agentTestState",
displayField : "text",
mode : 'local',
triggerAction : 'all',
editable : false,
width : 100,
value : 0,
listeners : {
"select" : function() {
loadData();
}
}
}), ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
' ', ' ', {
xtype : "tbtext",
text : "应用过滤:"
}, new Ext.form.ComboBox({
fieldLabel : '',
store : new Ext.data.JsonStore({
fields : ["value", "text"],
data : testState
}),
valueField : 'value',
displayField : "text",
id : "appTestState",
mode : 'local',
triggerAction : 'all',
editable : false,
labelWidth : 60,
width : 150,
value : 0,
listeners : {
"select" : function() {
loadData();
}
}
}), "->",
' ', {
iconCls : 'test_alarm'
}, {
xtype : "tbtext",
text : "告警中"
}, {
iconCls : 'test_ok'
}, {
xtype : "tbtext",
text : '测试成功'
},' ', {
iconCls : 'notest'
}, {
xtype : "tbtext",
text : "未测试"
}, ' ', ' ', ' ', ' '],
items : [{
// style:'width:110%;height:100%;',
bodyStyle : 'width:110%;height:100%;',
width : document.body.clientWidth,
height : document.body.clientHeight,
autoScroll : true,
border : false,
html : "<div id='SquareDiv'></div>"
}],
listeners : {
afterrender : function() {
loadData();
// alert(this.items.getAt(0).title);
// viewport.setHeight(viewport.getHeight()-10);
// viewport.doLayout();
}
}
});
return win;
}
var CacheMap = [];
function loadData() {
Ext.Ajax.request({
url : "buildSquare.action",
params : {
"agentTestState" : Ext.getCmp("agentTestState").getValue(),
"agentOnline" : Ext.getCmp("agentOnline").getValue(),
"appTestState" : Ext.getCmp("appTestState").getValue()
},
success : function(response, option) {
var apps = Ext.decode(response.responseText).apps;
var avs = Ext.decode(response.responseText).avs;// 探头的个数
create(avs, apps);
},
failer : function() {
}
});
}
// 创建柜阵列头
function createHead(apps) {
var strArr = [];
strArr
.push("<div id='scroll'><tr><th class='scrollRowThead scrollCR title2' nowrap>测试探针</th>");
for (i = 0; i < apps.length; i++) {
strArr.push("<th class='title2' nowrap>");
strArr.push(apps[i].name);
strArr.push("</th>");
}
strArr.push("</tr></div>");
return strArr.join("");
}
// 创建列
function createCol(agentview, apps, cls) {
var strArr = [];
if (agentview.name) {
strArr.push("<tr class='treetr '><td class='scrollRowThead'> ");
strArr.push(agentview.name);
strArr.push("</td>");
for (var i = 0; i < apps.length; i++) {
strArr.push("<td></td>");
}
strArr.push("</tr>")
return strArr.join("");
} else {
var src = "";
if (agentview.state == 7) {
src = "../images/min_ap_change.png";
} else if (agentview.state == 4) {
src = "../images/mix_offline.png";
} else if (agentview.state == 1)// 正常
{
src = "../images/mix_ok.png";
} else if (agentview.state == 2 || agentview.state == 3)// 4正在告警
{
src = "../images/mix_alarm.png";
} else {
// src = "../images/mix_yellow.png";
src = "../images/mix_offline.png";
}
strArr
.push("<tr><td class='scrollRowThead captionvalue' nowrap><div style='cursor:pointer;display:inline;' onclick='showAgentMsg(");
strArr.push(agentview.agent.id);
strArr.push(")' ><image src='")
strArr.push(src)
strArr.push("' />")
strArr.push(agentview.agent.location);
strArr.push("</div></td>")
if (agentview.appTestState != null) {
for (var j = 0; j < apps.length; j++) {
var stat = getTesultResult(apps[j].id, agentview.appTestState);
strArr.push("<td align='center' class=");
strArr.push(cls);
strArr.push(">");
strArr
.push(createColorDiv(agentview.agent.id, apps[j].id,
stat));
strArr.push("</td>");
}
} else {
for (var i = 0; i < apps.length; i++) {
strArr.push("<td align='center' class=");
strArr.push(cls);
strArr.push(">");
strArr.push(createColorDiv(0, 0, 5));
strArr.push("</td>");
}
}
strArr.push("</tr>");
return strArr.join("");
}
}
function create(avs, apps) {
var num = apps.length;
var sb = [];
sb.push(createHead(apps));
var cls = null;
for (var j = 0; j < avs.length; j++) {
cls = (j % 2 == 0) ? "othercolor" : ""
sb.push(createCol(avs[j], apps, cls));
}
var width = 80 * (apps.length + 1);
if (width < document.body.clientWidth) {
width = document.body.clientWidth;
}
var height = document.body.clientHeight - 30;
var width = document.body.clientWidth;
var text = "<div id='scrollDiv' style='width:100%"
// + width
+ "; height:"
+ height
+ ";clear:both;border: 1px solid #EEEEEE;' ><table style='width:100%;height:100%;' class='scrollTable custom_table' cellspacing=0 cellpadding=3 "
+ " >" + sb.join("") + "</table></div>";
document.getElementById("SquareDiv").innerHTML = text
}