code_show.jsp 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343
  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2. <%
  3. String path = request.getContextPath();
  4. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  5. %>
  6. <!DOCTYPE html>
  7. <html>
  8. <head>
  9. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  10. <!-- 避免IE使用兼容模式 -->
  11. <meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1">
  12. <meta name="renderer" content="webkit">
  13. <!-- 导入公共样式 -->
  14. <title>二维码页面</title>
  15. <!-- TopJUI框架样式 -->
  16. <link type="text/css" href="${pageContext.request.contextPath}/topjui/css/topjui.core.min.css" rel="stylesheet">
  17. <link type="text/css" href="${pageContext.request.contextPath}/topjui/themes/default/topjui.red.css" rel="stylesheet" id="dynamicTheme"/>
  18. <script type="text/javascript" src="js/jquery.min.js"></script>
  19. <script type="text/javascript" src="js/jquery.jqprint-0.3.js"></script>
  20. <script type="text/javascript" src="js/jquery.browser.js"></script>
  21. <script type="text/javascript" src="js/jquery.qrcode.min.js"></script>
  22. <script type="text/javascript" src="js/jquery.jokeer.js"></script>
  23. <style type="text/css">
  24. p{
  25. margin: 0;
  26. padding: 0;
  27. -webkit-tap-highlight-color: rgba(0,0,0,0);
  28. font: 12px/normal "microsoft yahei","Times New Roman","宋体",Times,serif;
  29. letter-spacing: 1px;
  30. }
  31. .one{
  32. width:170px;
  33. height:120px;
  34. border:1px red solid;
  35. background-color: white;
  36. float:left;
  37. }
  38. .two{
  39. width:170px;
  40. height:150px;
  41. border:1px red solid;
  42. background-color: white;
  43. float:left;
  44. }
  45. .three{
  46. width:170px;
  47. height:175px;
  48. border:1px red solid;
  49. background-color: white;
  50. float:left;
  51. text-align:center;
  52. padding-bottom:35px;
  53. }
  54. .simg{
  55. width:70px;
  56. height:70px;
  57. }
  58. .small-font{
  59. font-size: 12px;
  60. -webkit-transform-origin-x: 0;
  61. -webkit-transform: scale(0.75);
  62. line-height: 10px;
  63. }
  64. .smallsize-font {
  65.     font-size:9.8px;
  66. }
  67. .bh1{
  68. transform:rotate(90deg);
  69. -ms-transform:rotate(90deg); /* Internet Explorer 9*/
  70. -moz-transform:rotate(90deg); /* Firefox */
  71. -webkit-transform:rotate(90deg); /* Safari 和 Chrome */
  72. -o-transform:rotate(90deg); /* Opera */
  73. filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
  74. margin-left:0px;
  75. }
  76. body{
  77. background-color: gray;
  78. }
  79. input[name="start"]{width: 80px;}
  80. input[name="end"]{width: 80px;}
  81. #bw{
  82. width:150px;
  83. height:25px;
  84. }
  85. hr{
  86. height:2px;
  87. border:none;
  88. border-top:2px solid #185598;
  89. }
  90. </style>
  91. </head>
  92. <body id="body">
  93. <!--startprint-->
  94. <input style="width:150px;height:35px" onclick="preview()" value="打印二维码" type="button" />
  95. <input type="number" name="start" placeholder="开始包数">
  96. <span style="color:#fff">~~~</span>
  97. <input type="number" name="end" placeholder="结束包数">
  98. <input type="submit" id="scsc" value="选择" style="width:150px;height:35px">
  99. <select id="dyStyle" style="width:150px;height:35px">
  100. <option>效果1</option>
  101. <option>效果2</option>
  102. <option>效果3</option>
  103. </select>
  104. <input type="text" value="" id ="bw" placeholder="填写部位"><button style="width:150px;height:35px" id="writeBW" onclick="upBw()">确定填写</button>
  105. <input type="submit" id="scsc2" value="包数统计" style="width:150px;height:35px">
  106. <div class="codeBox"></div>
  107. <!--endprint-->
  108. </body>
  109. <!-- <script language="javascript" src="LodopFuncs.js"></script>
  110. <object id="LODOP_OB" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width=0 height=0>
  111. <embed id="LODOP_EM" type="application/x-print-lodop" width=0 height=0></embed>
  112. </object> -->
  113. <script type="text/javascript" src="js/jquery.jokeer.js"></script>
  114. <script type="text/javascript">
  115. $("#dyStyle").change(function(){//code...
  116. //console.info(111);
  117. document.getElementById("scsc").click();
  118. //$("#scsc").onclick();
  119. });
  120. //根据订单号查询所有的二维码信息
  121. function utf16to8(str) {
  122. var out, i, len, c;
  123. out = "";
  124. len = str.length;
  125. for(i = 0; i < len; i++) {
  126. c = str.charCodeAt(i);
  127. if((c >= 0x0001) && (c <= 0x007F)) {
  128. out += str.charAt(i);
  129. } else if(c > 0x07FF) {
  130. out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F));
  131. out += String.fromCharCode(0x80 | ((c >> 6) & 0x3F));
  132. out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
  133. } else {
  134. out += String.fromCharCode(0xC0 | ((c >> 6) & 0x1F));
  135. out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
  136. }
  137. }
  138. return out;
  139. }
  140. //proDuctCode(ArrCode);
  141. //打印
  142. function preview(){
  143. /* bdhtml=window.document.body.innerHTML;
  144. sprnstr="<!--startprint-->";
  145. eprnstr="<!--endprint-->";
  146. prnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+17);
  147. prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));
  148. window.document.body.innerHTML=prnhtml;
  149. window.print();*/
  150. print();
  151. /* var tata=document.execCommand("print");
  152. if(tata){
  153. console.log("取消打印");
  154. } */
  155. }
  156. function print(){
  157. $(".codeBox").jqprint({
  158. debug:false,
  159. importCSS:true,
  160. printContainer:true,
  161. operaSupport:false
  162. });
  163. }
  164. //获取传入id
  165. function request(paras) {
  166. var url = location.href;
  167. var paraString = url.substring(url.indexOf("?") + 1, url.length).split("&");
  168. var paraObj = { };
  169. for (var i = 0; j = paraString[i]; i++) {
  170. paraObj[j.substring(0, j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=") + 1, j.length);
  171. }
  172. var returnValue = paraObj[paras.toLowerCase()];
  173. if (typeof (returnValue) == "undefined") {
  174. return "";
  175. } else {
  176. return returnValue;
  177. }
  178. }
  179. $("#scsc").click(function(){
  180. var start = Number($("input[name='start']").val());
  181. var end = Number($("input[name='end']").val());
  182. if((!(/(^[1-9]\d*$)/.test(start)) || !(/(^[1-9]\d*$)/.test(end))) || end<start){
  183. alert("请准确输入!");
  184. }else if(end-start>399){
  185. alert("一次最多打印400包!");
  186. }else{
  187. start=start-1;
  188. var id=request('id');
  189. console.info(id);
  190. $.ajax({
  191. url: "codefindById.action?place_num="+id,
  192. type: "post",
  193. dataType: "json",
  194. async: !1,
  195. success: function(data) {
  196. if(end>data.rows.length){
  197. alert("该订单最多"+data.rows.length+"个包!");
  198. return;
  199. }
  200. //var size=data.rows.length;
  201. var size=end-start;
  202. var ArrCode = [size];//需要生成二维码的数据
  203. for(var j=0;j<size;j++){
  204. var num = Number(j)+Number(start);
  205. ArrCode[j]=data.rows[num].packe_num;
  206. }
  207. if(ArrCode) {
  208. var _html = "";
  209. var sty = $("#dyStyle").val();
  210. //console.info("打印效果:---"+sty);
  211. if(sty == "效果1"){
  212. //console.info("打印效果:---1");
  213. for(var i = 0; i < ArrCode.length; i++) {
  214. var num = Number(i)+Number(start);
  215. var packe = data.rows[num];
  216. //console.info(packe);
  217. var packnum = packe.packe_num;
  218. var bao=packnum.substr(packnum.length-4);
  219. _html+="<div class='one' id='code" + num + "'><p >生产号:"+packe.p_num+"</p><p>件数:"+packe.p_number+"&nbsp;颜色:"+packe.p_color+"</p><div style='width:100%;float:left;'><img style='margin-left:15px;vertical-align:middle;float:left;' id='img" + num + "'/><div class='buwei' style='float:left;width:70px;height:50px;vertical-align:middle;word-wrap:break-word;'></div></div><p >尺码:"+packe.p_size+"&nbsp;包号:"+bao+"</p></div>";
  220. }
  221. }else if(sty == "效果2"){
  222. //console.info("打印效果:---2");
  223. for(var i = 0; i < ArrCode.length; i++) {
  224. var num = Number(i)+Number(start);
  225. var packe = data.rows[num];
  226. var packnum = packe.packe_num;
  227. var bao=packnum.substr(packnum.length-4);
  228. _html+="<div class='two' id='code" + num + "'><p style='padding-top:5px'>生产号:"+packe.p_num+"</p><p>件数:"+packe.p_number+"&nbsp;颜色:"+packe.p_color+"</p><div style='width:100%;float:left;'><img style='margin-left:15px;vertical-align:middle;float:left;' id='img" + num + "'/><div class='buwei' style='float:left;width:70px;height:50px;vertical-align:middle;word-wrap:break-word;'></div></div>尺码:"+packe.p_size+"&nbsp;包号:"+bao+"</p><p style='font-size: 5.21px; line-height: 9px;'>---------------------------</p><p style='font-size: 9.21px;-webkit-transform-origin-x: 0;width:240px;-webkit-transform: scale(0.71);line-height: 12px;'> 生产号:"+packe.p_num+"</p><p style='font-size: 9.21px;-webkit-transform-origin-x: 0;width:240px;-webkit-transform: scale(0.71);line-height: 12px;'> 颜色:"+packe.p_color+" 尺码:"+packe.p_size+"</p><p style='font-size: 9.21px;-webkit-transform-origin-x: 0;width:240px;-webkit-transform: scale(0.71);line-height:12px;padding-bottom:10px;'> 包号:"+bao+" 件数:"+packe.p_number+"</p></div>";
  229. //_html+="<div class='two' id='code" + num + "' ><p style='margin-top:3px;'>生产号:"+packe.p_num+"</p><p>件数:"+packe.p_number+"&nbsp;颜色:"+packe.p_color+"</p><img id='img" + num + "'/><p style='margin-bottom:15px;'>尺码:"+packe.p_size+"&nbsp;包号:"+bao+"</p><p style='font-size:15px;'>陶:13767984080</p></div>";
  230. }
  231. }else if(sty == "效果3"){
  232. //console.info("打印效果:---2");
  233. for(var i = 0; i < ArrCode.length; i++) {
  234. var num = Number(i)+Number(start);
  235. var packe = data.rows[num];
  236. var packnum = packe.packe_num;
  237. var bao=packnum.substr(packnum.length-4);
  238. //_html+="<div class='three' id='code" + num + "' ><div class='simg'><img style='float:left;' id='img" + num + "'/><p>颜色:"+packe.p_color+"</p><p >尺码:"+packe.p_size+"</p></div><div class='bh'>编号:"+packnum+"</div></div>";
  239. //_html+="<div class='three' id='code" + num + "' ><p style='padding-top:5px'>生产号</p><p>"+packe.p_num+"</p><p>包号:"+bao+"</p><img class='simg' id='img" + num + "'/><p >款号</p><p >"+packe.girard+"</p><p >尺码</p><p style='font-size: 25.21px;'>"+packe.p_size+"</p><hr style='padding-bottom:10px'/></div>";
  240. //_html+="<div class='three' id='code" + num + "' ><p style='padding-top:5px'>生产号</p><p>"+packe.p_num+"</p><p>包号:"+bao+"</p><img class='simg' id='img" + num + "'/><div class='buwei' style='float:left;width:70px;height:50px;vertical-align:middle;word-wrap:break-word;'></div></div><p style='margin-bottom:13px;'><p >款号</p><p >"+packe.girard+"</p><p >尺码</p><p style='font-size: 25.21px;'>"+packe.p_size+"</p><hr style='padding-bottom:10px'/></div>";
  241. //_html+="<div class='three' id='code" + num + "' ><p style='padding-top:5px'>生产号</p><p>"+packe.p_num+"</p><p>件数:"+packe.p_number+"&nbsp;颜色:"+packe.p_color+"</p><p>包号:"+bao+"</p><img class='simg' id='img" + num + "'/><span class='buwei'></span><p >款号:</p><p >" + packe.girard+"</p><p >尺码:<style='font-size: 25.21px;'>"+packe.p_size+"</p><hr style='padding-bottom:2px'/></div>";
  242. _html+="<div class='two' id='code" + num + "' style='height: 220px;'><p style='padding-top:15px; font-size: 16px'>生产号:"+packe.p_num+"</p><p style='font-size: 16px'>颜色:"+packe.p_color+"</p><p style='font-size: 16px'>尺码:"+packe.p_size+"</p><p style='font-size: 16px'>件数:"+packe.p_number+"</p><div style='width:100%;float:left;'><img style='margin-left:15px;vertical-align:middle;float:left;' id='img" + num + "'/></div><p style='font-size: 5.21px; line-height: 9px;'>---------------------------</p><p style='font-size: 22px;-webkit-transform-origin-x: 0;width:240px;-webkit-transform: scale(0.71);line-height: 15px;'> 生产号:"+packe.p_num+"</p><p style='font-size: 22px;-webkit-transform-origin-x: 0;width:240px;-webkit-transform: scale(0.71);line-height: 15px;'> 颜色:"+packe.p_color+"</p><p style='font-size: 22px;-webkit-transform-origin-x: 0;width:240px;-webkit-transform: scale(0.71);line-height: 15px;'> 尺码:"+packe.p_size+"</p><p style='font-size: 22px;-webkit-transform-origin-x: 0;width:240px;-webkit-transform: scale(0.71);line-height:15px;padding-bottom:10px;'> 件数:"+packe.p_number+"</p></div>";
  243. // _html+="<div class='three' id='code" + num + "' padding-top: 20px;padding-left: 0'><p>生产号:"+packe.p_num+"</p><p>颜色:"+packe.p_color+"</p><p>尺码:"+packe.p_size+"</p><p>件数:"+packe.p_number+"</p><img class='simg' id='img" + num + "'/></p><hr style='margin-bottom: 0.2px'/><p style='padding-top:5px'>生产号:"+packe.p_num+"</p><p>颜色:"+packe.p_color+"</p><p>尺码:"+packe.p_size+"</p><p>件数:"+packe.p_number+"</p><div class='buwei' style='float:left;width:70px;height:50px;vertical-align:middle;word-wrap:break-word;'></div></div>";
  244. //
  245. }
  246. }
  247. $(".codeBox").html("");
  248. $(".codeBox").html(_html);
  249. for(var i = 0; i < ArrCode.length; i++) {
  250. var num = Number(i)+Number(start);
  251. $('#code' + num).qrcode({
  252. width: 50,
  253. height: 50,
  254. correctLevel: 0,
  255. text: utf16to8(ArrCode[i])
  256. });
  257. var canvas=$('#code' + num).find('canvas').get(0);
  258. // console.info(encodeURI(ArrCode[i]));
  259. // console.info(utf16to8(ArrCode[i]));
  260. // console.info(utf8to16(ArrCode[i]));
  261. var data = canvas.toDataURL('image/jpg');
  262. $('#img'+num).attr('src',data) ;
  263. $('#code' + num).find('canvas').remove();
  264. }
  265. } else {
  266. console.log("输入失败");
  267. }
  268. }
  269. });
  270. }
  271. //alert("start="+start+",end="+end);
  272. });
  273. $("#scsc2").click(function(){
  274. var id=request('id');
  275. console.info(id);
  276. $.ajax({
  277. url: "codefindById2.action?place_num="+id,
  278. type: "post",
  279. dataType: "json",
  280. async: !1,
  281. success: function(data) {
  282. //var size=data.rows.length;
  283. console.log('aaaaa')
  284. var _html = "";
  285. var sty = $("#dyStyle").val();
  286. //console.info("打印效果:---"+sty);
  287. //console.info("打印效果:---1");
  288. console.log(data.rows[0])
  289. _html += "<div style='background-color: white; width: 200px'><ul><li style='font-size: 15px'>● 截止包:" + data.rows[0].max_p + "</li></ul></div>";
  290. $(".codeBox").html("");
  291. $(".codeBox").html(_html);
  292. $('#code').qrcode({
  293. width: 50,
  294. height: 50,
  295. correctLevel: 0,
  296. });
  297. }
  298. });
  299. //alert("start="+start+",end="+end);
  300. });
  301. function upBw() {
  302. var bwText = $("#bw").val();
  303. console.info("--"+bwText);
  304. $(".buwei").text(bwText);
  305. /*$(".buwei").each(function (index) {
  306. console.info(this);
  307. this.innerHTML(bwText);
  308. })*/
  309. }
  310. </script>
  311. </html>