rpt_print.ejs 3.9 KB

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