pdfSelect.jsp 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300
  1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2. <script>
  3. var socket;
  4. var rent10Id = null;
  5. var base64Image = "";
  6. var lessee = ""
  7. function pdfSelect_load(id,lesseeName){
  8. rent10Id = id;
  9. lessee = lesseeName;
  10. registerWebsocket();
  11. }
  12. function selectPdf(type){
  13. var imgData = $("#imgData").val();
  14. $.ajax({
  15. type: "post",//使用post方法访问后台
  16. dataType: "json",//返回json格式的数据
  17. url: "rent10Action_rent10PdfDownLoad",//要访问的后台地址
  18. data:{"base64Image":imgData,"rent10.id":rent10Id,"rent10.remarks":type},
  19. complete :function(){$("#load").hide();},//AJAX请求完成时隐藏loading提示
  20. success: function(msg){//msg为返回的数据,在这里做数据绑定
  21. if(msg.success){
  22. $.messager.alert("提示","已生成合同Pdf");
  23. }
  24. }
  25. });
  26. }
  27. var ws;
  28. var page1_id;
  29. var page2_id;
  30. var page3_id;
  31. var page4_id;
  32. function registerWebsocket() {
  33. // 注册路径 加上自己的用户名
  34. ws = new WebSocket("ws://127.0.0.1:31975/")
  35. //连接成功建立的回调方法
  36. ws.onopen = function (msg)
  37. {
  38. ws.send("{\"func\":\"InitRecordMgr\"}");
  39. ws.send("{\"func\":\"InitBarcodeMgr\"}");
  40. //ws.send("{\"func\":\"InitFaceMgr\"}");
  41. ws.send("{\"func\":\"InitIdCardRecoMgr\"}");
  42. ws.send("{\"func\":\"InitOcrMgr\"}");
  43. ws.send("{\"func\":\"InitSignScreenMgr\"}");
  44. ws.send("{\"func\":\"InitIdReaderMgr\"}");
  45. ws.send("{\"func\":\"OpenCertRecoDevice\"}");
  46. //opendevice();
  47. };
  48. //接收消息并处理
  49. ws.onmessage = function (msg) {
  50. if (typeof msg.data == "string"){
  51. var recvJson = JSON.parse(msg.data);
  52. var func = recvJson["func"];
  53. if (func == "CloseCameraStream")
  54. {
  55. var myimg = document.getElementById("myCanvas");
  56. myimg.src = null;
  57. }
  58. else if (func == "CloseCamera")
  59. {
  60. var myimg = document.getElementById("myCanvas");
  61. myimg.src = null;
  62. }
  63. else if (func == "CameraStream")
  64. {
  65. var myimg = document.getElementById("myCanvas");
  66. myimg.src = "data:image/jpeg;base64," + recvJson["param"]["base64"];
  67. }
  68. else if (func == "HideCameraStream")
  69. {
  70. var myimg = document.getElementById("myCanvas2");
  71. myimg.src = "data:image/jpeg;base64," + recvJson["param"]["base64"];
  72. }
  73. else if (func == "CaptureToBase64")
  74. {
  75. var info = "{\"func\":\"";
  76. info += recvJson["identifier"];
  77. info += "\", \"param\":{\"base64\":\"";
  78. info += recvJson["ret"];
  79. info += "\"}}";
  80. ws.send(info);
  81. }
  82. else if (func == "GetBarcodeInfoFromBase64")
  83. {
  84. alert(msg.data);
  85. }
  86. else if (func == "GetOcrInfoFromBase64")
  87. {
  88. alert(msg.data);
  89. }
  90. else if (func == "CompareFaceFeatureFromFile")
  91. {
  92. alert(recvJson["ret"]);
  93. }
  94. else if (func == "Timer")
  95. {
  96. capture();
  97. }
  98. else if (func == "MoveTrack")
  99. {
  100. capture();
  101. }
  102. else if (func == "GetTempFileName")
  103. {
  104. alert(recvJson["ret"]);
  105. }
  106. else if (func == "SignScreenShowHtmlPage")
  107. {
  108. var identifier = recvJson["identifier"];
  109. if (identifier == "html_1")
  110. {
  111. page1_id = recvJson["ret"];
  112. }
  113. else if (identifier == "html_2")
  114. {
  115. page2_id = recvJson["ret"];
  116. }
  117. }
  118. else if (func == "SignScreenShowPdfSignPage")
  119. {
  120. var identifier = recvJson["identifier"];
  121. if (identifier == "page3")
  122. {
  123. page3_id = recvJson["ret"];
  124. }
  125. }
  126. else if (func == "SignScreenShowPdfWWSignPage")
  127. {
  128. var identifier = recvJson["identifier"];
  129. if (identifier == "page4")
  130. {
  131. page4_id = recvJson["ret"];
  132. }
  133. }
  134. else if (func == "SignScreenEvent")
  135. {
  136. if (recvJson["param"]["pageid"] == page1_id && 3 == recvJson["param"]["event"])
  137. {
  138. ws.send("{\"func\":\"SignScreenShowHtmlPage\", \"identifier\":\"html_2\", \"param\":{\"htmlpath\":\"D:\\\\2.html\", \"timeout\":\"5000\"}}");
  139. }
  140. else if (recvJson["param"]["pageid"] == page2_id && 3 == recvJson["param"]["event"])
  141. {
  142. ws.send("{\"func\":\"SignScreenCancel\"}");
  143. }
  144. else if (recvJson["param"]["pageid"] == page3_id && 3 == recvJson["param"]["event"])
  145. {
  146. ws.send("{\"func\":\"SignScreenShowHtmlPage\", \"identifier\":\"html_2\", \"param\":{\"htmlpath\":\"D:\\\\2.html\", \"timeout\":\"5000\"}}");
  147. }
  148. else if (recvJson["param"]["pageid"] == page4_id && 3 == recvJson["param"]["event"])
  149. {
  150. ws.send("{\"func\":\"SignScreenShowHtmlPage\", \"identifier\":\"html_2\", \"param\":{\"htmlpath\":\"D:\\\\2.html\", \"timeout\":\"5000\"}}");
  151. }
  152. }
  153. else if (func == "SignScreenSignEvent")
  154. {
  155. var myimg = document.getElementById("myCanvas2");
  156. myimg.src = "data:image/jpeg;base64," + recvJson["param"]["imagebase64"];
  157. base64Image = myimg.src;
  158. $("#imgData").attr("value",myimg.src)
  159. if (recvJson["param"]["pageid"] == page1_id && (recvJson["param"]["signevent"] == 3 || recvJson["param"]["signevent"] == 2))
  160. {
  161. //alert("sign-------->"+myimg.src);
  162. ws.send("{\"func\":\"SignScreenShowHtmlPage\", \"identifier\":\"html_2\", \"param\":{\"htmlpath\":\"D:\\\\2.html\", \"timeout\":\"5000\"}}");
  163. }
  164. else if (recvJson["param"]["pageid"] == page3_id && (recvJson["param"]["signevent"] == 3 || recvJson["param"]["signevent"] == 2))
  165. {
  166. ws.send("{\"func\":\"SignScreenShowHtmlPage\", \"identifier\":\"html_2\", \"param\":{\"htmlpath\":\"D:\\\\2.html\", \"timeout\":\"5000\"}}");
  167. }
  168. else if (recvJson["param"]["pageid"] == page4_id && (recvJson["param"]["signevent"] == 3 || recvJson["param"]["signevent"] == 2))
  169. {
  170. var file = myimg.src;
  171. ws.send("{\"func\":\"SignScreenShowHtmlPage\", \"identifier\":\"html_2\", \"param\":{\"htmlpath\":\"D:\\\\2.html\", \"timeout\":\"5000\"}}");
  172. }
  173. }
  174. else if (func == "SignScreenEvalEvent")
  175. {
  176. if (recvJson["param"]["pageid"] == page2_id && recvJson["param"]["evalevent"] == 1)
  177. {
  178. ws.send("{\"func\":\"SignScreenCancel\"}");
  179. alert(recvJson["param"]["score"]);
  180. }
  181. }
  182. else if (func == "ReadIdCard")
  183. {
  184. alert(msg.data);
  185. }
  186. else if (func == "CertRecoInfo")
  187. {
  188. if ('3' == recvJson["param"]["flag"])
  189. {
  190. alert(JSON.stringify(recvJson['param']['info']['info']));
  191. }
  192. }
  193. }
  194. }
  195. //连接发生错误的回调方法
  196. ws.onerror = function () {
  197. alert("WebSocket连接发生错误");
  198. };
  199. //连接关闭的回调方法
  200. ws.onclose = function () {
  201. var myimg = document.getElementById("myCanvas2");
  202. myimg.src = null;
  203. }
  204. //监听窗口关闭事件,当窗口关闭时,主动去关闭websocket连接,防止连接还没断开就关闭窗口,server端会抛异常。
  205. window.onbeforeunload = function () {
  206. disconnect();
  207. }
  208. }
  209. function disconnect(){
  210. ws.close();
  211. ws = null;
  212. }
  213. function opensignpage4(){
  214. ws.send("{\"func\":\"SignScreenShowPdfWWSignPage\", \"identifier\":\"page4\", \"param\":{\"pdfpath\":\"E:\\\\signName2.pdf\", \"signedpdfpath\":\"E:\\\\signName2.pdf\", \"timeout\":\"0\"}}");
  215. }
  216. function rent10SignWhitePdf(){
  217. ws.send("{\"func\":\"SignScreenShowPdfWWSignPage\", \"identifier\":\"page4\", \"param\":{\"pdfpath\":\"E:\\\\signWhite.pdf\", \"signedpdfpath\":\"E:\\\\signWhite2.pdf\", \"timeout\":\"0\"}}");
  218. }
  219. function rent10SignPdf(){
  220. $.ajax({
  221. type: "post",//使用post方法访问后台
  222. dataType: "json",//返回json格式的数据
  223. url: "rent10Action_rent10SignPdf",//要访问的后台地址
  224. data:{"rent10.lessee":lessee},
  225. complete :function(){$("#load").hide();},//AJAX请求完成时隐藏loading提示
  226. success: function(msg){//msg为返回的数据,在这里做数据绑定
  227. if(msg.success){
  228. window.location.href = whzl.basePath+"/rent10Action_downLoadSignPdf"
  229. }
  230. }
  231. });
  232. }
  233. function openRent10SignPdf(){
  234. $.ajax({
  235. type: "post",//使用get方法访问后台
  236. dataType: "json",//返回json格式的数据
  237. url: "rent10Action_rent10Detail",//要访问的后台地址
  238. data: "rent10.id="+rent10Id,//要发送的数据
  239. complete :function(){$("#load").hide();},//AJAX请求完成时隐藏loading提示
  240. success: function(msg){
  241. if(msg.obj.list.length>0){
  242. for(var a in msg.obj.list){
  243. var fileName = msg.obj.list[a].fileName;
  244. var suffixName = fileName.substring(fileName.lastIndexOf('.') + 1);
  245. if(suffixName=="pdf"){
  246. window.open("http://222.184.31.232:18009/"+msg.obj.list[a].filePath)
  247. }
  248. }
  249. }else{
  250. $.messager.alert("提示","当前未生成合同Pdf");
  251. }
  252. }
  253. })
  254. }
  255. </script>
  256. <div class="easyui-layout" data-options="fit:true,border:false" style="margin: 0px;padding: 0px;">
  257. <div data-options="region:'center',border:false">
  258. <table id="templetSelectDataGrid">
  259. <thead>
  260. <tr>
  261. <input type="button" value="下载姓名Pdf" onclick="rent10SignPdf()" />
  262. <input type="button" value="打开姓名Pdf" onclick="opensignpage4()" />
  263. <input type="button" value="打开空白页" onclick="rent10SignWhitePdf()" />
  264. <input type="button" value="打印合同" onclick="openRent10SignPdf()" />
  265. <img id="myCanvas2" width='640' height='480' style="background-color: white; float: left;"/>
  266. <input id="imgData" name="imgData" type="hidden"/>
  267. </tr>
  268. <tr>
  269. <th data-options="field:'title',sortable:false,width:320">模板标题</th>
  270. </tr>
  271. <tr>
  272. <td field="title"><a href="javascript:void(0)" onclick="selectPdf(1)">公租房合同(首次) </a></td>
  273. </tr>
  274. <tr>
  275. <td field="title"><a href="javascript:void(0)" onclick="selectPdf(2)">公租房合同(续租)</a></td>
  276. </tr>
  277. <tr>
  278. <td field="title"><a href="javascript:void(0)" onclick="selectPdf(3)">市场价格房屋租赁合同</a></td>
  279. </tr>
  280. </thead>
  281. </table>
  282. </div>
  283. </div>