You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
165 lines
6.6 KiB
165 lines
6.6 KiB
<%@page import="org.wdk.core.util.uString"%>
|
|
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
|
<!DOCTYPE html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<%
|
|
String data = (String)request.getAttribute("data");
|
|
%>
|
|
<title>指标系统报文调试2</title>
|
|
<%@include file="/wdk/theme/je/module/public/common.jsp"%>
|
|
<script type="text/javascript" src="platform/report/js/pf.report.js"></script>
|
|
<script type="text/javascript">
|
|
var _gridid = $.getUUID();
|
|
$(function(){
|
|
<%if(uString.isNotBlank(data)){%>
|
|
var info = Base64.decode('<%=data%>');
|
|
$('#rpt_content').val(format(info,false));
|
|
<%}%>
|
|
})
|
|
function decodejs(){
|
|
var rpt = $('#rpt_content').val();
|
|
$('#rpt_content').val(Base64.decode(rpt));
|
|
}
|
|
function debug(){
|
|
loading();
|
|
var rpt = $('#rpt_content').val();
|
|
var rptMsg = $.str2json(rpt);
|
|
var isLock = $("#isLockRight").is(':checked');
|
|
var requestMsg = $('#result_content2').val();
|
|
if(isLock == true){
|
|
if(!requestMsg){
|
|
alert('锁定时,右侧消息体不允许为空!');
|
|
loaded();
|
|
return;
|
|
}
|
|
rptMsg._REQUEST_MSG = requestMsg;
|
|
}
|
|
$.report({
|
|
id: _gridid,
|
|
containerid: 'report_gird',
|
|
queryParams: rptMsg,
|
|
isinit:false,//是否初始化,初始化就不加载数据
|
|
pagination: false,
|
|
onLoadSuccess: function (data) {
|
|
//$(".datagrid-row").unbind('mouseover');
|
|
}
|
|
});
|
|
if(isLock == false){
|
|
$.cuajax({
|
|
url:'wdk?action=pf.report&method=getMetricReport',
|
|
//async:false,
|
|
data:{data:Base64.encode(rpt)},
|
|
success:function(data){
|
|
$('#result_content2').val(format(data,false));
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
function doFormat(){
|
|
var rpt = $('#rpt_content').val();
|
|
$('#rpt_content').val(format(rpt,false));
|
|
}
|
|
//打开数据界面
|
|
function data(){
|
|
post('<%=basePath%>wdk?action=pf.report&method=forwardDebug',{data:Base64.encode($('#result_content2').val())});
|
|
}
|
|
|
|
|
|
function post(URL, PARAMS) {
|
|
var temp_form = document.getElementById('debug_form');
|
|
if(!temp_form){
|
|
temp_form = document.createElement("form");
|
|
temp_form.id = "debug_form";
|
|
}else{
|
|
$(temp_form).empty();
|
|
}
|
|
temp_form.action = URL;
|
|
temp_form.target = "_blank";
|
|
temp_form.method = "post";
|
|
temp_form.style.display = "none";
|
|
for (var x in PARAMS) {
|
|
var opt = document.createElement("textarea");
|
|
opt.name = x;
|
|
opt.value = PARAMS[x];
|
|
temp_form.appendChild(opt);
|
|
}
|
|
document.body.appendChild(temp_form);
|
|
temp_form.submit();
|
|
}
|
|
|
|
|
|
|
|
function format(txt,compress/*是否为压缩模式*/){/* 格式化JSON源码(对象转换为JSON文本) */
|
|
var indentChar = ' ';
|
|
if(/^\s*$/.test(txt)){
|
|
alert('数据为空,无法格式化! ');
|
|
return;
|
|
}
|
|
try{var data=eval('('+txt+')');}
|
|
catch(e){
|
|
alert('数据源语法错误,格式化失败! 错误信息: '+e.description,'err');
|
|
return;
|
|
};
|
|
var draw=[],last=false,This=this,line=compress?'':'\n',nodeCount=0,maxDepth=0;
|
|
|
|
var notify=function(name,value,isLast,indent/*缩进*/,formObj){
|
|
nodeCount++;/*节点计数*/
|
|
for (var i=0,tab='';i<indent;i++ )tab+=indentChar;/* 缩进HTML */
|
|
tab=compress?'':tab;/*压缩模式忽略缩进*/
|
|
maxDepth=++indent;/*缩进递增并记录*/
|
|
if(value&&value.constructor==Array){/*处理数组*/
|
|
draw.push(tab+(formObj?('"'+name+'":'):'')+'['+line);/*缩进'[' 然后换行*/
|
|
for (var i=0;i<value.length;i++)
|
|
notify(i,value[i],i==value.length-1,indent,false);
|
|
draw.push(tab+']'+(isLast?line:(','+line)));/*缩进']'换行,若非尾元素则添加逗号*/
|
|
}else if(value&&typeof value=='object'){/*处理对象*/
|
|
draw.push(tab+(formObj?('"'+name+'":'):'')+'{'+line);/*缩进'{' 然后换行*/
|
|
var len=0,i=0;
|
|
for(var key in value)len++;
|
|
for(var key in value)notify(key,value[key],++i==len,indent,true);
|
|
draw.push(tab+'}'+(isLast?line:(','+line)));/*缩进'}'换行,若非尾元素则添加逗号*/
|
|
}else{
|
|
if(typeof value=='string')value='"'+value+'"';
|
|
draw.push(tab+(formObj?('"'+name+'":'):'')+value+(isLast?'':',')+line);
|
|
};
|
|
};
|
|
var isLast=true,indent=0;
|
|
notify('',data,isLast,indent,false);
|
|
return draw.join('');
|
|
}
|
|
|
|
</script>
|
|
<style type="text/css">
|
|
|
|
</style>
|
|
</head>
|
|
|
|
<body class="easyui-layout" data-options="fit:true">
|
|
<div title="报文调试" data-options="region:'north',border:false,split:true" class="page-title" style="overflow:hidden;height: 400px;">
|
|
<div style="width:100%;height:100%;">
|
|
<div style="float:left;width:49.9%;height:100%;">
|
|
<textarea id="rpt_content" style="width:100%;height:100%;"></textarea>
|
|
</div>
|
|
|
|
<div style="float:right;width:49.9%;height:100%;">
|
|
<textarea id="result_content2" style="width:100%;height:100%;" ></textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="easyui-layout" data-options="region:'center',border:false">
|
|
<div data-options="region:'north',border:false" style="height: 30px;text-align: center">
|
|
<a id="btn1" href="javascript:void(0);" onclick="doFormat()" class="easyui-linkbutton" data-options="iconCls:'fa fa-check-square'">格式化</a>
|
|
<a id="btn2" href="javascript:void(0);" onclick="decodejs()" class="easyui-linkbutton" data-options="iconCls:'fa fa-key'">解码</a>
|
|
<a id="btn3" href="javascript:void(0);" onclick="debug()" class="easyui-linkbutton" data-options="iconCls:'fa fa-cubes'">调试</a>
|
|
<a id="btn4" href="javascript:void(0);" onclick="data()" class="easyui-linkbutton" data-options="iconCls:'fa fa-database'">数据</a>
|
|
<input type="checkbox" id="isLockRight"></input>锁定右侧报文
|
|
</div>
|
|
<div data-options="region:'center',border:false" style="overflow:hidden;">
|
|
<div id="report_gird" style="height:100%;width:100%;overflow:hidden;">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|