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&param="+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