<%@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>