taskFormView.jsp 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  3. <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
  4. <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
  5. <%@taglib prefix="f" uri="http://www.jee-soft.cn/functions" %>
  6. <c:set var="ctx" value="${pageContext.request.contextPath}"/>
  7. <%@include file="/commons/include/html_doctype.html"%>
  8. <html>
  9. <head>
  10. <title>流程任务-[${task.name}]执行</title>
  11. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
  12. <%@include file="/commons/include/customForm.jsp" %>
  13. <%@include file="/commons/include/ueditor.jsp" %>
  14. <link rel="stylesheet" type="text/css" href="${ctx}/styles/default/css/hotent/task.css"></link>
  15. <script type="text/javascript" src="${ctx}/js/hotent/platform/bpm/TaskAddSignWindow.js"></script>
  16. <script type="text/javascript" src="${ctx}/js/hotent/platform/bpm/TaskBackWindow.js"></script>
  17. <script type="text/javascript" src="${ctx}/js/hotent/platform/bpm/TaskImageUserDialog.js"></script>
  18. <script type="text/javascript" src="${ctx}/js/hotent/platform/tabOperator.js"></script>
  19. <script type="text/javascript" src="${ctx}/js/hotent/platform/bpm/BpmTaskExeAssignDialog.js"></script>
  20. <script type="text/javascript" src="${ctx}/js/hotent/platform/bpm/publicSign.js"></script>
  21. <html>
  22. <head>
  23. <title>任务管理列表</title>
  24. <style media=print type="text/css">
  25. .noprint{visibility:hidden}
  26. </style>
  27. <!--WEB签章JS-->
  28. <script>
  29. if(!window['console']){//IE8,没有改对象,创建一个对象
  30. window['console'] = {log: function(){}}
  31. }
  32. function delCB(signatureid, signData){
  33. if(Signature.list != null && Signature.list[signatureid] != null){
  34. var signatureCreator = Signature.create();
  35. signatureCreator.removeSignature(signData.documentid, signatureid);
  36. }
  37. return true;
  38. }
  39. Signature.init({//初始化属性
  40. clientConfig:{//初始化客户端参数
  41. 'SOFTTYPE':'1'//0为:标准版, 1:网络版
  42. },
  43. delCallBack: delCB,
  44. timestamp: false, //获取签章服务器设定的时间戳服务器时间
  45. imgtag: 0, //签章类型:0:无; 1:公章; 2:私章; 3:法人章; 4:法人签名; 5:手写签名
  46. valid : false, //签章和证书有效期判断, 缺省不做判断
  47. icon_move : true, //移动签章按钮隐藏显示,缺省显示
  48. icon_remove : true, //撤销签章按钮隐藏显示,缺省显示
  49. icon_sign : false, //数字签名按钮隐藏显示,缺省显示
  50. icon_signverify : true, //签名验证按钮隐藏显示,缺省显示
  51. icon_sealinfo : true, //签章验证按钮隐藏显示,缺省显示
  52. certType : 'client',//设置证书在签章服务器
  53. sealType : 'client',//设置印章从签章服务器取
  54. serverUrl : 'http://202.111.178.254:8085/iSignatureServer',//
  55. documentid:'KG2016093001',//设置文档ID
  56. documentname:'测试文档KG2016093001',//设置文档名称
  57. pw_timeout:'s1800' //s:秒;h:小时;d:天
  58. })
  59. window.onload = function(){
  60. //根据RUNID查询签章数据。
  61. $.post("${ctx}/platform/bpm/task/getWebSignature.ht",
  62. {
  63. runId:'${runId}'
  64. },
  65. function(data){
  66. Signature.loadSignatures(eval(data),null,function(){
  67. //自动调用增加签章方法
  68. if("${action}"=="sign"){
  69. addWebSignature();
  70. //自动调用打印方法
  71. }else if("${action}"=="print"){
  72. // printThis(); //暂时关闭
  73. }
  74. });
  75. });
  76. Signature.bind({
  77. remove:function(fn){//签章数据撤销时,将回调此方法,需要实现签章数据持久化(保存数据到后台数据库),
  78. console.log('获取删除的签章ID:'+this.getSignatureid());
  79. fn(true);//保存成功后必须回调fn(true/false)传入true/false分别表示保存成功和失败
  80. },
  81. update:function(fn){//签章数据有变动时,将回调此方法,需要实现签章数据持久化(保存数据到后台数据库),执行后必须回调fn(true/false),传入true/false分别表示保存成功和失败
  82. console.log('获取更新的签章ID:'+this.getSignatureid());
  83. console.log('获取更新的签章数据:'+this.getSignatureData());
  84. fn(true);
  85. }
  86. });
  87. window.onbeforeunload = onbeforeunload_handler;
  88. window.onunload = onunload_handler;
  89. function onbeforeunload_handler() {
  90. }
  91. function onunload_handler() {
  92. Signature.clearRPW();
  93. }
  94. /////////////////////////////////
  95. }
  96. //签章各触发方法
  97. function verifySignature() {
  98. var invalidSignatureArray = Signature.verify();//返回无效签章
  99. if (invalidSignatureArray.length > 0) {
  100. for (var i = 0; i < invalidSignatureArray.length; i++) {
  101. var signature = invalidSignatureArray[i];
  102. }
  103. }else{
  104. Signature.alert("当前文档所有签章有效");
  105. }
  106. }
  107. function findUpdateSignature(){
  108. var updateList = Signature.updateList;
  109. $('#pos2').html('<div>获取有更新的签章数据:</div>');
  110. for (var i = 0; i < updateList.length; i++) {
  111. var signature = updateList[i];
  112. $('#pos2').append('<div>'+signature.getSignatureid()+":"+signature.getSignatureData()+'</div>');
  113. }
  114. }
  115. function findRemoveSignature(){
  116. var removeList = Signature.removeList;
  117. $('#pos1').html('<div>获取删除的签章ID:</div>');
  118. for (var i = 0; i < removeList.length; i++) {
  119. var signatureid = removeList[i];
  120. $('#pos1').append('<div>'+signatureid+'</div>');
  121. }
  122. }
  123. function showSignature() {
  124. Signature.show();
  125. }
  126. function hideSignature() {
  127. Signature.hide();
  128. }
  129. //增加签章
  130. function addWebSignature() {
  131. var that = this;
  132. var posid='pos0';
  133. var signatureCreator = Signature.create();
  134. signatureCreator.run({
  135. position: posid,//设置盖章定位dom的ID,必须设置
  136. okCall: function(fn, image) {//点击确定后的回调方法,this为签章对象 ,签章数据撤销时,将回调此方法,需要实现签章数据持久化(保存数据到后台数据库),保存成功后必须回调fn(true/false)渲染签章到页面上
  137. fn(true);
  138. },
  139. cancelCall : function() {//点击取消后的回调方法
  140. console.log("取消!")
  141. }
  142. });
  143. }
  144. //保存签章
  145. function saveWebSignature() {
  146. var signatureCreator = Signature.create();
  147. var that = this;
  148. var list = Signature.list;
  149. var jsonArray = [];
  150. var jsonObj ;
  151. var extra = "{icon_move: function(){Signature.alert('禁止移动');return false;}}";
  152. for ( var key in list) {
  153. var tt = list[key];
  154. jsonObj= new Object();
  155. jsonObj.extra=extra;
  156. jsonObj.signatureid=tt.getSignatureid();
  157. jsonObj.signatureData=tt.getSignatureData();
  158. jsonArray.push(jsonObj);
  159. }
  160. //调用保存签章的controller
  161. $.post("${ctx}/platform/bpm/task/saveWebSignature.ht",
  162. {
  163. runId:'${runId}',
  164. userId:'${curUserId}',
  165. userName:'${curUserName}',
  166. signatureData:JSON.stringify(jsonArray)
  167. },
  168. function(data){
  169. if(data!='success'){
  170. Signature.alert('签章数据保存出错,请稍后重试');
  171. return;
  172. }else{
  173. //保存成功后关闭DIALOG
  174. parent.closeSignatureDialog();
  175. }
  176. });
  177. }
  178. //查询签章
  179. function getWebSignature(){
  180. $.post("${ctx}/platform/bpm/task/getWebSignature.ht",
  181. {
  182. runId:'${runId}'
  183. },
  184. function(data){
  185. return eval(data);
  186. });
  187. }
  188. function takeCare(){
  189. Signature.alert('注意: 由于IE9及以下浏览器受限,请使用其他浏览器访问本页面,<br>如果需要IE访问,复制本页面目录和kinggrid文件夹至服务器端访问。');
  190. }
  191. function printThis() {
  192. window.print();
  193. }
  194. function closeThis(){
  195. parent.closeSignatureDialog();
  196. }
  197. </script>
  198. </head>
  199. <body style="overflow: auto;" >
  200. <div class="noprint" style="position: fixed;top:0px;left:0px;width:100%;height:56px;">
  201. <div class="panel-toolbar" style="margin-top: 0px;padding: 0px 5px 6px;">
  202. <div class="toolBar clearfix" style="padding: 2px 0px;min-height: 33px;">
  203. <c:if test="${action != 'print'}">
  204. <div class="group"><a id="btnAgree" class="link agree" onclick="saveWebSignature()"><span></span>保存</a></div>
  205. </c:if>
  206. <div class="group"><a class="link print" onclick="printThis()"><span></span>打印</a></div>
  207. <div class="group"><a class="link reject" onclick="closeThis()"><span></span>关闭</a></div>
  208. </div>
  209. </div>
  210. </div>
  211. ${form}
  212. </body>
  213. </html>