log-report.js 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. $(function(){
  2. $('#datetimepickerA1').datetimepicker({
  3. yearOffset:0,
  4. lang:'ch',
  5. timepicker:false,
  6. format:'Y-m-d',
  7. formatDate:'Y/m/d',
  8. // minDate:'-1970/01/02', // yesterday is minimum date
  9. //maxDate:'+1970/01/02', // and tommorow is maximum date calendar
  10. yearStart:1901,
  11. yearEnd:2999,
  12. });
  13. /**初始化查询日期**/
  14. $('#datetimepickerA1').datetimepicker({value:getDay(0)});
  15. //search_calltime.datebox("setValue",getYestoday(new Date(), 0));
  16. /**初始化日终查询表**/
  17. rzcx_loadDataGrid(1);
  18. })
  19. function rzcx_loadDataGrid(index){
  20. var callTime=$('#datetimepickerA1').val();
  21. var apiName=$('#search_apiname').val();
  22. var searchParam=$('#search_param').val();
  23. var searchResp=$('#search_resp').val();
  24. $('#pagenumber').val(index);
  25. var pageIndex = index-1;
  26. var pageSize = 10;
  27. //Commonjs.alert(callTime+"-\n"+apiName+"-\n"+searchParam+"-\n"+searchResp+"-\n"+pageIndex+"-\n"+pageSize);
  28. var param = {};
  29. var Service = {};
  30. Service.Date = callTime;
  31. Service.ApiName = apiName;
  32. Service.ParamXml = searchParam;
  33. Service.ResultXml = searchResp;
  34. Service.HosId = Commonjs.hospitalId;
  35. var page = {};
  36. page.PIndex = pageIndex;
  37. page.PSize = pageSize;
  38. var code = 9001;
  39. var params = Commonjs.getParams(code,Service,page);//获取参数
  40. param.Api = "GetSysCallLogList";
  41. param.Params = Commonjs.jsonToString(params);
  42. var d = Commonjs.ajax('./log_callLogApi.do',param,false);
  43. $("#log tr:gt(0)").remove();
  44. if(d.RespCode != 10000){
  45. //Commonjs.alert(d.RespMessage);
  46. Page(0,pageSize,'pager');
  47. if(d.Data==undefined) {
  48. $('#log').append("<tr align=center><td colspan=4><font color=red>未找到相关数据!</font></td></tr>");
  49. }
  50. return;
  51. }
  52. if(d.Page.PCount!=undefined){
  53. if(d.Page.PCount!=0){
  54. $("#totalcount").val(d.Page.PCount);
  55. }else{
  56. if(d.Page.PIndex==0)$("#totalcount").val(0);
  57. }
  58. }else{
  59. $("#totalcount").val(0);
  60. }
  61. Page($("#totalcount").val(),d.Page.PSize,'pager');
  62. var log = d.Data;
  63. aa = log;
  64. if(log==undefined) {
  65. $('#log').append("<tr align=center><td colspan=4><font color=red>未找到相关数据!</font></td></tr>");
  66. }else {
  67. if(log.length==undefined){
  68. //<td class=\"sublength\" id=\"respIndex\">"+format(log.RespXml)+"</td>
  69. $('#log').append("<tr onclick=\"clickRow('Index')\"><td>"+log.CallTime+"</td><td>"+log.ApiName+"</td><td>"+log.Times+"</td><td class=\"sublength\" id=\"paramIndex\">"+subTransCode(format(log.ParamXml))+"</td></tr>");
  70. }else{
  71. for(var i=0;i<log.length;i++){
  72. //<td class=\"sublength\" id=\"respIndex\">"+format(log[i].RespXml)+"</td>
  73. $('#log').append("<tr onclick=\"clickRow("+i+")\"><td>"+log[i].CallTime+"</td><td>"+log[i].ApiName+"</td><td>"+log[i].Times+"</td><td class=\"sublength\" id=\"param"+i+"\">"+subTransCode(format(log[i].ParamXml))+"</td></tr>");
  74. }
  75. }
  76. }
  77. }
  78. function clickRow(index){
  79. var paramStr = "";
  80. var respStr = "";
  81. var title = "";
  82. if(index=="Index"){
  83. title="请求时间:"+aa.CallTime+"\nAPI名称:"+aa.ApiName+"\n响应时间:"+aa.Times;
  84. paramStr = aa.ParamXml;
  85. respStr = aa.RespXml;
  86. }else{
  87. title="请求时间:"+aa[index].CallTime+"\nAPI名称:"+aa[index].ApiName+"\n响应时间:"+aa[index].Times;
  88. paramStr = aa[index].ParamXml;
  89. respStr = aa[index].RespXml;
  90. }
  91. var html=title+"\n请求:\n"+format(paramStr)+"\n\n\r响应:\n"+format(respStr);
  92. //Commonjs.alert(html);
  93. $("#message").html(html);
  94. var artBox=art.dialog({
  95. lock: true,
  96. opacity:0.4,
  97. width: 620,
  98. title:'提示',
  99. content: $('#logMessage').html(),
  100. ok: true
  101. });
  102. }
  103. function subTransCode(str){
  104. var str1 = "&lt;TransactionCode&gt;";
  105. var str2 = "&lt;/TransactionCode&gt;";
  106. var start = str.indexOf(str1)+str1.length;
  107. var end = str.indexOf(str2);
  108. if(start<str1.length||end<0||start>end){
  109. return "";
  110. }else{
  111. return str.substring(start,end);
  112. }
  113. }
  114. function format(obj){
  115. switch(typeof(obj)){
  116. case 'string':
  117. return formatStr(obj);
  118. case 'array':
  119. //Commonjs.alert("aaa");
  120. return '[' + obj.map(format).join(',') + ']';
  121. case 'object':
  122. //Commonjs.alert("bb");
  123. if(obj instanceof Array){
  124. //Commonjs.alert("ccc");
  125. var strArr = [];
  126. var len = obj.length;
  127. for(var i=0; i<len; i++){
  128. strArr.push(format(obj[i]));
  129. }
  130. return '[' + strArr.join(',') + ']';
  131. }else if(obj==null){
  132. return 'null';
  133. }else{
  134. //Commonjs.alert("dd")
  135. var string = [];
  136. for (var property in obj) string.push(format(property) + ':' + format(obj[property]));
  137. return '{' + string.join(',') + '}';
  138. }
  139. case 'number': return obj;
  140. case false: return obj;
  141. }
  142. }
  143. function formatStr(xml){
  144. var str = "";
  145. if(typeof(xml)=="string"){
  146. for (var i = 0; i < xml.length; i++) {
  147. str = str + formatHtmlStr(xml.substr(i, 1));
  148. }
  149. }else{
  150. str="";
  151. }
  152. return str;
  153. }
  154. function formatHtmlStr(str){
  155. var rs;
  156. if(str=='<'){
  157. rs = str.replace("<", "&lt;");
  158. }else if(str=='>'){
  159. rs = str.replace(">", "&gt;");
  160. }else if(str=='"'){
  161. rs = str.replace("&quot;", "&lt;");
  162. }else{
  163. rs = str;
  164. }
  165. return rs;
  166. }
  167. function objtostr(obj){
  168. var THIS = this;
  169. switch(typeof(obj)){
  170. case 'string':
  171. return '"' + obj.replace(/(["\\])/g, '\\$1') + '"';
  172. case 'array':
  173. return '[' + obj.map(THIS.jsonToString).join(',') + ']';
  174. case 'object':
  175. if(obj instanceof Array){
  176. var strArr = [];
  177. var len = obj.length;
  178. for(var i=0; i<len; i++){
  179. strArr.push(THIS.jsonToString(obj[i]));
  180. }
  181. return '[' + strArr.join(',') + ']';
  182. }else if(obj==null){
  183. return 'null';
  184. }else{
  185. var string = [];
  186. for (var property in obj) string.push(THIS.jsonToString(property) + ':' + THIS.jsonToString(obj[property]));
  187. return '{' + string.join(',') + '}';
  188. }
  189. case 'number': return obj;
  190. case false: return obj;
  191. }
  192. }
  193. function openLogMessageById(operate){
  194. if(operate == 'close'){
  195. $('#logMessage').window('close');
  196. }else{
  197. $('#logMessage').window('open');
  198. }
  199. }
  200. function getDay(day) {
  201. var today = new Date();
  202. var targetday_milliseconds = today.getTime() + 1000 * 60 * 60 * 24 * day;
  203. today.setTime(targetday_milliseconds); // 注意,这行是关键代码
  204. var tYear = today.getFullYear();
  205. var tMonth = today.getMonth();
  206. var tDate = today.getDate();
  207. tMonth = doHandleMonth(tMonth + 1);
  208. tDate = doHandleMonth(tDate);
  209. return tYear + "-" + tMonth + "-" + tDate;
  210. }
  211. function doHandleMonth(month){
  212. var m = month;
  213. if (month.toString().length == 1) {
  214. m = "0" + month;
  215. }
  216. return m;
  217. }
  218. //分页
  219. function Page(totalcounts, pagecount,pager) {
  220. $("#"+pager).pager( {
  221. totalcounts : totalcounts,
  222. pagesize : 10,
  223. pagenumber : $("#pagenumber").val(),
  224. pagecount : parseInt(totalcounts/pagecount)+(totalcounts%pagecount >0?1:0),
  225. buttonClickCallback : function(al) {
  226. $("#pagenumber").val(al);
  227. rzcx_loadDataGrid(al);
  228. }
  229. });
  230. }
  231. function myPrint(msg){
  232. art.dialog({
  233. lock: true,
  234. width: '300px',
  235. height: '100px',
  236. time: 3,
  237. content: msg
  238. });
  239. }