api_config.js 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  1. $(function(){
  2. loadHosTree();
  3. initWidget();
  4. });
  5. function initWidget(){
  6. $("#selApiModule").combobox({
  7. required:true,
  8. editable:false,
  9. valueField: 'id',
  10. textField: 'text',
  11. onSelect: function(node){
  12. $("#apiModuleEnName").val(node.id);
  13. }
  14. });
  15. $("#selApiSys").combobox({
  16. required:true,
  17. editable:false,
  18. valueField: 'id',
  19. textField: 'text',
  20. url:$.common.urlByBizAction("DictionaryAction_queryDictionaryComboxNode"),
  21. onBeforeLoad: function(param){
  22. param.type = 'APISYSNAME';
  23. },
  24. onSelect: function(node){
  25. var param = {};
  26. param.type = 'APIMODULENAME';
  27. param.pid = node.dicId;
  28. var retData = Commonjs.ajax("./DictionaryAction_queryDictionaryComboxNode.action",param,false);
  29. if( $("#apiSysEnName").val() != node.id){
  30. $("#apiModuleEnName").val("");
  31. $('#selApiModule').combobox('setValue', '');
  32. $('#selApiModule').combobox('loadData', []);
  33. $('#selApiModule').combobox('loadData', retData);
  34. }
  35. $("#apiSysEnName").val(node.id);
  36. }
  37. });
  38. }
  39. //加载树跟节点
  40. function loadHosTree(){
  41. var url = $.common.urlByBizAction("ApiAction_queryAllHosTreeNodes");
  42. $('#tr').tree({
  43. url:url,
  44. onClick:function (node){
  45. if(!$("#tr").tree("isLeaf",node.target)){
  46. return;
  47. }
  48. var str = 'Api文档:&nbsp;<span style=\'color:#3399cc\'>(' + node.id + '-'+node.attributes+')</span>';
  49. $("#divMain").panel({title:str});
  50. var parentNode = $('tr').tree('getParent',node.target);
  51. showApiListBySys(node.attributes,node.id,parentNode.id);
  52. showApiChannelBySys(node.attributes,node.id,parentNode.id);
  53. },
  54. loadFilter:function(data){
  55. if (data.RespCode !=null){
  56. $.messager.alert('异常',JSON.stringify(data.RespMessage),'error');
  57. return data;
  58. } else {
  59. return data;
  60. }
  61. }
  62. });
  63. }
  64. //点击模块节点,显示API
  65. function showApiListBySys(sysName,sysEnName,hosId){
  66. var param = {};
  67. param.sysName = sysName;
  68. param.sysEnName = sysEnName;
  69. param.hosId = hosId;
  70. $('#api_list').html("正在加载中,请稍等......");
  71. $('#api_list').html("");
  72. var retData = Commonjs.ajax("./ApiAction_queryApiModuleBySys.action",param,false);
  73. var tempModuleName = "";
  74. var str = "";
  75. if( retData!= null && retData.length>0 ){
  76. $.each(retData,function(i,row){
  77. if( tempModuleName!=row.ModuleName ){
  78. if(tempModuleName!=""){
  79. str += '</table>';
  80. }
  81. str += '<table class="item-list">';
  82. str += '<tr><td colspan="2">';
  83. str += '<h3>'+row.ModuleName+' 相关接口</h3>';
  84. str += '</td></tr>';
  85. }
  86. str += '<tr>';
  87. str += '<td>'+row.ApiName+'接口</td><td><a href="javascript:void(0);" onclick="showApi(\''+row.Api+'\',\''+row.ApiName+'\',\''+hosId+'\',\''+row.RetDataType+'\',\''+row.CreateTime+'\');">'+row.Api+'</a></td>';
  88. str += '</tr>';
  89. if(str==""){
  90. str = "暂未发布接口!";
  91. }
  92. tempModuleName=row.ModuleName
  93. });
  94. }else if(retData != null ){//单条数据
  95. str += '<table class="item-list">';
  96. str += '<tr><td colspan="2">';
  97. str += '<h3>'+retData.ModuleName+' 相关接口</h3>';
  98. str += '</td></tr>';
  99. str += '<tr>';
  100. str += '<td>'+retData.ApiName+'接口</td><td><a href="javascript:void(0);" onclick="showApi(\''+retData.Api+'\',\''+retData.ApiName+'\',\''+hosId+'\',\''+retData.RetDataType+'\',\''+retData.CreateTime+'\');">'+retData.Api+'</a></td>';
  101. str += '</tr>';
  102. str += '</table>';
  103. }else{
  104. str = "暂未发布接口!";
  105. }
  106. $('#api_list').append(str);
  107. }
  108. function showApiChannelBySys(sysName,sysEnName,hosId){
  109. $('#tabChannelApi').html("");
  110. var param = {};
  111. param.sysName = sysName;
  112. param.sysEnName = sysEnName;
  113. param.hosId = hosId;
  114. var html ="";
  115. var retData = Commonjs.ajax("./ApiAction_queryApiChannelBySys.action",param,false);
  116. if( retData!= null && retData.length>0){
  117. html +="<tr>";
  118. $.each(retData,function(i,row){
  119. if( row.Checked == "true" ){
  120. html +="<td>"+row.ChannelName+"("+row.ChannelId+")" +
  121. "<input id='"+row.ChannelId+"' type=\"checkbox\" name=\"channelApi\" value=\""+row.ChannelId+"\" checked=\"checked\" onClick=\"saveChanelToApi('"+sysName+"','"+sysEnName+"','"+hosId+"','"+row.ChannelId+"');\"></input></td>";
  122. }else{
  123. html +="<td>"+row.ChannelName+"("+row.ChannelId+")" +
  124. "<input id='"+row.ChannelId+"' type=\"checkbox\" name=\"channelApi\" value=\""+row.ChannelId+"\" onClick=\"saveChanelToApi('"+sysName+"','"+sysEnName+"','"+hosId+"','"+row.ChannelId+"');\"></input></td>";
  125. }
  126. });
  127. // html +="<td><a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onClick=\"saveChanelToApi('"+sysName+"','"+sysEnName+"','"+hosId+"');\">保存</a></td>";
  128. html +="</tr>";
  129. }else if( retData!= null) {
  130. html +="<tr>";
  131. if( row.Checked == "true" ){
  132. html +="<td>"+retData.ChannelName+"("+row.ChannelId+")" +
  133. "<input id='"+retData.ChannelId+"' type=\"checkbox\" name=\"channelApi\" value=\""+retData.ChannelId+"\" checked=\"checked\" onClick=\"saveChanelToApi('"+sysName+"','"+sysEnName+"','"+hosId+"','"+retData.ChannelId+"');\"></input></td>";
  134. }else{
  135. html +="<td>"+retData.ChannelName+"("+row.ChannelId+")" +
  136. "<input id='"+retData.ChannelId+"' type=\"checkbox\" name=\"channelApi\" value=\""+retData.ChannelId+"\" onClick=\"saveChanelToApi('"+sysName+"','"+sysEnName+"','"+hosId+"','"+retData.ChannelId+"');\"></input></td>";
  137. }
  138. //html +="<td><a href=\"javascript:void(0)\" class=\"easyui-linkbutton\" onClick=\"saveChanelToApi('"+sysName+"','"+sysEnName+"','"+hosId+"');\">保存</a></td>";
  139. html +="</tr>";
  140. }else{
  141. html ="<tr><td>暂未配置渠道信息</td></tr>"
  142. }
  143. $('#tabChannelApi').append(html);
  144. $.parser.parse($('#tabChannelApi'));
  145. }
  146. function saveChanelToApi(sysName,sysEnName,hosId,channelId){
  147. var param = {};
  148. param.sysName = sysName;
  149. param.sysEnName = sysEnName;
  150. param.hosId = hosId;
  151. param.channelId = channelId;
  152. var retData = null
  153. if($("#"+channelId).prop("checked")){//新增渠道关联
  154. retData = Commonjs.ajax("./ApiAction_addSysChannelToApi.action",param,false);
  155. }else{//删除渠道关联
  156. retData = Commonjs.ajax("./ApiAction_deleteSysChannelToApi.action",param,false);
  157. }
  158. if( retData.RespCode != 10000 ){
  159. //showApiChannelBySys(sysName,sysEnName,hosId);
  160. $.messager.alert('提示','修改失败!','info');
  161. } else{
  162. $.messager.alert('提示','修改成功!','info');
  163. }
  164. // var checkedArray = $("input[name='channelApi']:checked");
  165. // var channelArray = "";
  166. // $.each(checkedArray,function(i,row){
  167. // if( i== (checkedArray.length-1)){
  168. // channelArray += $(this).val();
  169. // }else{
  170. // channelArray += $(this).val()+",";
  171. // }
  172. // });
  173. // var param = {};
  174. // param.sysName = sysName;
  175. // param.sysEnName = sysEnName;
  176. // param.hosId = hosId;
  177. // param.ChannelIds = channelArray;
  178. //
  179. // var retData = Commonjs.ajax("./ApiAction_saveApiChannel.action",param,false);
  180. // if( retData.RespCode != 10000 ){
  181. // showApiChannelBySys(sysName,sysEnName,hosId);
  182. // } else{
  183. // $.messager.alert('提示','保存成功!','info');
  184. // }
  185. }
  186. function addApiChannelInfo(){
  187. $("#addApiForm").form('clear');
  188. $("#dialogAddApi").dialog('open');
  189. }
  190. function addChannelApiInfo(){
  191. if(!$("#addApiForm").form('validate')){
  192. return ;
  193. }
  194. var param = {};
  195. param.hosId = $("#selHosInfo").combobox('getValue');
  196. param.api = $("#apiSysEnName").val()+"."+$("#apiModuleEnName").val()+"."+$("#apiEnName").val();
  197. param.sysName = $("#selApiSys").combobox('getText');
  198. param.moduleName = $("#selApiModule").combobox('getText');
  199. param.apiName = $("#txtApiName").val();
  200. param.md5 = $("#selMD5").combobox('getValue');
  201. var retData = Commonjs.ajax("./ApiAction_addSysApiContor.action",param,false);
  202. if( retData.RespCode != 10000 ){
  203. $.messager.alert('提示','保存失败!','info');
  204. $("#dialogAddApi").dialog('close');
  205. } else{
  206. $.messager.alert('提示','保存成功!请重新获取API清单!','info');
  207. $("#dialogAddApi").dialog('close');
  208. }
  209. }
  210. function showApi(api,apiName,hosId,retDataType,createTime){
  211. var url = "api_param_dialog.html?api="+api+"&hosId="+hosId+"&apiName="+apiName+"&retDataType="+retDataType+"&createTime="+createTime;
  212. var content = "<iframe frameborder=\"0\" src=\""+url+"\" style=\"width:100%;height:99%;\"></iframe>";
  213. $('#dialogApiParam').dialog({
  214. title: 'API参数',
  215. fit:true,
  216. closed: false,
  217. cache: false,
  218. content:content,
  219. modal: true,
  220. maximizable: true,
  221. collapsible: true,
  222. toolbar: [{
  223. text:'删除该API',
  224. iconCls:'icon-remove',
  225. handler:function(){
  226. deleteSysApiContor(api,hosId);
  227. }
  228. },'-']
  229. });
  230. }
  231. function deleteSysApiContor(api,hosId){
  232. var param = {};
  233. param.api = api;
  234. param.hosId = hosId;
  235. var retData = Commonjs.ajax("./ApiAction_deleteSysApiContor.action",param,false);
  236. if(retData.RespCode == 10000 ){
  237. $.messager.alert('提示','删除成功!请重新获取API清单','info',function(){
  238. $('#dialogApiParam').dialog('close');
  239. });
  240. }else{
  241. $.messager.alert('提示','删除失败!','info');
  242. }
  243. }