From 3b8c76dfb994ac970734d1b01d1d0342c859f2d5 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期五, 15 十二月 2023 14:13:21 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/entity/MatPrint.java                    |   10 +
 src/main/java/com/zy/asrs/controller/MatController.java           |   30 +++
 src/main/webapp/static/js/locInPrintMat/locInPrintMat.js          |   84 +++++++++++-
 src/main/java/com/zy/asrs/controller/LocInPrintMatController.java |    3 
 src/main/webapp/views/locInPrintMat/locInPrintMat.html            |  274 ++++++++++++++++++++++++++++++++-------
 5 files changed, 340 insertions(+), 61 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/LocInPrintMatController.java b/src/main/java/com/zy/asrs/controller/LocInPrintMatController.java
index d198480..317fb38 100644
--- a/src/main/java/com/zy/asrs/controller/LocInPrintMatController.java
+++ b/src/main/java/com/zy/asrs/controller/LocInPrintMatController.java
@@ -7,11 +7,14 @@
 import com.baomidou.mybatisplus.plugins.Page;
 import com.core.common.DateUtils;
 import com.zy.asrs.entity.LocInPrintMat;
+import com.zy.asrs.entity.Mat;
+import com.zy.asrs.entity.MatPrint;
 import com.zy.asrs.service.LocInPrintMatService;
 import com.core.annotations.ManagerAuth;
 import com.core.common.BaseRes;
 import com.core.common.Cools;
 import com.core.common.R;
+import com.zy.common.CodeRes;
 import com.zy.common.web.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
diff --git a/src/main/java/com/zy/asrs/controller/MatController.java b/src/main/java/com/zy/asrs/controller/MatController.java
index 4395ef8..847dd64 100644
--- a/src/main/java/com/zy/asrs/controller/MatController.java
+++ b/src/main/java/com/zy/asrs/controller/MatController.java
@@ -10,11 +10,9 @@
 import com.core.annotations.ManagerAuth;
 import com.core.common.*;
 import com.core.exception.CoolException;
-import com.zy.asrs.entity.Mat;
-import com.zy.asrs.entity.MatPrint;
-import com.zy.asrs.entity.OrderDetl;
-import com.zy.asrs.entity.Pakout;
+import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.result.KeyValueVo;
+import com.zy.asrs.service.LocInPrintMatService;
 import com.zy.asrs.service.MatService;
 import com.zy.asrs.service.PakoutService;
 import com.zy.asrs.utils.MatExcelListener;
@@ -45,6 +43,8 @@
     private SnowflakeIdWorker snowflakeIdWorker;
     @Autowired
     private PakoutService pakoutService;
+    @Autowired
+    private LocInPrintMatService locInPrintMatService;
 
     @RequestMapping(value = "/mat/auto/matnr/auth")
     public R autoMatnr(){
@@ -272,6 +272,28 @@
         return R.ok().add(res);
     }
 
+    // 鎵撳嵃
+    @RequestMapping(value = "/loc/in/mat/print/auth")
+    @ManagerAuth(memo = "鍟嗗搧缂栫爜鎵撳嵃")
+    public R locInMatCodePrint(@RequestParam(value = "param[]") Long[] ids) {
+        if(Cools.isEmpty(ids)) {
+            return R.parse(CodeRes.EMPTY);
+        }
+        List<MatPrint> res = new ArrayList<>();
+        for (Long id : ids){
+            LocInPrintMat locInPrintMat = locInPrintMatService.selectById(id);
+            // 鎵撳嵃鏁版嵁娉ㄥ叆
+            MatPrint print = new MatPrint();
+            print.setMatnr(locInPrintMat.getMatnr());
+            print.setMaktx(locInPrintMat.getMaktx());
+            print.setBatch(locInPrintMat.getBatch());
+            print.setAnfme(locInPrintMat.getAnfme().toString());
+            print.setMemo(locInPrintMat.getMemo());
+            res.add(print);
+        }
+        return R.ok().add(res);
+    }
+
 
     /*************************************** 鏁版嵁鐩稿叧 ***********************************************/
 
diff --git a/src/main/java/com/zy/asrs/entity/MatPrint.java b/src/main/java/com/zy/asrs/entity/MatPrint.java
index 486d708..2d5640a 100644
--- a/src/main/java/com/zy/asrs/entity/MatPrint.java
+++ b/src/main/java/com/zy/asrs/entity/MatPrint.java
@@ -34,6 +34,16 @@
     private String specs;
 
     /**
+     * 鐗╂枡鎵规
+     */
+    private String batch;
+
+    /**
+     * 鏁伴噺
+     */
+    private String anfme;
+
+    /**
      * 澶囨敞
      */
     private String memo;
diff --git a/src/main/webapp/static/js/locInPrintMat/locInPrintMat.js b/src/main/webapp/static/js/locInPrintMat/locInPrintMat.js
index d5bea19..e07f8a8 100644
--- a/src/main/webapp/static/js/locInPrintMat/locInPrintMat.js
+++ b/src/main/webapp/static/js/locInPrintMat/locInPrintMat.js
@@ -24,15 +24,15 @@
             {type: 'checkbox'}
             ,{field: 'id', align: 'center',title: 'ID',hide : true}
             ,{field: 'uuid', align: 'center',title: '缂栧彿',hide: true}
-            ,{field: 'status$', align: 'center',title: '鎵撳嵃鎯呭喌',hide: false}
-            ,{field: 'matnr', align: 'center',title: '鐗╂枡缂栫爜',hide: false}
-            ,{field: 'batch', align: 'center',title: '鎵规',hide: false}
-            ,{field: 'anfme', align: 'center',title: '閲嶉噺(kg)',hide: false}
-            ,{field: 'locNo', align: 'center',title: '搴撲綅鍙�',hide: false}
+            ,{field: 'status$', align: 'center',title: '鎵撳嵃鎯呭喌', width:100,hide: false}
+            ,{field: 'matnr', align: 'center',title: '鐗╂枡缂栫爜', width:180,hide: false}
+            ,{field: 'batch', align: 'center',title: '鎵规', width:100,hide: false}
+            ,{field: 'anfme', align: 'center',title: '閲嶉噺(kg)', width:100,hide: false}
+            ,{field: 'locNo', align: 'center',title: '搴撲綅鍙�', width:120,hide: false}
             ,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О',hide: false}
             ,{field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿',hide: true}
-            ,{field: 'createBy$', align: 'center',title: '娣诲姞浜哄憳',hide: true}
-            ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿',hide: false}
+            ,{field: 'createBy$', align: 'center',title: '娣诲姞浜哄憳', width:100,hide: true}
+            ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿', width:120,hide: false}
             ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳',hide: false}
             ,{field: 'memo', align: 'center',title: '澶囨敞',hide: false}
 
@@ -130,6 +130,29 @@
                     });
                 });
                 break;
+            // 鎵归噺鎵撳嵃
+            case "btnPrintBatch":
+                printMatCodeNos = [];
+                var data = checkStatus;
+                if (data.length === 0){
+                    layer.msg('璇烽�夋嫨鎵撳嵃鏁版嵁');
+                } else {
+                    layer.open({
+                        type: 1,
+                        title: '鎵归噺鎵撳嵃 [鏁伴噺'+ data.length +']',
+                        area: ['500px'],
+                        shadeClose: true,
+                        content: $('#printDataDiv'),
+                        success: function(layero, index){
+                            for (var i = 0; i<data.length;i++) {
+                                printMatCodeNos.push(data[i].id);
+                            }
+                        },
+                        end: function () {
+                        }
+                    });
+                }
+                break;
         }
     });
 
@@ -137,6 +160,10 @@
     table.on('tool(locInPrintMat)', function(obj){
         var data = obj.data;
         switch (obj.event) {
+            case 'btnPrint':
+                layer.msg("搴熷純")
+                break;
+            // btnPrint(data.id, data.orderNo, 4);
             case 'edit':
                 showEditModel(data);
                 break;
@@ -225,6 +252,49 @@
         tableReload(false);
     });
 
+    // 妯℃澘閫夋嫨
+    form.on('radio(selectTemplateRadio)', function (data) {
+        $('.template-preview').hide();
+        $('#template-preview-'+data.value).show();
+    });
+
+    // 寮�濮嬫墦鍗�
+    form.on('submit(doPrint)', function (data) {
+        var templateNo = data.field.selectTemplate;
+        $.ajax({
+            url: baseUrl+"/loc/in/mat/print/auth",
+            headers: {'token': localStorage.getItem('token')},
+            data: {param: printMatCodeNos},
+            method: 'POST',
+            async: false,
+            success: function (res) {
+                if (res.code === 200){
+                    layer.closeAll();
+                    for (let i=0;i<res.data.length;i++){
+                        var templateDom = $("#templatePreview"+templateNo);
+                        var className = templateDom.attr("class");
+                        if (className === 'template-barcode') {
+                            res.data[i]["barcodeUrl"]=baseUrl+"/mac/code/auth?type=1&param="+res.data[i].matnr+";"+res.data[i].batch+";"+res.data[i].anfme+";"+res.data[i].memo+";"+res.data[i].maktx;
+                        } else {
+                            res.data[i]["barcodeUrl"]=baseUrl+"/mac/code/auth?type=2&param="+res.data[i].matnr+";"+res.data[i].batch+";"+res.data[i].anfme+";"+res.data[i].memo+";"+res.data[i].maktx;
+                        }
+                    }
+                    var tpl = templateDom.html();
+                    var template = Handlebars.compile(tpl);
+                    var html = template(res);
+                    var box = $("#box");
+                    box.html(html);box.show();
+                    box.print({mediaPrint:true});
+                    box.hide();
+                } else if (res.code === 403){
+                    top.location.href = baseUrl+"/";
+                }else {
+                    layer.msg(res.msg)
+                }
+            }
+        })
+    });
+
     // 鏃堕棿閫夋嫨鍣�
     function layDateRender(data) {
         setTimeout(function () {
diff --git a/src/main/webapp/views/locInPrintMat/locInPrintMat.html b/src/main/webapp/views/locInPrintMat/locInPrintMat.html
index 0ca0588..521b438 100644
--- a/src/main/webapp/views/locInPrintMat/locInPrintMat.html
+++ b/src/main/webapp/views/locInPrintMat/locInPrintMat.html
@@ -9,6 +9,51 @@
     <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
     <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
     <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+
+    <style>
+        /* ------------------------- 鎵撳嵃琛ㄦ牸 -----------------------  */
+        .contain {
+            border-collapse: collapse;
+            width: 280px;
+            font-size: x-small;
+            table-layout: fixed;
+            color: black;
+        }
+        .contain img.template-qrcode {
+            width: 80%;
+        }
+        .contain td, .contain th {
+            border: 1px solid black;
+            text-align: center;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+            padding: 5px;
+        }
+        .contain th {
+            font-weight: bold;
+            color: black;
+            background-color: #f2f2f2;
+        }
+        .contain tr:nth-child(even){background-color: #f9f9f9;}
+        .contain strong {
+            font-weight: bold;
+            line-height: 20px;
+            vertical-align: middle;
+            display: -webkit-box;
+            -webkit-line-clamp: 3;
+            -webkit-box-orient: vertical;
+        }
+        .barcode-section {
+            text-align: center;
+        }
+        .barcode-section span {
+            letter-spacing: 1px;
+            font-weight: bold;
+            color: black;
+        }
+
+    </style>
 </head>
 <body>
 
@@ -40,8 +85,10 @@
 
 <script type="text/html" id="toolbar">
     <div class="layui-btn-container">
-        <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button>
+<!--        <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button>-->
         <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>
+        <button class="layui-btn layui-btn-sm" id="btn-print-batch" lay-event="btnPrintBatch">鎵归噺鎵撳嵃</button>
+
         <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">瀵煎嚭</button>
     </div>
 </script>
@@ -49,10 +96,14 @@
 <script type="text/html" id="operate">
     <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a>
     <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a>
+<!--    <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="btnPrint">鎵撳嵃</a>-->
+
 </script>
 
 <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/locInPrintMat/locInPrintMat.js" charset="utf-8"></script>
@@ -64,12 +115,6 @@
         <div class="layui-row">
             <div class="layui-col-md12">
                 <div class="layui-form-item">
-                    <label class="layui-form-label">缂栧彿: </label>
-                    <div class="layui-input-block">
-                        <input class="layui-input" name="uuid" placeholder="璇疯緭鍏ョ紪鍙�">
-                    </div>
-                </div>
-                <div class="layui-form-item">
                     <label class="layui-form-label">鎵撳嵃鎯呭喌: </label>
                     <div class="layui-input-block">
                         <select name="status">
@@ -77,48 +122,6 @@
                             <option value="1">鏈墦鍗�</option>
                             <option value="2">宸叉墦鍗�</option>
                         </select>
-                    </div>
-                </div>
-                <div class="layui-form-item">
-                    <label class="layui-form-label">娣诲姞鏃堕棿: </label>
-                    <div class="layui-input-block">
-                        <input class="layui-input" name="createTime" id="createTime$" placeholder="璇疯緭鍏ユ坊鍔犳椂闂�">
-                    </div>
-                </div>
-                <div class="layui-form-item">
-                    <label class="layui-form-label">娣诲姞浜哄憳: </label>
-                    <div class="layui-input-block cool-auto-complete">
-                        <input class="layui-input" name="createBy" placeholder="璇疯緭鍏ユ坊鍔犱汉鍛�" style="display: none">
-                        <input id="createBy$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ユ坊鍔犱汉鍛�" onfocus=this.blur()>
-                        <div class="cool-auto-complete-window">
-                            <input class="cool-auto-complete-window-input" data-key="userQueryBycreateBy" onkeyup="autoLoad(this.getAttribute('data-key'))">
-                            <select class="cool-auto-complete-window-select" data-key="userQueryBycreateBySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
-                            </select>
-                        </div>
-                    </div>
-                </div>
-                <div class="layui-form-item">
-                    <label class="layui-form-label">淇敼鏃堕棿: </label>
-                    <div class="layui-input-block">
-                        <input class="layui-input" name="updateTime" id="updateTime$" placeholder="璇疯緭鍏ヤ慨鏀规椂闂�">
-                    </div>
-                </div>
-                <div class="layui-form-item">
-                    <label class="layui-form-label">淇敼浜哄憳: </label>
-                    <div class="layui-input-block cool-auto-complete">
-                        <input class="layui-input" name="updateBy" placeholder="璇疯緭鍏ヤ慨鏀逛汉鍛�" style="display: none">
-                        <input id="updateBy$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ヤ慨鏀逛汉鍛�" onfocus=this.blur()>
-                        <div class="cool-auto-complete-window">
-                            <input class="cool-auto-complete-window-input" data-key="userQueryByupdateBy" onkeyup="autoLoad(this.getAttribute('data-key'))">
-                            <select class="cool-auto-complete-window-select" data-key="userQueryByupdateBySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
-                            </select>
-                        </div>
-                    </div>
-                </div>
-                <div class="layui-form-item">
-                    <label class="layui-form-label">澶囨敞: </label>
-                    <div class="layui-input-block">
-                        <input class="layui-input" name="memo" placeholder="璇疯緭鍏ュ娉�">
                     </div>
                 </div>
                 <div class="layui-form-item">
@@ -151,7 +154,12 @@
                         <input class="layui-input" name="maktx" placeholder="璇疯緭鍏ュ晢鍝佸悕绉�">
                     </div>
                 </div>
-
+                <div class="layui-form-item">
+                    <label class="layui-form-label">澶囨敞: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="memo" placeholder="璇疯緭鍏ュ娉�">
+                    </div>
+                </div>
              </div>
         </div>
         <hr class="layui-bg-gray">
@@ -161,5 +169,171 @@
         </div>
     </form>
 </script>
+
+
+<!-- 鎵撳嵃鎿嶄綔寮圭獥 -->
+<div id="printDataDiv" style="display: none;padding: 20px">
+    <div class="layui-form" style="text-align: center">
+        <hr>
+        <!--鍗曢�夋-->
+        <div class="layui-form-item" style="display: inline-block; margin-bottom: 10px">
+<!--            <input type="radio" name="selectTemplate" value="1" title="妯℃澘涓�"  lay-filter="selectTemplateRadio" checked="">-->
+<!--            <input type="radio" name="selectTemplate" value="2" title="妯℃澘浜�" lay-filter="selectTemplateRadio">-->
+            <input type="radio" name="selectTemplate" value="3" title="妯℃澘" lay-filter="selectTemplateRadio">
+        </div>
+        <fieldset class="layui-elem-field site-demo-button" style="margin-top: 30px;text-align: left;">
+            <legend>鎵撳嵃棰勮</legend>
+            <div id="template-container" style="margin: 20px;text-align: center">
+
+                <!-- 棰勮鍥� 1 -->
+                <div id="template-preview-1" class="template-preview" style="display: inline-block">
+                    <table class="contain" width="280" style="overflow: hidden;font-size: xx-small;table-layout: fixed;">
+                        <tr style="height: 74px">
+                            <td colspan="3" align="center" scope="col">鍟嗗搧缂栫爜</td>
+                            <td class="barcode" colspan="9" align="center" scope="col">
+                                <img class="template-code template-barcode" src="" width="90%;">
+                                <div style="letter-spacing: 2px;margin-top: 1px; text-align: center;">
+                                    <span>xxxxxx</span>
+                                </div>
+                            </td>
+                        </tr>
+                        <tr style="height: 74px">
+                            <td align="center" colspan="3">鍟嗗搧</td>
+                            <td align="center" colspan="5">xxxxxx-xx/xx</td>
+                            <td align="center" colspan="2">澶囨敞</td>
+                            <td align="center" colspan="2">xx</td>
+                        </tr>
+                    </table>
+                </div>
+
+                <!-- 棰勮鍥� 2 -->
+                <div id="template-preview-2" class="template-preview" style="display: none">
+                    <table class="contain" width="280" style="overflow: hidden;font-size: xx-small;table-layout: fixed;">
+                        <tr style="height: 30px">
+                            <td align="center" width="20%">鍟嗗搧</td>
+                            <td align="center" width="80%" style="overflow:hidden; white-space:nowrap; text-overflow:ellipsis;">xxxxxxx</td>
+                        </tr>
+                        <tr style="height: 30px">
+                            <td align="center" width="20%">澶囨敞</td>
+                            <td align="center" width="80%">xxxxxxxx</td>
+                        </tr>
+                        <tr style="height: 75px;">
+                            <td align="center" colspan="2" width="100%" style="border: none">
+                                <img class="template-code template-barcode" src="" width="80%">
+                                <div style="letter-spacing: 2px;margin-top: 1px; text-align: center">
+                                    <span>xxxxxx</span>
+                                </div>
+                            </td>
+                        </tr>
+                    </table>
+                </div>
+
+                <!-- 棰勮鍥� 3 -->
+                <div id="template-preview-3" class="template-preview" style="display: none">
+                    <table class="contain" width="280" style="overflow: hidden;font-size: xx-small;table-layout: fixed;">
+                        <tr style="height: 74px">
+                            <td align="center" scope="col" colspan="1">鍟嗗搧</td>
+                            <td align="center" scope="col" colspan="1" style="">xxxxxx-xx/xx</td>
+                            <td align="center" scope="col" colspan="2" rowspan="2">
+                                <img class="template-code template-qrcode" src="" width="80%">
+                                <div style="letter-spacing: 1px;margin-top: 1px; text-align: center">
+                                    <span>xxxxxx</span>
+                                </div>
+                            </td>
+                        </tr>
+                        <tr style="height: 74px">
+                            <td align="center" colspan="1">澶囨敞</td>
+                            <td align="center" colspan="1" style="overflow:hidden; white-space:nowrap; text-overflow:ellipsis;">xxxxxxx</td>
+                        </tr>
+                    </table>
+                </div>
+            </div>
+        </fieldset>
+
+        <button class="layui-btn" id="doPrint" lay-submit lay-filter="doPrint" style="margin-top: 20px">纭畾</button>
+    </div>
+</div>
+
+<div id="box" style="display: block"></div>
+
+<!-- 鍒濆鍖栨墦鍗版ā鏉跨殑鏉″舰鐮� -->
+<script type="text/javascript">
+    $('.template-barcode').attr("src", baseUrl+"/mac/code/auth?type=1&param=123");
+    $('.template-qrcode').attr("src", baseUrl+"/mac/code/auth?type=2&param=123");
+</script>
+
+<!-- 妯℃澘寮曟搸 -->
+<!-- 妯℃澘1 -->
+<script type="text/template" id="templatePreview1" class="template-barcode">
+    {{#each data}}
+    <table class="contain" width="280" style="overflow: hidden;font-size: small;table-layout: fixed;">
+        <tr style="height: 74px">
+            <td align="center" colspan="3" scope="col">鍟嗗搧缂栫爜</td>
+            <td align="center" class="barcode" colspan="9" scope="col">
+                <img class="template-code" src="{{this.barcodeUrl}}" width="90%">
+                <div style="letter-spacing: 2px;margin-top: 1px; text-align: center">
+                    <span>{{this.matnr}}</span>
+                </div>
+            </td>
+        </tr>
+        <tr style="height: 74px">
+            <td align="center" colspan="3">鍟嗗搧</td>
+            <td align="center" colspan="5" style="overflow: hidden; white-space: nowrap;text-overflow: ellipsis;">{{this.maktx}}</td>
+            <td align="center" colspan="2">澶囨敞</td>
+            <td align="center" colspan="2">{{this.memo}}</td>
+        </tr>
+    </table>
+    {{/each}}
+</script>
+<!-- 妯℃澘2 -->
+<script type="text/template" id="templatePreview2" class="template-barcode">
+    {{#each data}}
+    <table class="contain" width="280" style="overflow: hidden;font-size: xx-small;table-layout: fixed;">
+        <tr style="height: 35px">
+            <td align="center" width="20%">鍟嗗搧</td>
+            <td align="center" width="80%" style="overflow:hidden; white-space:nowrap; text-overflow:ellipsis;">{{this.maktx}}</td>
+        </tr>
+        <tr style="height: 35px">
+            <td align="center" width="20%">澶囨敞</td>
+            <td align="center" width="80%">{{this.memo}}</td>
+        </tr>
+        <tr style="height: 79px;">
+            <td align="center" colspan="2" width="100%" style="border: none">
+                <img class="template-code" src="{{this.barcodeUrl}}" width="80%">
+                <div style="letter-spacing: 2px;margin-top: 1px; text-align: center">
+                    <span>{{this.matnr}}</span>
+                </div>
+            </td>
+        </tr>
+    </table>
+    {{/each}}
+</script>
+<!-- 妯℃澘3 -->
+<script type="text/template" id="templatePreview3" class="template-qrcode">
+    {{#each data}}
+    <table class="contain" width="280" style="overflow: hidden;font-size: xx-small;table-layout: fixed;">
+        <tr>
+            <th>鍟嗗搧</th>
+            <td colspan="2"><strong>{{this.maktx}}</strong></td>
+            <td colspan="3" rowspan="4" class="barcode-section" style="white-space: normal; ">
+                <img class="template-code template-qrcode" src="{{this.barcodeUrl}}" alt="Barcode Image">
+                <div><span >{{this.matnr}}</span></div>
+            </td>
+        </tr>
+        <tr>
+            <th>鎵规</th>
+            <td colspan="2"><strong>{{this.batch}}</strong></td>
+        </tr>
+        <tr>
+            <th>鏁伴噺</th>
+            <td colspan="2"><strong>{{this.anfme}}</strong></td>
+        </tr>
+        <tr>
+            <th>澶囨敞</th>
+            <td colspan="2"><strong>{{this.memo}}</strong></td>
+        </tr>
+    </table>
+    {{/each}}
+</script>
 </html>
 

--
Gitblit v1.9.1