From b3867de08e808d65383febe100cff6567409a963 Mon Sep 17 00:00:00 2001
From: mrzhssss <pro6@qq.com>
Date: 星期四, 16 二月 2023 15:15:46 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/OrderController.java |   13 ++++++
 src/main/webapp/static/js/order/order.js                  |   45 ++++++++++++++++++++++
 src/main/resources/application.yml                        |    2 
 src/main/webapp/views/order/order.html                    |   47 +++++++++++++++++++++++
 4 files changed, 106 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java
index 107ea60..950d8a6 100644
--- a/src/main/java/com/zy/asrs/controller/OrderController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderController.java
@@ -10,6 +10,7 @@
 import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.OrderDomainParam;
 import com.zy.asrs.service.*;
+import com.zy.common.CodeRes;
 import com.zy.common.model.DetlDto;
 import com.zy.common.web.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -336,6 +337,18 @@
         }
         return R.ok();
     }
+    @RequestMapping(value = "/order/print/auth")
+    @ManagerAuth(memo = "璁㈠崟缂栫爜鎵撳嵃")
+    public R orderPrint(@RequestParam(value = "param[]") String[] param) {
+        if(Cools.isEmpty(param)) {
+            return R.parse(CodeRes.EMPTY);
+        }
+        List<OrderDetl> res = new ArrayList<>();
+        for (String orderNo : param){
+            res = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no", orderNo));
+        }
+        return R.ok().add(res);
+    }
 
     @RequestMapping("/order/in")
     public R in(@RequestBody JSONObject param){
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 194325e..d704656 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,5 +1,5 @@
 server:
-  port: 8081
+  port: 8080
   servlet:
     context-path: /@pom.build.finalName@
 
diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js
index 448ccfe..0d115ab 100644
--- a/src/main/webapp/static/js/order/order.js
+++ b/src/main/webapp/static/js/order/order.js
@@ -1,4 +1,5 @@
 var insTbCount = 0;
+var printMatCodeNos = [];
 layui.config({
     base: baseUrl + "/static/layui/lay/modules/"
 }).use(['layer', 'form', 'table', 'util', 'admin', 'xmSelect', 'laydate'], function () {
@@ -82,15 +83,59 @@
     $("#orderAddBtn").click(function () {
         showEditModel();
     });
+    function btnPrint(id, orderNo, number) {
+        printMatCodeNos.push(orderNo)
+        var templateNo = 3;
+        $.ajax({
+            url: baseUrl+"/order/print/auth",
+            headers: {'token': localStorage.getItem('token')},
+            data: {param: printMatCodeNos},
+            method: 'POST',
+            async: false,
+            success: function (res) {
+                if (res.code === 200){
+                    layer.closeAll();
+                    console.log(res);
+                    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].orderNo+
+                                ";"+res.data[i].matnr+";"+res.data[i].batch;
+                        } else {
+                            res.data[i]["barcodeUrl"]=baseUrl+"/mac/code/auth?type=2&param="+res.data[i].orderNo+
+                                ";"+res.data[i].matnr+";"+res.data[i].batch;
+                        }
+                    }
+                    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)
+                }
+            }
+        })
+    }
 
     // 宸ュ叿鏉$偣鍑讳簨浠�
     table.on('tool(order)', function (obj) {
         var data = obj.data;
         var layEvent = obj.event;
+
+
+
         if (layEvent === 'edit') {
             showEditModel(data);
         } else if (layEvent === 'del') {
             doDel(data.id);
+        }else if (layEvent === 'btnPrint') {
+            btnPrint(data.id, data.orderNo, 4);
         } else if (layEvent === 'complete') {
             doModify(data.id, data.orderNo, 4);
         } else if (layEvent === 'look') {
diff --git a/src/main/webapp/views/order/order.html b/src/main/webapp/views/order/order.html
index f5997c4..1c85869 100644
--- a/src/main/webapp/views/order/order.html
+++ b/src/main/webapp/views/order/order.html
@@ -84,6 +84,7 @@
         </div>
     </div>
 </div>
+<div id="box" style="display: block"></div>
 <!-- 琛ㄦ牸鎿嶄綔鍒� -->
 <script type="text/html" id="operate">
     {{# if (d.settle == 0 || d.settle == 1) { }}
@@ -93,6 +94,7 @@
     {{# if (d.settle == 2) { }}
     <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="complete">瀹岀粨</a>
     {{# } }}
+    <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="btnPrint">鎵撳嵃</a>
 </script>
 <!-- 琛ㄦ牸鎿嶄綔鍒� -->
 <script type="text/html" id="tbLook">
@@ -186,6 +188,7 @@
 
 <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
 <script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script>
+<script type="text/javascript" src="../../static/js/jquery/jQuery.print.js"></script>
 <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></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>
@@ -197,6 +200,50 @@
     <option value="{{docId}}">{{docName}}</option>
     {{/each}}
 </script>
+
+<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;">
+        <thead></thead>
+        <tbody style="font-weight: bold">
+        <tr style="height: 30px;">
+            <td align="center" scope="col" colspan="1">鍟嗗搧</td>
+            <td align="lift" colspan="4" style="padding-left: 8px;overflow:hidden; white-space:nowrap; text-overflow:ellipsis;">{{this.maktx}}</td>
+            <td align="center" scope="col" colspan="3" rowspan="3">
+                <img class="template-code template-qrcode" src="{{this.barcodeUrl}}" width="80%">
+            </td>
+        </tr>
+        <tr style="height: 30px">
+            <td align="center" scope="col" colspan="1">鏂欏彿</td>
+            <!--            overflow:hidden; 婧㈠嚭闅愯棌 white-space:nowrap; text-overflow:ellipsis;-->
+            <!--             word-break : break-all;  瓒呭嚭鑷姩鎹㈣-->
+            <td align="lift" colspan="4" style="padding-left: 8px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis;">{{this.matnr}}</td>
+        </tr>
+        <tr style="height: 30px">
+            <td align="center" scope="col" colspan="1">鏃ユ湡</td>
+            <td align="lift" colspan="4" style="padding-left: 8px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis;">{{this.createTime$}}</td>
+        </tr>
+        <tr style="height: 30px">
+            <td align="center" scope="col" colspan="1">鐗屽彿</td>
+            <td align="lift" colspan="3" style="padding-left: 8px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis;">{{this.brand}}</td>
+            <td align="center" scope="col" colspan="1">鎵瑰彿</td>
+            <td align="lift" colspan="3" style="padding-left: 8px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis;">{{this.batch}}</td>
+        </tr>
+        <tr style="height: 30px">
+            <td align="center" scope="col" colspan="1">鏁伴噺</td>
+            <td align="lift" colspan="3" style="padding-left: 8px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis;">{{this.anfme}}</td>
+            <td align="center" scope="col" colspan="1">鐘舵��</td>
+            <td align="lift" colspan="3" style="padding-left: 8px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis;">{{this.status$}}</td>
+        </tr>
+
+
+        </tbody>
+    </table>
+    <div style="height: 20px">
+
+    </div>
+    {{/each}}
+</script>
 </body>
 
 </html>

--
Gitblit v1.9.1