src/main/java/com/zy/asrs/controller/MatCodeController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/entity/MatCodePrint.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/static/js/matCode/matCode.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/views/matCode/matCode.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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"); } src/main/java/com/zy/asrs/entity/MatCodePrint.java
New file @@ -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; } } 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){ 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"> 模板二</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>