viewProcessInstanceHistory.jsp 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. <%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2. <%@include file="/context/mytags.jsp"%>
  3. <%-- <t:base type="jquery,easyui,tools"></t:base> --%>
  4. <style type="text/css">
  5. .tooltips {
  6. display: none;
  7. font-size: 12px;
  8. border: 1px solid #8BAABF;
  9. background: #FBFCFC;
  10. padding: 5px;
  11. max-width: 400px;
  12. min-width: 180px;
  13. color: #000;
  14. background-image: url($_basePath/bpm/main/images/page_16.png);
  15. background-repeat: no-repeat;
  16. background-position: top right;
  17. background-origin: content-box
  18. }
  19. </style>
  20. <div class="easyui-layout" fit="true">
  21. <script>
  22. $("span[spans='spans']").each(function() {
  23. $(this).hide();
  24. });
  25. </script>
  26. <input type="button" buttongroup="buttongroup" class="blueButton" onclick="printAll();" value='打印'>
  27. <div region="center" style="padding: 1px;">
  28. <script type="text/javascript">
  29. var xvalue = 0;
  30. var yvalue = 0;
  31. var getCoordInDocumentExample = function() {
  32. var coords = document.getElementById("coords");
  33. coords.onmousemove = function(e) {
  34. var pointer = getCoordInDocument(e);
  35. xvalue = pointer.x + 20;
  36. yvalue = pointer.y + 40;
  37. changeValues();
  38. };
  39. };
  40. var getCoordInDocument = function(e) {
  41. e = e || window.event;
  42. var x = e.pageX || (e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft));
  43. var y = e.pageY || (e.clientY + (document.documentElement.scrollTop || document.body.scrollTop));
  44. return {
  45. 'x' : x,
  46. 'y' : y
  47. };
  48. };
  49. getCoordInDocumentExample();
  50. function changeValues() {
  51. $("input[selprexi='imageSpanHidden']").each(function(i) {
  52. var startwidth = parseInt($(this).attr("leftPrefix"));
  53. var endwidth = parseInt($(this).attr("leftprefix"));
  54. var topWidthPrefix = parseInt($(this).attr("topWidthPrefix"));
  55. var topPrefix = parseInt($(this).attr("topPrefix"));
  56. if ((endwidth - 30) <= parseInt(xvalue) && (parseInt(xvalue)) <= (endwidth + 50)) {
  57. if ($($(this).val()) != null) {
  58. if (((topPrefix) <= yvalue) && (yvalue <= (topWidthPrefix + topPrefix))) {
  59. $($(this).val()).css("left", xvalue + "px");
  60. $($(this).val()).css("top", yvalue + "px");
  61. $($(this).val()).show();
  62. } else {
  63. $($(this).val()).hide();
  64. }
  65. } else {
  66. $($(this).val()).hide();
  67. }
  68. }
  69. });
  70. }
  71. </script>
  72. <c:forEach items="${historicTasks}" varStatus="stuts" var="memo">
  73. <span id="imgs${stuts.count+1}" class="tooltips" spans="spans" style="border: 1px solid green; position: absolute; height: 100px;">
  74. <t:mutiLang langKey="process.task"></t:mutiLang>
  75. ${memo.name}
  76. <br />
  77. <t:mutiLang langKey="process.execute"></t:mutiLang>${memo.name}
  78. <br />
  79. <t:mutiLang langKey="common.time"></t:mutiLang>
  80. <fmt:formatDate value="${memo.endTime}" pattern="yyyy-MM-dd hh:mm:ss" />
  81. <br />
  82. <t:mutiLang langKey="common.task.operator"></t:mutiLang>${memo.assignee}
  83. <br />
  84. <t:mutiLang langKey="order.remark"></t:mutiLang>${memo.deleteReason}
  85. </span>
  86. </c:forEach>
  87. <c:forEach items="${listIs }" varStatus="stuts" var="item">
  88. <input type="hidden" name="${item.x }" id="${item.x }" vsle="" selprexi="imageSpanHidden" leftPrefix="${item.x}" leftWidthPrefix="${item.width }" topWidthPrefix="${item.height}" topPrefix="${item.y }" value="#imgs${stuts.count+1}" />
  89. <script type="text/javascript">
  90. $("#imgs${stuts.count+1}").css("left", "${item.x}px").css("top", "${item.y}px");
  91. </script>
  92. </c:forEach>
  93. <div id="coords" style="background: #F2F1D7; border: 0px solid #0066cc;">
  94. <img id="taskProcessId" style="border:2px;cursor:hand;" src="activitiController.do?traceImage&processInstanceId=${processInstanceId}&isIframe">
  95. </div>
  96. <br />
  97. <div id="divLocation"></div>
  98. </div>
  99. <div data-options="region:'south',split:true" style="height: 250px;">
  100. <table id="taskHistoryList">
  101. <thead>
  102. <tr>
  103. <th field="name">
  104. <t:mutiLang langKey="common.name"></t:mutiLang>
  105. </th>
  106. <th field="processInstanceId" width="50">
  107. <t:mutiLang langKey="process.instance.id"></t:mutiLang>
  108. </th>
  109. <th field="startTime" width="50">
  110. <t:mutiLang langKey="common.begintime"></t:mutiLang>
  111. </th>
  112. <th field="endTime" width="50">
  113. <t:mutiLang langKey="common.endtime"></t:mutiLang>
  114. </th>
  115. <th field="assignee" width="25">
  116. <t:mutiLang langKey="person.in.charge"></t:mutiLang>
  117. </th>
  118. <th field="deleteReason" width="150">
  119. <t:mutiLang langKey="process.handle.result"></t:mutiLang>
  120. </th>
  121. </tr>
  122. </thead>
  123. </table>
  124. <script type="text/javascript" src="<%=basePath%>/plug-in/jquery/jquery.jqprint.js"></script>
  125. <script type="text/javascript">
  126. // 编辑初始化数据
  127. function getData(data) {
  128. var rows = [];
  129. var total = data.total;
  130. for (var i = 0; i < data.rows.length; i++) {
  131. rows.push({
  132. name : data.rows[i].name,
  133. processInstanceId : data.rows[i].processInstanceId,
  134. startTime : data.rows[i].startTime,
  135. endTime : data.rows[i].endTime,
  136. assignee : data.rows[i].assignee,
  137. deleteReason : data.rows[i].deleteReason
  138. });
  139. }
  140. var newData = {
  141. "total" : total,
  142. "rows" : rows
  143. };
  144. return newData;
  145. }
  146. // 设置datagrid属性
  147. $('#taskHistoryList').datagrid({
  148. title : '测试',//'<t:mutiLang langKey='track.process.history'></t:mutiLang>',
  149. idField : 'id',
  150. fit : true,
  151. loadMsg : '<t:mutiLang langKey='common.data.loading'></t:mutiLang>',
  152. pageSize : 10,
  153. pagination : true,
  154. sortOrder : 'asc',
  155. rownumbers : true,
  156. singleSelect : true,
  157. fitColumns : true,
  158. showFooter : true,
  159. url : 'activitiController.do?taskHistoryList&processInstanceId=${processInstanceId}',
  160. loadFilter : function(data) {
  161. return getData(data);
  162. }
  163. });
  164. //设置分页控件
  165. $('#taskHistoryList').datagrid('getPager').pagination({
  166. pageSize : 10,
  167. pageList : [ 10, 20, 30 ],
  168. beforePageText : '',
  169. afterPageText : '/{pages}',
  170. displayMsg : '{from}-{to}<t:mutiLang langKey='common.total'></t:mutiLang>{total}<t:mutiLang langKey='common.item'></t:mutiLang>',
  171. showPageList : true,
  172. showRefresh : true,
  173. onBeforeRefresh : function(pageNumber, pageSize) {
  174. $(this).pagination('loading');
  175. $(this).pagination('loaded');
  176. }
  177. });
  178. function printAll(){
  179. $("#print").jqprint();
  180. }
  181. </script>
  182. </div>
  183. </div>