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¶m="+res.data[i].orderNo+
+ ";"+res.data[i].matnr+";"+res.data[i].batch;
+ } else {
+ res.data[i]["barcodeUrl"]=baseUrl+"/mac/code/auth?type=2¶m="+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