aliasScriptToPreview.jsp 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
  2. <%@include file="/commons/include/html_doctype.html" %>
  3. <html>
  4. <head>
  5. <%@include file="/commons/include/form.jsp" %>
  6. <title>脚本预览</title>
  7. <script type="text/javascript" src="${ctx}/js/util/easyTemplate.js"></script>
  8. <script type="text/javascript">
  9. $(function(){
  10. var scriptStr='${scriptStr}';
  11. var alias= '${alias}';
  12. if( alias!=null && alias!='' ){
  13. var divObj =$('#divMockParams');
  14. var html = "";
  15. var data = eval('(' + alias + ')');
  16. var template=$("#txtReceiveTemplate").val();
  17. var html=easyTemplate(template,data).toString();
  18. divObj.html(html);
  19. }else{
  20. preView();
  21. }
  22. $("#btnSearch").click(preView);
  23. });
  24. function preView(){
  25. var scriptStr = $('#scriptStr').val();
  26. $("#resultView").html("");
  27. if(scriptStr.length<=1){
  28. $.ligerDialog.warn("脚本内容为空,不能测试!");
  29. return;
  30. }
  31. var mark = false;
  32. $("input[isRequired='1']",$("#tableMockParams")).each(function(){
  33. var valueStr = $(this).val();
  34. if(typeof(valueStr)==undefined||valueStr==null||valueStr==''){
  35. mark = true;
  36. name = $(this).attr("name");
  37. $.ligerDialog.warn("参数值("+name+")不能为空!");
  38. return false;
  39. }
  40. });
  41. if(mark){
  42. return;
  43. }
  44. var json =[];
  45. var inputs = $("input:visible",$("#tableMockParams"));
  46. inputs.each(function(){
  47. var me = $(this);
  48. var job = {};
  49. job.paraName = me.attr("name");
  50. job.paraType = me.attr("paraType");
  51. job.paraValue = me.val();
  52. job.isRequired = me.attr("isRequired");
  53. json.push(job);
  54. });
  55. json = JSON2.stringify(json);
  56. if(json=='[]'){
  57. json='';
  58. }
  59. var url=__ctx +"/platform/system/aliasScript/preview.ht";
  60. $.post(url,{scriptStr:scriptStr,alias:json},function(data){
  61. var json = eval("("+data+")");
  62. if(json.isSuccess==0){
  63. $("#resultView").html(data);
  64. }else{
  65. $.ligerDialog.warn(json.msg);
  66. }
  67. });
  68. }
  69. </script>
  70. <style type="text/css">
  71. thead th{
  72. text-align: left!important;
  73. padding-left: 5px;
  74. }
  75. </style>
  76. </head>
  77. <body style="overflow-x: hidden;">
  78. <div class="panel">
  79. <div class="hide-panel">
  80. <div class="panel-top">
  81. <div class="tbar-title">
  82. <span class="tbar-label">脚本预览</span>
  83. </div>
  84. <div class="panel-toolbar">
  85. <div class="toolBar">
  86. <div class="group"><a class="link search" id="btnSearch"><span></span>预览</a></div>
  87. <div class="l-bar-separator"></div>
  88. <div class="group"><a class="link close" href="javascript:;" onclick="window.close();"><span></span>关闭</a></div>
  89. </div>
  90. </div>
  91. </div>
  92. </div>
  93. <div class="panel-body">
  94. <table id="tabPreView" class="table-detail">
  95. <tr>
  96. <td>
  97. 脚本内容:<div style="height:50px;width:650px;border: 1px solid silver;overflow: auto;"> ${scriptStr}</div>
  98. </td>
  99. </tr>
  100. <tr>
  101. <td>
  102. <!-- <div id="divMockParams" style="overflow:auto"> </div>-->
  103. <div id="divMockParams" title="参数" style="width:650px;border: 1px solid silver;overflow: auto;" ></div>
  104. </td>
  105. </tr>
  106. <tr>
  107. <td>
  108. 返回结果:<div id="resultView" style="height:200px;width:650px;border: 1px solid silver;overflow: auto;"><br/></div>
  109. </td>
  110. </tr>
  111. <tr>
  112. <td>
  113. <div id="notice" style="height:50px;width:650px;">
  114. <font color="red">
  115. 返回结果说明:返回的结果是以JSON字符串格式返回的内容,其分为isSuccess、msg和result三个部分;
  116. 其中isSuccess=0为成功返回信息,为其它值时获取信息失败;msg为信息提示的内容;
  117. result为脚本执行后返回的数据内容。
  118. </font>
  119. </div>
  120. </td>
  121. </tr>
  122. </table>
  123. </div>
  124. </div>
  125. <input type='hidden' id='scriptStr' name='scriptStr' value='${scriptStr}' />
  126. <input type='hidden' id='alias' name='alias' value='${alias}' />
  127. <!-- HMTL模板拼写内容 -->
  128. <textarea id="txtReceiveTemplate" style="display: none;">
  129. <table id="tableMockParams" class="table-detail">
  130. <thead>
  131. <tr>
  132. <th>参数名</th>
  133. <th>参数类型</th>
  134. <th>参数值</th>
  135. </tr>
  136. </thead>
  137. <#list data as obj>
  138. <tr>
  139. <td>\${obj.paraName}</td>
  140. <td>\${obj.paraType}</td>
  141. <td>
  142. <input type="text" name="\${obj.paraName}" isRequired="\${obj.isRequired}" paraType="\${obj.paraType}" />
  143. </tr>
  144. </#list>
  145. </table>
  146. </textarea>
  147. </body>
  148. </html>