From 5c63bc8e882563f4ac7fab61bdcb0c31109229ac Mon Sep 17 00:00:00 2001 From: zyx <zyx123456> Date: 星期六, 27 一月 2024 08:32:15 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/PlaController.java | 23 +++++ src/main/webapp/views/pla/plaDetl.html | 106 ++++++++++++++++++++++++++ src/main/webapp/static/js/pla/plaDetl.js | 85 +++++++++++++++++++++ 3 files changed, 214 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/PlaController.java b/src/main/java/com/zy/asrs/controller/PlaController.java index de93414..982f65a 100644 --- a/src/main/java/com/zy/asrs/controller/PlaController.java +++ b/src/main/java/com/zy/asrs/controller/PlaController.java @@ -277,6 +277,29 @@ return R.ok("鎴愬姛鍚屾"+listener.getTotal()+"鏉la鐗╂枡鏁版嵁"); } +// // 鎵撳嵃 +// @RequestMapping(value = "/pla/print/auth") +// @ManagerAuth(memo = "pla缂栫爜鎵撳嵃") +// public R matCodePrint(@RequestParam(value = "param[]") String[] param) { +// if(Cools.isEmpty(param)) { +// return R.parse(CodeRes.EMPTY); +// } +// List<MatPrint> res = new ArrayList<>(); +// for (String matnr : param){ +// Mat mat = matService.selectByMatnr(matnr); +// // 鎵撳嵃鏁版嵁娉ㄥ叆 +// MatPrint print = new MatPrint(); +// print.setMatnr(mat.getMatnr()); +// print.setBarcode(mat.getBarcode()); +// print.setMaktx(mat.getMaktx()); +// print.setSpecs(mat.getSpecs()); +// print.setUnit(mat.getUnit()); +// print.setMemo(mat.getMemo()); +// res.add(print); +// } +// return R.ok().add(res); +// } + private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ for (Map.Entry<String, Object> entry : map.entrySet()){ String val = String.valueOf(entry.getValue()); diff --git a/src/main/webapp/static/js/pla/plaDetl.js b/src/main/webapp/static/js/pla/plaDetl.js index ba2eb66..1c8c989 100644 --- a/src/main/webapp/static/js/pla/plaDetl.js +++ b/src/main/webapp/static/js/pla/plaDetl.js @@ -7,6 +7,7 @@ var checkStatus = []; var dataCheck = []; var admin; +var printData = []; function getCol() { var cols = [ {field: 'id', title: 'id', align: 'center',hide:true} @@ -227,6 +228,7 @@ // 鐩戝惉澶村伐鍏锋爮浜嬩欢 table.on('toolbar(plaDetl)', function (obj) { var checkStatus = table.checkStatus(obj.config.id) + printData = checkStatus; switch(obj.event) { case 'updateData': var data = checkStatus.data; @@ -365,9 +367,92 @@ }); } break; + // 鎵归噺鎵撳嵃 + case "btnPrintBatch": + printMatCodeNos = []; + var data = checkStatus.data; + 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].matnr); + } + }, + end: function () { + } + }); + } + break; } }) + // 妯℃澘閫夋嫨 + 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; + var templateDom = $("#templatePreview"+templateNo); + var className = templateDom.attr("class"); + layer.closeAll(); + for (let i=0;i<printData.length;i++){ + if (className === 'template-barcode') { + printData[i]["barcodeUrl"]=baseUrl+"/mac/code/auth?type=1¶m="+(printData[i].batch+";"+printData[i].packageNo) + } else { + res.data[i]["barcodeUrl"]=baseUrl+"/mac/code/auth?type=2¶m="+(printData[i].batch+";"+printData[i].packageNo) + } + } + var tpl = templateDom.html(); + var template = Handlebars.compile(tpl); + var html = template(printData); + var box = $("#box"); + box.html(html);box.show(); + box.print({mediaPrint:true}); + box.hide(); + // $.ajax({ + // url: baseUrl+"/pla/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¶m="+res.data[i].matnr; + // } else { + // res.data[i]["barcodeUrl"]=baseUrl+"/mac/code/auth?type=2¶m="+res.data[i].matnr; + // } + // } + // 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) + // } + // } + // }) + }); + // 鎼滅储鏍忔悳绱簨浠� form.on('submit(search)', function (data) { pageCurr = 1; diff --git a/src/main/webapp/views/pla/plaDetl.html b/src/main/webapp/views/pla/plaDetl.html index d765b25..33e2da4 100644 --- a/src/main/webapp/views/pla/plaDetl.html +++ b/src/main/webapp/views/pla/plaDetl.html @@ -106,6 +106,17 @@ position: fixed; z-index: 999; } + /* ------------------------- 鎵撳嵃琛ㄦ牸 ----------------------- */ + .template-preview { + height: 200px; + display: inline-block; + } + .contain td { + border: 1px solid #000; + /*font-family: 榛戜綋;*/ + /*font-weight: bold;*/ + /*color: #000000;*/ + } </style> </head> <body style="padding-bottom: 30px"> @@ -223,6 +234,7 @@ <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-viladate" lay-event="viladate" style="display: none">鏍¢獙</button> <button class="layui-btn layui-btn-sm layui-btn-danger " id="btn-freeze" lay-event="freezeData" style="display: none">鍐荤粨</button> <button class="layui-btn layui-btn-sm layui-btn-checked " id="btn-disfreeze" lay-event="disFreezeData" style="display: none">瑙e喕</button> + <button class="layui-btn layui-btn-sm layui-btn-checked " id="btn-printBatch" lay-event="btnPrintBatch" >鎵归噺鎵撳嵃</button> <!-- 鍟嗗搧/鐗╂枡 鏁版嵁涓績 --> <div class="dropdown-menu" style="float: right"> <button id="syncData" style="display: none;" class="layui-btn layui-btn-primary layui-border-black icon-btn layui-btn-sm"> 鏁版嵁鍚屾 <i class="layui-icon layui-icon-drop"></i></button> @@ -268,6 +280,100 @@ <script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script> <script type="text/javascript" src="../../static/js/pla/plaDetl.js" charset="utf-8"></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=""> + </div> + <fieldset class="layui-elem-field site-demo-button" style="margin-top: 30px;text-align: center;"> + <legend>鎵撳嵃棰勮</legend> + <div id="template-container" style="margin: 20px;text-align: center"> + <!-- 棰勮鍥� 3 --> + <div id="template-preview-1" class="template-preview" style="display: block"> + <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> + <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> + <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¶m=123"); + $('.template-qrcode').attr("src", baseUrl+"/mac/code/auth?type=2¶m=123"); +</script> + +<!-- 妯℃澘寮曟搸 --> +<!-- 妯℃澘3 --> +<script type="text/template" id="templatePreview1" class="template-qrcode"> + {{#each data}} + <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" style="font-weight: bold;"><strong style="font-weight: bold;color: black;">鐗屽彿</strong></td> + <td align="center" scope="col" colspan="1" style=" + font-weight: bold; + display: inline-block; + line-height: 20px; + vertical-align: middle; + border: none; + border-top: 1px solid #000; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 3; + -webkit-box-orient: vertical; + "> + <strong style="font-weight: bold;color: black;">{{this.brand}}</strong> + </td> + <td align="center" scope="col" colspan="2" rowspan="2"> + <img class="template-code template-qrcode" src="{{this.barcodeUrl}}" width="80%"> + <div style="letter-spacing: 1px;margin-top: 1px; text-align: center"> + <span style="font-weight: bold;color: black;"><strong style="font-weight: bold;color: black;">{{this.brand}}</strong></span> + </div> + </td> + </tr> + <tr style="height: 74px"> + <td align="center" colspan="1" style="font-weight: bold;color: black;"><strong style="font-weight: bold;color: black;">閲嶉噺</strong></td> + <td align="center" colspan="1" style="font-weight: bold;color: black;overflow:hidden; white-space:nowrap; text-overflow:ellipsis;"><strong style="font-weight: bold;color: black;">{{this.weightAnfme}}</strong></td> + </tr> + <tr style="height: 74px"> + <td align="center" colspan="1" style="font-weight: bold;color: black;"><strong style="font-weight: bold;color: black;">鎵瑰彿</strong></td> + <td align="center" colspan="1" style="font-weight: bold;color: black;overflow:hidden; white-space:nowrap; text-overflow:ellipsis;"><strong style="font-weight: bold;color: black;">{{this.batch}}</strong></td> + <td align="center" colspan="1" style="font-weight: bold;color: black;"><strong style="font-weight: bold;color: black;">鍖呭彿</strong></td> + <td align="center" colspan="1" style="font-weight: bold;color: black;overflow:hidden; white-space:nowrap; text-overflow:ellipsis;"><strong style="font-weight: bold;color: black;">{{this.packageNo}}</strong></td> + </tr> + </table> + {{/each}} +</script> + </body> </html> -- Gitblit v1.9.1