rpt_print.ejs 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <script src="/public/js/jquery/jquery-3.2.1.min.js"></script>
  7. <script type="text/javascript" src="/public/js/common_ajax.js"></script>
  8. <script type="text/javascript" src="/public/report/js/jpc_output_value_define.js"></script>
  9. <script type="text/javascript" src="/public/report/js/rpt_public.js"></script>
  10. <script type="text/javascript" src="/public/report/js/rpt_figure.js"></script>
  11. <script type="text/javascript" src="/public/report/js/jpc_output.js"></script>
  12. <script type="text/javascript" src="/public/report/js/rpt_print.js"></script>
  13. <script type="text/javascript" src="/public/report/js/rpt_signature.js?20231024"></script>
  14. <script type="text/javascript" src="/public/report/js/rpt_preview_common.js"></script>
  15. <!--
  16. <link rel="stylesheet" href="/public/css/bootstrap/bootstrap.min.css">
  17. -->
  18. <link rel="shortcut icon" href="/public/images/favicon.ico">
  19. </head>
  20. <style type="text/css">
  21. .pageBreakOrg {
  22. page-break-before: auto;
  23. page-break-after: always;
  24. }
  25. .pageBreak {
  26. page-break-before: auto;
  27. page-break-after: auto;
  28. }
  29. <% if(size === 'A4') { %>
  30. @page {
  31. size: A4 portrait;
  32. margin-top: 0cm; margin-bottom: 0cm; margin-left: 0mm; margin-right: 0mm
  33. }
  34. <% } else if(size === 'A3') { %>
  35. @page {
  36. size: A3 portrait;
  37. margin-top: 0cm; margin-bottom: 0cm; margin-left: 0mm; margin-right: 0mm
  38. }
  39. <% } else if(size === 'A5') { %>
  40. @page {
  41. size: A5 portrait;
  42. margin-top: 0cm; margin-bottom: 0cm; margin-left: 0mm; margin-right: 0mm
  43. }
  44. <% } else if(size === 'B4') { %>
  45. @page {
  46. size: B4 portrait;
  47. margin-top: 0cm; margin-bottom: 0cm; margin-left: 0mm; margin-right: 0mm
  48. }
  49. <% } else if(size === 'B5') { %>
  50. @page {
  51. size: B5 portrait;
  52. margin-top: 0cm; margin-bottom: 0cm; margin-left: 0mm; margin-right: 0mm
  53. }
  54. <% } else if(size === 'LETTER') { %>
  55. @page {
  56. size: LETTER portrait;
  57. margin-top: 0cm; margin-bottom: 0cm; margin-left: 0mm; margin-right: 0mm
  58. }
  59. <% } else { %>
  60. @page {
  61. size: A4 portrait;
  62. margin-top: 0cm; margin-bottom: 0cm; margin-left: 0mm; margin-right: 0mm
  63. }
  64. <% } %>
  65. @media print {
  66. body {
  67. margin-top: 0mm; margin-bottom: 0mm; margin-left: 0mm; margin-right: 0mm
  68. }
  69. }
  70. body {page: page}
  71. div {page: page}
  72. </style>
  73. <SCRIPT type="text/javascript">
  74. const SCREEN_DPI = [];
  75. const PAGE_SIZE = '<%- size %>';
  76. function getScreenDPI() {
  77. if (SCREEN_DPI.length === 0) {
  78. if (window.screen.deviceXDPI != undefined) {
  79. SCREEN_DPI.push(window.screen.deviceXDPI);
  80. SCREEN_DPI.push(window.screen.deviceYDPI);
  81. } else {
  82. let tmpNode = document.createElement("DIV");
  83. tmpNode.style.cssText = "width:1in;height:1in;position:absolute;left:0px;top:0px;z-index:99;visibility:hidden";
  84. document.body.appendChild(tmpNode);
  85. SCREEN_DPI.push(parseInt(tmpNode.offsetWidth));
  86. SCREEN_DPI.push(parseInt(tmpNode.offsetHeight));
  87. tmpNode.parentNode.removeChild(tmpNode);
  88. }
  89. }
  90. return SCREEN_DPI;
  91. }
  92. </SCRIPT>
  93. <body onload="printPageLoading()" onbeforeunload="printPageClosing()">
  94. <canvas id="chkCanvas" style="display:none"></canvas>
  95. <div class="panel-body" id="print_preview_div" style="display:block">
  96. <button class="btn btn-outline-primary btn-sm" type="button" onclick="actualPrintPage()">
  97. <i class="fa fa-print"></i>
  98. 打印 <span id="checkCountPrint" class="badge badge-primary"></span>
  99. </button>
  100. </div>
  101. </body>
  102. </html>