mbgllc.js 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. //根据高度计算每页条数
  2. var pageLimit;
  3. //根据宽度计算分页长度
  4. var pageLength;
  5. //查询条件
  6. var templateLikeSearch = '';
  7. var unrelateDefinitionLikeSearch = '';
  8. var relateDefinitionLikeSearch = '';
  9. var mbNode;
  10. $(function() {
  11. pageLimit = parseInt(($('.panel1').height()-127-49)/33);
  12. pageLength = parseInt(parseInt(($('.panel1').width()-20)/34)/2-1)
  13. //初始化查询
  14. if(tname!='null'&&tname!=''){
  15. $('#templateInput').val(tname);
  16. }
  17. searchByLike(1);
  18. });
  19. //查询模板列表
  20. function loadTemplate(page){
  21. $.ajax({
  22. url : basePath + 'WFP?module=template&action=list',
  23. type : 'POST',
  24. data : {
  25. begin : (page - 1) * pageLimit + 1,
  26. limit : pageLimit,
  27. likeSearch : templateLikeSearch
  28. },
  29. success : function(json) {
  30. var obj = JSON.parse(json);
  31. var tableHtml = '';
  32. $.each(obj.data, function() {
  33. //mbNode = $(this)[0].nodes;
  34. tableHtml +='<tr id="'+$(this)[0].id+'" onclick="showDefinition(this,'+$(this)[0].nodes+')"><td title="'+$(this)[0].name+'">'+$(this)[0].name+'</td><td title="'+$(this)[0].label+'">'+$(this)[0].label+'</td><td title="'+$(this)[0].nodes+'">'+ '<div class="inline" style="width:100%;text-align:center"><b class="badge bg-default" style="font-weight:400;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;" data-toggle="tooltip" title="'
  35. +$(this)[0].nodes+ '个节点">' +$(this)[0].nodes+ '</b></div>'+'</td></tr>';
  36. });
  37. $('#templateTbody').html(tableHtml);
  38. var pageHtml = createPageContent(obj);
  39. $('#templatePagination').html(pageHtml.replace(/getData/g,"loadTemplate"));
  40. $("#templateTbody").find("tr:first-child").trigger("click");
  41. }
  42. });
  43. }
  44. //查询未关联定义列表
  45. function loadUnrelateDefinition(page){
  46. //翻页时取消全选
  47. if($('#unrelateDefinitionTbody').parent().find("input[name='allChecked']")[0].checked==true){
  48. $('#unrelateDefinitionTbody').parent().find("input[name='allChecked']").trigger("click");
  49. }
  50. var id = $("#templateTbody tr.clicked")[0].id;
  51. $.ajax({
  52. url : basePath + 'WFP?module=template&action=ngl',
  53. type : 'POST',
  54. data : {
  55. begin : (page - 1) * pageLimit + 1,
  56. limit : pageLimit,
  57. likeSearch : unrelateDefinitionLikeSearch,
  58. id:id
  59. },
  60. success : function(json) {
  61. var obj = JSON.parse(json);
  62. var tableHtml = '';
  63. $.each(obj.data, function() {
  64. var nodeHtml='';
  65. if(mbNode != $(this)[0].nodes){
  66. nodeHtml = '<div class="inline" style="width:100%;text-align:center"><b class="badge bg-default" style="background-color:#f4c414;font-weight:400;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;" data-toggle="tooltip" title="警告:当前流程有'
  67. +$(this)[0].nodes + '个节点">' +$(this)[0].nodes + '</b></div>'
  68. }else{
  69. nodeHtml = '<div class="inline" style="width:100%;text-align:center"><b class="badge bg-default" style="font-weight:400;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;" data-toggle="tooltip" title="'
  70. +$(this)[0].nodes + '个节点">' +$(this)[0].nodes + '</b></div>'
  71. }
  72. tableHtml +='<tr onclick="clickRow(this)"><th class="checkTh"><input type="checkbox"/ id="'+$(this)[0].id+'"></th><td title="'+$(this)[0].id+'">'+$(this)[0].id+'</td><td title="'+$(this)[0].name+'">'+$(this)[0].name+'</td><td title="'+$(this)[0].nodes+'">'+ nodeHtml +'</td></tr>';
  73. });
  74. $('#unrelateDefinitionTbody').html(tableHtml);
  75. var pageHtml = createPageContent(obj);
  76. $('#unrelateDefinitionPagination').html(pageHtml.replace(/getData/g,"loadUnrelateDefinition"));
  77. }
  78. });
  79. }
  80. //查询关联定义列表
  81. function loadRelateDefinition(page){
  82. //翻页时取消全选
  83. if($('#relateDefinitionTbody').parent().find("input[name='allChecked']")[0].checked==true){
  84. $('#relateDefinitionTbody').parent().find("input[name='allChecked']").trigger("click");
  85. }
  86. var id = $("#templateTbody tr.clicked")[0].id;
  87. $.ajax({
  88. url : basePath + 'WFP?module=template&action=gl',
  89. type : 'POST',
  90. data : {
  91. begin : (page - 1) * pageLimit + 1,
  92. limit : pageLimit,
  93. likeSearch : relateDefinitionLikeSearch,
  94. id:id
  95. },
  96. success : function(json) {
  97. var obj = JSON.parse(json);
  98. var tableHtml = '';
  99. $.each(obj.data, function() {
  100. var nodeHtml='';
  101. if(mbNode != $(this)[0].nodes){
  102. nodeHtml = '<div class="inline" style="width:100%;text-align:center"><b class="badge bg-default" style="background-color:#f4c414;font-weight:400;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;" data-toggle="tooltip" title="警告:当前流程有'
  103. +$(this)[0].nodes + '个节点">' +$(this)[0].nodes + '</b></div>'
  104. }else{
  105. nodeHtml = '<div class="inline" style="width:100%;text-align:center"><b class="badge bg-default" style="font-weight:400;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;" data-toggle="tooltip" title="'
  106. +$(this)[0].nodes + '个节点">' +$(this)[0].nodes + '</b></div>'
  107. }
  108. tableHtml +='<tr onclick="clickRow(this)"><th class="checkTh"><input type="checkbox"/ id="'+$(this)[0].id+'"></th><td title="'+$(this)[0].id+'">'+$(this)[0].id+'</td><td title="'+$(this)[0].name+'">'+$(this)[0].name+'</td><td title="'+$(this)[0].nodes+'">'+ nodeHtml +'</td></tr>';
  109. });
  110. $('#relateDefinitionTbody').html(tableHtml);
  111. var pageHtml = createPageContent(obj);
  112. $('#relateDefinitionPagination').html(pageHtml.replace(/getData/g,"loadRelateDefinition"));
  113. }
  114. });
  115. }
  116. //生成分页数据
  117. function createPageContent(obj){
  118. var total = obj.totalCount;
  119. var pageSize = obj.limit;
  120. var page = parseInt(obj.start/pageSize)+1;
  121. var lastPage = Math.ceil(total / pageSize);
  122. var html = '';
  123. if (page > 1)
  124. html += '<li><a onclick="getData(' + (page - 1) + ')">&laquo;</a></li>';
  125. for ( var i = page - pageLength; i <= page + pageLength; i++) {
  126. if (i > 0 && i <= lastPage) {
  127. html += '<li';
  128. if (i == page)
  129. html += ' class="active"';
  130. html += '><a onclick="getData(' + i + ')">' + i + '</a></li>';
  131. }
  132. }
  133. if (lastPage != 0 && page != lastPage)
  134. html += '<li><a onclick="getData(' + (page + 1) + ')">&raquo;</a></li>';
  135. return html;
  136. }
  137. //模板列表点击事件
  138. function showDefinition(obj,node){
  139. $('#templateTbody tr').removeClass('clicked');
  140. $(obj).addClass('clicked');
  141. mbNode = node;
  142. loadUnrelateDefinition(1);
  143. loadRelateDefinition(1);
  144. }
  145. //按查询条件搜索
  146. function searchByLike(type){
  147. if(type==1){
  148. templateLikeSearch = $('#templateInput').val();
  149. loadTemplate(1);
  150. }else if(type==2){
  151. unrelateDefinitionLikeSearch = $('#unrelateDefinitionInput').val();
  152. loadUnrelateDefinition(1);
  153. }else if(type==3){
  154. relateDefinitionLikeSearch = $('#relateDefinitionInput').val();
  155. loadRelateDefinition(1);
  156. }
  157. }
  158. //全选、取消全选时间
  159. $(':input[name="allChecked"]').click(function(){
  160. var check = $(this)[0].checked;
  161. var checkboxs = $(this).parents('table.table-striped').find('tbody input[type="checkbox"]');
  162. $.each(checkboxs, function() {
  163. $(this).attr('checked',check);
  164. });
  165. });
  166. //关联操作
  167. function addItems(){
  168. var did = '';
  169. $('#unrelateDefinitionTbody input:checkbox:checked').each(function(index){
  170. if(index != 0)
  171. did += ',';
  172. did = did + $(this).attr('id');
  173. })
  174. var tid = $("#templateTbody tr.clicked")[0].id;
  175. if(did!=''){
  176. $.ajax({
  177. url : basePath + 'WFP?module=template&action=relate',
  178. type : 'POST',
  179. data : {
  180. type : 1,
  181. tid : tid,
  182. did : did
  183. },
  184. success : function() {
  185. loadUnrelateDefinition(1);
  186. loadRelateDefinition(1);
  187. if(parent&&parent.loadData)
  188. parent.loadData();
  189. }
  190. });
  191. }
  192. }
  193. //取消关联操作
  194. function removeItems(){
  195. var did = '';
  196. $('#relateDefinitionTbody input:checkbox:checked').each(function(index){
  197. if(index != 0)
  198. did += ',';
  199. did = did + $(this).attr('id');
  200. })
  201. var tid = $("#templateTbody tr.clicked")[0].id;
  202. if(did!=''){
  203. $.ajax({
  204. url : basePath + 'WFP?module=template&action=relate',
  205. type : 'POST',
  206. data : {
  207. type : 2,
  208. tid : tid,
  209. did : did
  210. },
  211. success : function() {
  212. loadUnrelateDefinition(1);
  213. loadRelateDefinition(1);
  214. if(parent&&parent.loadData)
  215. parent.loadData();
  216. }
  217. });
  218. }
  219. }
  220. //点击行操作
  221. function clickRow(obj){
  222. $(obj).find("input[type=checkbox]").trigger("click");
  223. }