From 978a64cef6ac485bff42b2faa4caf0e5bf1276e0 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期一, 28 三月 2022 10:15:43 +0800 Subject: [PATCH] # --- src/main/webapp/static/js/order/out.js | 18 +++++--- src/main/webapp/static/layui/lay/modules/tableMerge.js | 75 +++++++++++++++++++++++++++++++++++++ src/main/webapp/views/order/out.html | 10 +++- src/main/java/com/zy/common/model/LocDto.java | 2 + src/main/java/com/zy/asrs/controller/OutController.java | 4 + 5 files changed, 98 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java index 9f494e4..eba9ffc 100644 --- a/src/main/java/com/zy/asrs/controller/OutController.java +++ b/src/main/java/com/zy/asrs/controller/OutController.java @@ -92,7 +92,9 @@ } } if (issued > 0) { - locDtos.add(new LocDto("缂鸿揣", orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued)); + LocDto locDto = new LocDto("缂鸿揣", orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued); + locDto.setLack(Boolean.TRUE); + locDtos.add(locDto); } } return R.ok().add(locDtos); diff --git a/src/main/java/com/zy/common/model/LocDto.java b/src/main/java/com/zy/common/model/LocDto.java index f03977d..c3d1805 100644 --- a/src/main/java/com/zy/common/model/LocDto.java +++ b/src/main/java/com/zy/common/model/LocDto.java @@ -20,6 +20,8 @@ private Double anfme; + private boolean lack = false; + public LocDto() { } diff --git a/src/main/webapp/static/js/order/out.js b/src/main/webapp/static/js/order/out.js index d2aaeca..0337c36 100644 --- a/src/main/webapp/static/js/order/out.js +++ b/src/main/webapp/static/js/order/out.js @@ -4,7 +4,7 @@ base: baseUrl + "/static/layui/lay/modules/" }).extend({ notice: 'notice/notice', -}).use(['table','laydate', 'form', 'util', 'admin', 'notice', 'treeTable', 'xmSelect'], function(){ +}).use(['table','laydate', 'form', 'util', 'admin', 'notice', 'treeTable', 'xmSelect', 'tableMerge'], function(){ var table = layui.table; var $ = layui.jquery; var layer = layui.layer; @@ -15,6 +15,7 @@ var notice = layui.notice; var treeTable = layui.treeTable; var xmSelect = layui.xmSelect; + var tableMerge = layui.tableMerge; insTb2 = table.render({ elem: '#orderDetlTable', @@ -138,32 +139,35 @@ ,closeBtn: false ,offset: '100px' // ,area: ['1000px', '700px'] - ,area: '1000px' + ,area: '1200px' ,shade: 0.5 ,shadeClose: true ,btn: ['绔嬪嵆鐢熸垚', '绋嶅悗澶勭悊'] ,btnAlign: 'c' ,moveType: 1 //鎷栨嫿妯″紡锛�0鎴栬��1 - ,content: $('#pakoutPreviewBox') + ,content: $('#pakoutPreviewBox').html() ,success: function(layero, index){ console.log(res.data) table.render({ elem: '#stoPreTab', data: res.data, - page: false, - cellMinWidth: 100, height: 432, + page: false, + limit: Number.MAX_VALUE, + cellMinWidth: 100, cols: [[ + {type: 'checkbox', merge: ['orderNo']}, {field: 'orderNo', title: '鍗曟嵁缂栧彿', merge: true, align: 'center'}, - {field: 'title', title: '鍟嗗搧', merge: true, align: 'center', width: 300}, + {field: 'title', title: '鍟嗗搧', align: 'center', width: 350}, + {field: 'batch', title: '鎵瑰彿', merge: ['title'], align: 'center'}, // {field: 'anfme', title: '鎬绘暟閲�', merge: ['title'], align: 'center', style: 'font-weight: bold', width: 90}, {field: 'locNo', title: '璐т綅', align: 'center', width: 90}, - {field: 'batch', title: '鎵瑰彿', align: 'center'}, {field: 'anfme', title: '鏁伴噺', align: 'center', width: 90, style: 'font-weight: bold'}, // {field: 'remQty', title: '浣欓噺', align: 'center', width: 80}, // {field: 'total', title: '鎬婚噺', align: 'center', width: 90}, ]], done: function () { + tableMerge.render(this); $('.layui-table-body.layui-table-main').css("overflow", "auto") } }); diff --git a/src/main/webapp/static/layui/lay/modules/tableMerge.js b/src/main/webapp/static/layui/lay/modules/tableMerge.js new file mode 100644 index 0000000..4d26b3c --- /dev/null +++ b/src/main/webapp/static/layui/lay/modules/tableMerge.js @@ -0,0 +1,75 @@ +/** + * Created by YujieYang. + * @name: 瀛愯〃鏍兼墿灞� + * @author: 鏉ㄧ帀鏉� + * @version 1.0 + */ +layui.define(['table'], function (exports) { + + var $ = layui.jquery; + + // 灏佽鏂规硶 + var mod = { + /** + * 娓叉煋鍏ュ彛 + * @param myTable + */ + render: function (myTable) { + var tableBox = $(myTable.elem).next().children('.layui-table-box'), + $main = $(tableBox.children('.layui-table-body').children('table').children('tbody').children('tr').toArray().reverse()), + $fixLeft = $(tableBox.children('.layui-table-fixed-l').children('.layui-table-body').children('table').children('tbody').children('tr').toArray().reverse()), + $fixRight = $(tableBox.children('.layui-table-fixed-r').children('.layui-table-body').children('table').children('tbody').children('tr').toArray().reverse()), + cols = myTable.cols[0], mergeRecord = {}; + + for (let i = 0; i < cols.length; i++) { + var item3 = cols[i], field=item3.field; + if (item3.merge) { + var mergeField = [field]; + if (item3.merge !== true) { + if (typeof item3.merge == 'string') { + mergeField = [item3.merge] + } else { + mergeField = item3.merge + } + } + mergeRecord[i] = {mergeField: mergeField, rowspan:1} + } + } + + $main.each(function (i) { + + for (var item in mergeRecord) { + if (i==$main.length-1 || isMaster(i, item)) { + $(this).children('[data-key$="-'+item+'"]').attr('rowspan', mergeRecord[item].rowspan).css('position','static'); + $fixLeft.eq(i).children('[data-key$="-'+item+'"]').attr('rowspan', mergeRecord[item].rowspan).css('position','static'); + $fixRight.eq(i).children('[data-key$="-'+item+'"]').attr('rowspan', mergeRecord[item].rowspan).css('position','static'); + mergeRecord[item].rowspan = 1; + } else { + $(this).children('[data-key$="-'+item+'"]').remove(); + $fixLeft.eq(i).children('[data-key$="-'+item+'"]').remove(); + $fixRight.eq(i).children('[data-key$="-'+item+'"]').remove(); + mergeRecord[item].rowspan +=1; + } + } + }) + + function isMaster (index, item) { + var mergeField = mergeRecord[item].mergeField; + var dataLength = layui.table.cache[myTable.id].length; + for (var i=0; i<mergeField.length; i++) { + + if (layui.table.cache[myTable.id][dataLength-2-index][mergeField[i]] + !== layui.table.cache[myTable.id][dataLength-1-index][mergeField[i]]) { + return true; + } + } + return false; + } + + } + }; + + // 杈撳嚭 + exports('tableMerge', mod); +}); + diff --git a/src/main/webapp/views/order/out.html b/src/main/webapp/views/order/out.html index 083c7e1..a00a8e6 100644 --- a/src/main/webapp/views/order/out.html +++ b/src/main/webapp/views/order/out.html @@ -126,12 +126,16 @@ </script> <!-- 鍑哄簱棰勮 --> -<div id="pakoutPreviewBox" style="display: none"> +<script type="text/html" id="pakoutPreviewBox" style="display: none"> <div style="padding: 25px; line-height: 22px; background-color: #393D49; color: #fff; font-weight: 300;"> <span style="font-size: large; font-weight: bold">鍑哄簱棰勮</span> </div> - <table id="stoPreTab" lay-filter="stoPreTab"></table> -</div> + <div class="layui-card"> + <div class="layui-card-body" style="padding: 10px"> + <table id="stoPreTab" lay-filter="stoPreTab"></table> + </div> + </div> +</script> <!-- 琛屾牱寮� --> <script type="text/html" id="orderNoTpl"> -- Gitblit v1.9.1