From 30c55facc6eefd660cab0d74c8a15a87338120b7 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 08 六月 2020 10:15:05 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/MatCodeController.java |   33 +++++-
 src/main/java/com/zy/asrs/entity/MatCodePrint.java          |   72 ++++++++++++++
 src/main/webapp/views/matCode/matCode.html                  |  109 ++++++++++++---------
 src/main/webapp/static/js/matCode/matCode.js                |   28 +++++
 4 files changed, 190 insertions(+), 52 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MatCodeController.java b/src/main/java/com/zy/asrs/controller/MatCodeController.java
index a75d060..eea80d8 100644
--- a/src/main/java/com/zy/asrs/controller/MatCodeController.java
+++ b/src/main/java/com/zy/asrs/controller/MatCodeController.java
@@ -13,7 +13,9 @@
 import com.core.common.DateUtils;
 import com.core.common.R;
 import com.zy.asrs.entity.MatCode;
+import com.zy.asrs.entity.MatCodePrint;
 import com.zy.asrs.service.MatCodeService;
+import com.zy.common.CodeRes;
 import com.zy.common.utils.BarcodeUtils;
 import com.zy.common.utils.excel.matcode.MatCodeExcel;
 import com.zy.common.utils.excel.matcode.MatCodeExcelListener;
@@ -142,12 +144,33 @@
         return R.ok();
     }
 
-    // todo resource
-    // 鐗╂枡鎵撳嵃
+    // 鎵撳嵃
     @RequestMapping(value = "/macCode/print/auth")
-//    @ManagerAuth(memo = "鐗╂枡缂栫爜鎵撳嵃")
-    public R matCodePrint(HttpServletResponse response) throws IOException {
-        BufferedImage img = BarcodeUtils.encode("123456789");
+    @ManagerAuth(memo = "鐗╂枡缂栫爜鎵撳嵃")
+    public R matCodePrint(@RequestParam(value = "param[]") String[] param) {
+        if(Cools.isEmpty(param)) {
+            return R.parse(CodeRes.EMPTY);
+        }
+        List<MatCodePrint> res = new ArrayList<>();
+        for (String matNo : param){
+            MatCode matCode = matCodeService.selectById(matNo);
+            // 鎵撳嵃鏁版嵁娉ㄥ叆
+            MatCodePrint print = new MatCodePrint();
+            print.setMatNo(matCode.getMatNo());
+            print.setBarcodeUrl(matCode.getBarcode());
+            print.setMatName(matCode.getMatName());
+            print.setStr1(matCode.getStr1());
+            print.setStr2(matCode.getStr2());
+            res.add(print);
+        }
+        return R.ok().add(res);
+    }
+
+    // todo resource
+    @RequestMapping(value = "/macCode/barcode/auth")
+    @ManagerAuth(memo = "鐗╂枡缂栫爜鏉″舰鐮佽幏鍙�")
+    public R matCodeBarcode(@RequestParam String param, HttpServletResponse response) throws IOException {
+        BufferedImage img = BarcodeUtils.encode(param);
         if (!ImageIO.write(img, "jpg", response.getOutputStream())) {
             throw new IOException("Could not write an image of format jpg");
         }
diff --git a/src/main/java/com/zy/asrs/entity/MatCodePrint.java b/src/main/java/com/zy/asrs/entity/MatCodePrint.java
new file mode 100644
index 0000000..e1137c4
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/MatCodePrint.java
@@ -0,0 +1,72 @@
+package com.zy.asrs.entity;
+
+/**
+ * Created by vincent on 2020/6/8
+ */
+public class MatCodePrint {
+
+    /**
+     * 鐗╂枡缂栫爜
+     */
+    private String matNo;
+
+    /**
+     * 鏉$爜鍦板潃
+     */
+    private String barcodeUrl;
+
+    /**
+     * 鐗╂枡鍚嶇О
+     */
+    private String matName;
+
+    /**
+     * 鐗╂枡鍗曚綅
+     */
+    private String str1;
+
+    /**
+     * 鐗╂枡瑙勬牸
+     */
+    private String str2;
+
+    public String getMatNo() {
+        return matNo;
+    }
+
+    public void setMatNo(String matNo) {
+        this.matNo = matNo;
+    }
+
+    public String getBarcodeUrl() {
+        return barcodeUrl;
+    }
+
+    public void setBarcodeUrl(String barcodeUrl) {
+        this.barcodeUrl = barcodeUrl;
+    }
+
+    public String getMatName() {
+        return matName;
+    }
+
+    public void setMatName(String matName) {
+        this.matName = matName;
+    }
+
+    public String getStr1() {
+        return str1;
+    }
+
+    public void setStr1(String str1) {
+        this.str1 = str1;
+    }
+
+    public String getStr2() {
+        return str2;
+    }
+
+    public void setStr2(String str2) {
+        this.str2 = str2;
+    }
+}
diff --git a/src/main/webapp/static/js/matCode/matCode.js b/src/main/webapp/static/js/matCode/matCode.js
index a199c29..e28072a 100644
--- a/src/main/webapp/static/js/matCode/matCode.js
+++ b/src/main/webapp/static/js/matCode/matCode.js
@@ -370,6 +370,7 @@
                 break;
             // 鎵撳嵃
             case "btnPrint":
+                console.log(data);
                 layer.open({
                     type: 1,
                     title: '鎵撳嵃',
@@ -385,6 +386,33 @@
         }
     });
 
+    // 寮�濮嬫墦鍗�
+    form.on('submit(doPrint)', function (data) {
+        let param = [];
+        param.push("1902980-11/12");
+        console.log(param)
+        $.ajax({
+            url: baseUrl+"/macCode/print/auth",
+            headers: {'token': localStorage.getItem('token')},
+            data: {param: param},
+            method: 'POST',
+            async: false,
+            success: function (res) {
+                if (res.code === 200){
+                    console.log(res.data);
+
+
+                } else if (res.code === 403){
+                    top.location.href = baseUrl;
+                }else {
+                    layer.msg(res.msg)
+                }
+            }
+        })
+        console.log(data.field);
+        // $('#template-preview-1').print();
+    })
+
     // 鏁版嵁淇濆瓨鍔ㄤ綔
     form.on('submit(save)', function () {
         if (banMsg != null){
diff --git a/src/main/webapp/views/matCode/matCode.html b/src/main/webapp/views/matCode/matCode.html
index bb9697b..22558f0 100644
--- a/src/main/webapp/views/matCode/matCode.html
+++ b/src/main/webapp/views/matCode/matCode.html
@@ -26,11 +26,11 @@
             border: 1px solid #000;
             /*width: 100%;*/
         }
-        /*.contain td {*/
-        /*    border: 1px solid #000;*/
-        /*    line-height: 46px;*/
-        /*    text-align: center;*/
-        /*}*/
+        .contain td {
+            border: 1px solid #000;
+            /*line-height: 46px;*/
+            text-align: center;
+        }
         /*.qrcode {*/
         /*    margin: 3px;*/
         /*}*/
@@ -75,6 +75,7 @@
 <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/matCode/matCode.js" charset="utf-8"></script>
@@ -122,52 +123,66 @@
 
 <!-- 鎵撳嵃鎿嶄綔寮圭獥 -->
 <div id="printDataDiv" style="display: none;padding: 20px">
-    <div id="template-container">
-        <!-- 棰勮鍥� 1 -->
-        <div id="template-preview-1" class="template-preview">
-            <table height="317" width="317" style="overflow: hidden">
-                <tr><td valign="middle">
-                    <table class="contain">
-                        <tr>
-                            <td width="20%" align="right" scope="col">瀹㈡埛</td>
-                            <td class="customer" width="30%" align="left" scope="col">{{this.customer}}</td>
-                            <td width="20%" align="right" scope="col">棰滆壊</td>
-                            <td class="color" width="30%" align="left" scope="col">1</td>
-                        </tr>
-                        <tr>
-                            <td align="right">鐢熶骇鏃ユ湡</td>
-                            <td class="createTime" align="left">{{this.createTime$}}</td>
-                            <td align="right">鏁伴噺</td>
-                            <td class="amount" align="left">{{this.amount}}</td>
-                        </tr>
-                        <tr>
-                            <td align="right">鍨嬪彿鎵撳瓧</td>
-                            <td class="modelType" align="left" colspan="3">{{this.modelType}}</td>
-                        </tr>
-                        <tr>
-                            <td align="right">浜у搧鎵瑰彿</td>
-                            <td class="seq" align="left">{{this.seq}}</td>
-                            <td colspan="2" rowspan="3" align="right"><img class="qrcode" src="{{this.qrCodeUrl}}" style="width: 80%"></td>
-                        </tr>
-                        <tr>
-                            <td align="right">瑁呮楠屽彿</td>
-                            <td class="boxCheck" align="left">{{this.boxCheck}}</td>
-                        </tr>
-                        <tr>
-                            <td align="right">绠卞彿</td>
-                            <td class="boxNumber" align="left">{{this.boxNumber}}</td>
-                        </tr>
-                    </table>
-                </td></tr>
-            </table>
+    <div class="layui-form">
+        <div id="template-container">
+            <!-- 棰勮鍥� 1 -->
+            <div id="template-preview-1" class="template-preview">
+                <table class="contain" height="317" width="317" style="overflow: hidden">
+                    <tr>
+                        <td width="20%" align="right" scope="col">瀹㈡埛</td>
+                        <td class="customer" width="30%" align="left" scope="col">{{this.customer}}</td>
+                        <td width="20%" align="right" scope="col">棰滆壊</td>
+                        <td class="color" width="30%" align="left" scope="col">1</td>
+                    </tr>
+                    <tr>
+                        <td align="right">鐢熶骇鏃ユ湡</td>
+                        <td class="createTime" align="left">{{this.createTime$}}</td>
+                        <td align="right">鏁伴噺</td>
+                        <td class="amount" align="left">{{this.amount}}</td>
+                    </tr>
+                    <tr>
+                        <td align="right">鍨嬪彿鎵撳瓧</td>
+                        <td class="modelType" align="left" colspan="3">{{this.modelType}}</td>
+                    </tr>
+                    <tr>
+                        <td align="right">浜у搧鎵瑰彿</td>
+                        <td class="seq" align="left">{{this.seq}}</td>
+                        <td colspan="2" rowspan="3" align="right"><img class="qrcode" src="" style="width: 80%"></td>
+                    </tr>
+                    <tr>
+                        <td align="right">瑁呮楠屽彿</td>
+                        <td class="boxCheck" align="left">{{this.boxCheck}}</td>
+                    </tr>
+                    <tr>
+                        <td align="right">绠卞彿</td>
+                        <td class="boxNumber" align="left">{{this.boxNumber}}</td>
+                    </tr>
+                </table>
+            </div>
+            <!-- 棰勮鍥� 2 -->
+            <div class="template-preview"></div>
+            <!-- 棰勮鍥� 3 -->
+            <div class="template-preview"></div>
         </div>
-        <!-- 棰勮鍥� 2 -->
-        <div class="template-preview"></div>
-        <!-- 棰勮鍥� 3 -->
-        <div class="template-preview"></div>
+        <div class="select-template">
+            <label><input type="radio" name="templateSelect" value="1" checked>妯℃澘涓�</label>
+            <label><input type="radio" name="templateSelect" value="2">&nbsp;妯℃澘浜�</label>
+        </div>
+        <button class="layui-btn layui-btn-danger" id="doPrint" lay-submit lay-filter="doPrint">纭畾</button>
     </div>
 </div>
 
+<!-- 妯℃澘寮曟搸 -->
+<!-- 妯℃澘1 -->
+<script type="text/template" id="templatePreview1">
+</script>
+<!-- 妯℃澘2 -->
+<script type="text/template" id="templatePreview2">
+</script>
+<!-- 妯℃澘3 -->
+<script type="text/template" id="templatePreview3">
+</script>
+
 </body>
 </html>
 

--
Gitblit v1.9.1