productCode.html 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <script type="text/javascript" src="js/jquery.min.js"></script>
  7. <script type="text/javascript" src="js/jquery.jqprint-0.3.js"></script>
  8. <script type="text/javascript" src="js/jquery.browser.js"></script>
  9. <script type="text/javascript" src="js/jquery.qrcode.min.js"></script>
  10. <script type="text/javascript" src="js/jquery.jokeer.js"></script>
  11. </head>
  12. <style type="text/css">
  13. .one{
  14. width:250px;
  15. height:200px;
  16. border:1px red solid;
  17. background-color: white;
  18. float:left;
  19. }
  20. .codeBox{
  21. }
  22. td{
  23. font-size:10px;
  24. font-weight: bold;
  25. }
  26. body{
  27. background-color: gray;
  28. }
  29. </style>
  30. <body>
  31. <!--startprint-->
  32. <button onclick="preview()">打印</button>
  33. <div class="codeBox"></div>
  34. <!--endprint-->
  35. </body>
  36. <script type="text/javascript" src="js/jquery.jokeer.js"></script>
  37. <script type="text/javascript">
  38. var ArrCode = ["DX201811230021", "DX201811230022", "DX201811230023", "DX201811230024", "DX201811230025", "DX201811230026", "DX201811230027"];//需要生成二维码的数据
  39. function utf16to8(str) {
  40. var out, i, len, c;
  41. out = "";
  42. len = str.length;
  43. for(i = 0; i < len; i++) {
  44. c = str.charCodeAt(i);
  45. if((c >= 0x0001) && (c <= 0x007F)) {
  46. out += str.charAt(i);
  47. } else if(c > 0x07FF) {
  48. out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F));
  49. out += String.fromCharCode(0x80 | ((c >> 6) & 0x3F));
  50. out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
  51. } else {
  52. out += String.fromCharCode(0xC0 | ((c >> 6) & 0x1F));
  53. out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
  54. }
  55. }
  56. return out;
  57. }
  58. function proDuctCode(obj) {
  59. if(obj) {
  60. var _html = "";
  61. for(var i = 0; i < obj.length; i++) {
  62. _html += "<div class='one'><table><tr><td rowspan=5 id='code" + i + "'><img id='img" + i + "'/></td><td>颜色:白色</td></tr><tr><td>尺寸:2L</td></tr><tr><td>件数:100</td></tr><tr><td>包号:1</td></tr><tr><td>缸号:</td></tr><tr><td>生产号:DK3</td></tr></table></div>";
  63. }
  64. $(".codeBox").html("");
  65. $(".codeBox").html(_html);
  66. for(var i = 0; i < obj.length; i++) {
  67. $('#code' + i).qrcode({
  68. width: 150,
  69. height: 150,
  70. correctLevel: 0,
  71. text: utf16to8(obj[i])
  72. });
  73. var canvas=$('#code' + i).find('canvas').get(0);
  74. var data = canvas.toDataURL('image/jpg');
  75. $('#img'+i).attr('src',data) ;
  76. $('#code' + i).find('canvas').remove();
  77. }
  78. } else {
  79. console.log("输入失败");
  80. }
  81. }
  82. proDuctCode(ArrCode);
  83. //打印
  84. function preview(){
  85. bdhtml=window.document.body.innerHTML;
  86. sprnstr="<!--startprint-->";
  87. eprnstr="<!--endprint-->";
  88. prnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+17);
  89. prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));
  90. window.document.body.innerHTML=prnhtml;
  91. window.print();
  92. }
  93. function print(){
  94. $(".codeBox").jqprint({
  95. debug:false,
  96. importCSS:true,
  97. printContainer:true,
  98. operaSupport:false
  99. });
  100. }
  101. </script>
  102. </html>