index.html 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <script language="javascript" src="__CDN__/assets/js/LodopFuncs.js"></script>
  6. <script language="javascript" src="__CDN__/assets/js/template.js"></script>
  7. </head>
  8. <body>
  9. <div style="width: 60%; height: 510px;margin: 0 auto;">
  10. <div class="form-group">
  11. <div class="col-xs-12 col-sm-8"><br>
  12. <h4 style="color: red">提示:如果生成多个不同物料不请换行输入,打印中带有()请使用英文()</h4><br>
  13. <span>纸张选择&nbsp;</span>
  14. <select id="selectList" style="height: 25px;border-radius: 5px 5px 5px 5px">
  15. <option value="10*6">不选择默认10*6&nbsp;&nbsp;</option>
  16. <option value="10*5">10*5</option>
  17. <option value="10*6">10*6</option>
  18. <option value="10*8">10*8</option>
  19. </select>
  20. <br><br>
  21. <span>打印数量&nbsp;</span>
  22. <input type="number" id="number" placeholder="不填默认打印两份" min="0" oninput="value=value.replace('-', '');" >
  23. <br><br>
  24. </div>
  25. </div>
  26. <div class="form-group">
  27. <div class="col-xs-12 col-sm-8">
  28. <span>日期&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
  29. <input type="text" id="time" placeholder="请输入日期" readonly disabled>
  30. <br><br>
  31. </div>
  32. </div>
  33. <div class="form-group">
  34. <label class="control-label col-xs-12 col-sm-8">打印区域</label>
  35. <div class="col-xs-12 col-sm-8">
  36. <textarea name="" id="textarea" cols="70" rows="10"></textarea>
  37. </div>
  38. </div>
  39. <div class="form-group layer-footer">
  40. <label class="control-label col-xs-12 col-sm-2"></label>
  41. <div class="col-xs-12 col-sm-8"><br><br>
  42. <a href="javascript:small_v2_print()" id="print" class="btn btn-default btn-embossed print">打印</a>
  43. </div>
  44. </div>
  45. </div>
  46. <script language="javascript" type="text/javascript">
  47. function time(){
  48. var time = new Date();
  49. var h = time.getFullYear();//获取年
  50. var m = time.getMonth() + 1;//获取月
  51. var d = time.getDate();//获取日
  52. // var H = time.getHours();//获取时
  53. // var M = time.getMinutes();//获取分
  54. // var S = time.getSeconds();//获取秒
  55. // return h+""+m+""+d+""+H+""+M+""+S;
  56. return h+""+m+""+d; //返回 年月日时分秒
  57. }
  58. document.getElementById("time").value = time().slice(2);//获取年月日,截取前两位
  59. // 打印
  60. function small_v2_print() {
  61. var textarea = $("#textarea").val();// 获取 textarea 中的所有文本值
  62. let selectList =document.getElementById("selectList").value;// 获取 selectList 下拉选项纸张大小
  63. let number =document.getElementById("number").value; // 获取 number 打印数量
  64. let time =document.getElementById("time").value;//获取六位数时间
  65. if(escape(textarea).indexOf("%u")<0){
  66. var arr = textarea.split("\n");// 按换行拆分出所有文本每一行
  67. for (var i=0;i<arr.length;i++) {
  68. //将每一行继续按逗号、制表符拆分:split(/[符号1,符号2]/)
  69. var pairs = arr[i].split(/[,\t]/);
  70. for (var j=0;j<pairs.length;j++) {
  71. if($("#textarea").val() == ''){
  72. alert("打印区域不能为空");
  73. }else{
  74. var barcode = pairs[0];// 取出具体的每个键值
  75. // console.log(barcode);
  76. // 文字,标签大小,数量,时间
  77. CreateOneFormPage(barcode,selectList,number,time);
  78. }
  79. }
  80. }
  81. }
  82. else{
  83. layer.confirm("不能包含中文", {
  84. title: ['信息'],
  85. btn: ['确认'],
  86. icon: 0,
  87. closeBtn: 2,
  88. shade: [0.3, '#000'],
  89. shadeClose: true,
  90. id: "one",
  91. anim: 2,
  92. isOutAnim: false,
  93. area: ['30%', '30%'],
  94. });
  95. // alert("不能包含中文");
  96. }
  97. };
  98. var LODOP; //声明为全局变量
  99. function CreateOneFormPage(barcode,selectList,number,time){
  100. LODOP=getLodop();
  101. //strBodyStyle=字体样式、barcodenumber=字体换行
  102. var strBodyStyle = "<style>body{font-size: 30px;text-align: center;}</style>";
  103. var barcodenumber = barcode.substring(0,10)+"</br>"+barcode.substring(10,20)+"</br>"+barcode.substring(20,30)+"</br>"+barcode.substring(30,40)+"</br>"+barcode.substring(40,50);
  104. LODOP.PRINT_INIT("");
  105. //判断用户打印份数
  106. if(number){
  107. LODOP.SET_PRINT_COPIES(number);
  108. }else{
  109. LODOP.SET_PRINT_COPIES(2);
  110. }
  111. //判断用户选择的纸张大小规格
  112. if(selectList == "10*6"){
  113. LODOP.SET_PRINT_PAGESIZE(2,"1100","600","");
  114. LODOP.SET_PRINT_MODE("RESELECT_ORIENT",true);
  115. LODOP.SET_PRINT_MODE("PRINT_NOCOLLATE",1);
  116. LODOP.ADD_PRINT_HTM(17,-133,498,334,strBodyStyle+barcodenumber);
  117. LODOP.ADD_PRINT_TEXT(219,-4,238,37,time);
  118. LODOP.SET_PRINT_STYLEA(0,"FontSize",15);
  119. LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
  120. LODOP.SET_PRINT_STYLEA(0,"Bold",1);
  121. LODOP.ADD_PRINT_BARCODE(245,45,"108.9mm","49mm","QRCode",barcode);
  122. // LODOP.ADD_PRINT_BARCODE(245,45,"108.9mm","49mm","QRCode","thUXsyxxh(frw)pch(14073142556,14071242329)");
  123. LODOP.SET_PRINT_STYLEA(0,"QRCodeVersion",7);
  124. }
  125. LODOP.PRINT();//打印
  126. // LODOP.PREVIEW();//打印预览
  127. // LODOP.PRINTA();//选择打印机进行打印
  128. // LODOP.PRINT_SETUP();//打印维护设置大小
  129. };
  130. </script>
  131. </body>
  132. </html>