From 2da79f8364653941c59c3a6f5aec261ab9ea22ac Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期四, 02 七月 2020 15:36:01 +0800 Subject: [PATCH] # --- src/main/webapp/static/js/trayCode/trayCode.js | 11 +++++++++++ src/main/java/com/zy/asrs/controller/MatCodeController.java | 2 ++ src/main/webapp/views/trayCode/tray.html | 27 +++++++++++++++++++++------ src/main/webapp/views/trayCode/trayCode.html | 14 ++++++++++++++ src/main/java/com/zy/common/config/AdminInterceptor.java | 2 +- src/main/java/com/zy/asrs/controller/TrayCodeController.java | 4 ++-- 6 files changed, 51 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/MatCodeController.java b/src/main/java/com/zy/asrs/controller/MatCodeController.java index 8ca68d0..1594efb 100644 --- a/src/main/java/com/zy/asrs/controller/MatCodeController.java +++ b/src/main/java/com/zy/asrs/controller/MatCodeController.java @@ -16,6 +16,7 @@ import com.zy.asrs.entity.MatCodePrint; import com.zy.asrs.service.MatCodeService; import com.zy.common.CodeRes; +import com.zy.common.config.AdminInterceptor; import com.zy.common.utils.BarcodeUtils; import com.zy.common.utils.QrCode; import com.zy.common.utils.excel.matcode.MatCodeExcel; @@ -183,6 +184,7 @@ public R matCodeBarcode(@RequestParam(defaultValue = "1") Integer type , @RequestParam String param , HttpServletResponse response) throws Exception { + AdminInterceptor.cors(response); if (Cools.isEmpty(param)){ return R.parse(BaseRes.EMPTY); } diff --git a/src/main/java/com/zy/asrs/controller/TrayCodeController.java b/src/main/java/com/zy/asrs/controller/TrayCodeController.java index 4c039be..e404fc4 100644 --- a/src/main/java/com/zy/asrs/controller/TrayCodeController.java +++ b/src/main/java/com/zy/asrs/controller/TrayCodeController.java @@ -132,9 +132,9 @@ if (count <= 0) { return R.error("鏁伴噺蹇呴』澶т簬闆�"); } - List<String> res = new ArrayList<>(); + List<Map<String, Object>> res = new ArrayList<>(); for (int i = 0; i<count; i++) { - res.add(String.valueOf(Integer.parseInt(startNo)+i)); + res.add(Cools.add("item", String.valueOf(Integer.parseInt(startNo)+i))); } return R.ok().add(res); } diff --git a/src/main/java/com/zy/common/config/AdminInterceptor.java b/src/main/java/com/zy/common/config/AdminInterceptor.java index b3b9fd4..07b18d7 100644 --- a/src/main/java/com/zy/common/config/AdminInterceptor.java +++ b/src/main/java/com/zy/common/config/AdminInterceptor.java @@ -144,7 +144,7 @@ /** * 璺ㄥ煙 */ - private void cors(HttpServletResponse response){ + public static void cors(HttpServletResponse response){ // 璺ㄥ煙璁剧疆 response.setHeader("Access-Control-Allow-Origin", "*"); response.setHeader("Access-Control-Allow-Credentials", "true"); diff --git a/src/main/webapp/static/js/trayCode/trayCode.js b/src/main/webapp/static/js/trayCode/trayCode.js index 6119f5c..91b56e2 100644 --- a/src/main/webapp/static/js/trayCode/trayCode.js +++ b/src/main/webapp/static/js/trayCode/trayCode.js @@ -297,6 +297,17 @@ }); +function printPreview(content) { + var tpl = $('#trayCodeTemplate').html(); + var template = Handlebars.compile(tpl); + var html = template(content); + let box = $("#printBox"); + box.html(html); + box.show(); + box.print(); + box.hide(); +} + // 鍏抽棴鍔ㄤ綔 $(document).on('click','#data-detail-close', function () { parent.layer.closeAll(); diff --git a/src/main/webapp/views/trayCode/tray.html b/src/main/webapp/views/trayCode/tray.html index 2b37552..bd53dcc 100644 --- a/src/main/webapp/views/trayCode/tray.html +++ b/src/main/webapp/views/trayCode/tray.html @@ -72,7 +72,7 @@ </div> </div> <div class="layui-form-item cool-button-contain"> - <button class="layui-btn layui-btn-normal" lay-filter="print" lay-submit="">鎵撳嵃</button> + <button class="layui-btn layui-btn-normal" id="print" lay-filter="print" lay-submit="">鎵撳嵃</button> <button class="layui-btn layui-btn-primary" id="cancel">鍙栨秷</button> </div> </form> @@ -89,15 +89,30 @@ let form = layui.form; form.on('submit(print)', function (data) { - http.post(baseUrl + '/trayCode/print/preview', data.field, function (res) { - - console.log(res.data) + $.ajax({ + url: baseUrl+"/trayCode/print/preview", + headers: {'token': localStorage.getItem('token')}, + data: data.field, + method: 'POST', + async: false, + success: function (res) { + if (res.code === 200){ + for (let i=0;i<res.data.length;i++){ + res.data[i]["barcodeUrl"]=baseUrl+"/macCode/code/auth?type=1¶m="+res.data[i].item; + } + parent.printPreview(res); + // parent.layer.close(parent.layer.getFrameIndex(window.name)); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg) + } + } }) }); $('#cancel').click(function () { - var index = parent.layer.getFrameIndex(window.name); - parent.layer.close(index); + parent.layer.close(parent.layer.getFrameIndex(window.name)); }) }); diff --git a/src/main/webapp/views/trayCode/trayCode.html b/src/main/webapp/views/trayCode/trayCode.html index 35bc93e..31cd466 100644 --- a/src/main/webapp/views/trayCode/trayCode.html +++ b/src/main/webapp/views/trayCode/trayCode.html @@ -9,6 +9,7 @@ <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> <link rel="stylesheet" href="../../static/css/cool.css" media="all"> <link rel="stylesheet" href="../../static/css/common.css" media="all"> + <link rel="stylesheet" href="../../static/css/print.css" media="all"> </head> <body> @@ -36,6 +37,9 @@ <div class="layui-form"> <table class="layui-hide" id="trayCode" lay-filter="trayCode"></table> </div> + +<div id="printBox" style="display: block"></div> + <script type="text/html" id="toolbar"> <div class="layui-btn-container"> <button class="layui-btn layui-btn-normal" id="btn-tray" lay-event="btnTray"><i class="layui-icon layui-icon-print" style="font-size: 15px"></i>鐢熸垚鎵樼洏鐮�</button> @@ -50,6 +54,8 @@ <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/jquery/jQuery.print.js"></script> +<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script> <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> <script type="text/javascript" src="../../static/js/trayCode/trayCode.js" charset="utf-8"></script> @@ -57,5 +63,13 @@ <iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> </body> +<script type="text/template" id="trayCodeTemplate"> + {{#each data}} + <img class="template-code" src="{{this.barcodeUrl}}" width="90%"> + <div style="letter-spacing: 2px;margin-top: 1px; text-align: center"> + <span>{{this.item}}</span> + </div> + {{/each}} +</script> </html> -- Gitblit v1.9.1