From 1fb1c749a2d18b80877518042c7a918756e1814f Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Fri, 30 Sep 2022 16:17:09 +0800 Subject: [PATCH] 20220902 --- src/main/resources/templates/febs/views/modules/order/orderList.html | 124 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 124 insertions(+), 0 deletions(-) diff --git a/src/main/resources/templates/febs/views/modules/order/orderList.html b/src/main/resources/templates/febs/views/modules/order/orderList.html index 37be729..dd46f40 100644 --- a/src/main/resources/templates/febs/views/modules/order/orderList.html +++ b/src/main/resources/templates/febs/views/modules/order/orderList.html @@ -103,6 +103,11 @@ <button class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain" lay-event="exportDeliver">导出未发货订单</button> <button class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain" id="importDeliver" lay-event="importDeliver">导入发货</button> <button class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain" lay-event="exportDeliverDone">导出已发货订单</button> +<!-- <button type="button" class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain" onclick="print('tool(orderTable)')">layui自定义打印表格</button>--> + <button id="printSelect" type="button" class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain">自定义打印</button> +<!-- <button class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain" lay-event="getCheckData">获取选中行数据</button>--> +<!-- <button class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain" lay-event="getCheckLength">获取选中数目</button>--> +<!-- <button class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain" lay-event="isAll">验证是否全选</button>--> </div> </script> <!-- 表格操作栏 end --> @@ -245,6 +250,7 @@ toolbar: '#tableToolBar', totalRow: true ,// 开启合计行 cols: [[ + {type: 'checkbox',fixed: 'left'}, {field: 'orderNo', title: '订单编号', minWidth: 120,align:'left', totalRowText: '合计:'}, {field: 'memberName', title: '购买人', minWidth: 120,align:'left'}, {field: 'memberPhone', title: '账号', minWidth: 120,align:'left'}, @@ -313,5 +319,123 @@ }; } + /* + * layui打印表格自定义函数 + */ + function print(tablelayid) { + var v = document.createElement("div"); + var f = ["<head>", "<style>", "body{font-size: 12px; color: #666;}", + "table{width: 100%; border-collapse: collapse; border-spacing: 0;}", + "th,td{line-height: 20px; padding: 9px 15px; border: 1px solid #ccc; text-align: left; font-size: 12px; color: #666;}", + "a{color: #666; text-decoration:none;}", "*.layui-hide{display: none}", "</style>", "</head>" + ].join(""); + $(v).append($(".layui-table-box").find(".layui-table-header").html()); + $(v).find("tr").after($("[lay-id=\"" + tablelayid + "\"] .layui-table-body.layui-table-main table").html()); + $(v).find("th.layui-table-patch").remove(); + $(v).find(".layui-table-col-special").remove(); + var h = window.open("打印窗口", "_blank"); + h.document.write(f + $(v).prop("outerHTML")); + h.document.close(); + h.print(); + h.close(); + } + + /* 监听打印选中行按钮 */ + $('#printSelect').click(function() { + layui.use(['table', 'layer'], function() { + var table = layui.table, + layer = layui.layer; + + var checkStatus = table.checkStatus('orderTable') + console.log(checkStatus) + // 判断是否选中数据 + if (checkStatus.data.length === 0) { + layer.msg('请选择数据', { + icon: 2 + }) + } else { + printSelect(checkStatus.data) + } + }) + }) + /* + * [自定义打印选中行数据] + * @param {[type]} allData [传入选中行] + */ + function printSelect(allData) { + //用于包含内容 + var v = document.createElement("div"); + //页面头部,导入css ,media="print"表示打印时使用该样式 + var f = ["<head>", "<style>", "div{font-size:16px;}", ".main{width:100%;height:100%}", + ".main div{width:100%;display:inline-block;}", "</style>", "</head>" + ].join(""); + var contentHtml = ""; + for (let i = 0; i < allData.length; i++) { + let statusStr = ''; + let data = allData[i] + if (data.status === 1) { + statusStr = "待支付"; + } else if (data.status === 2) { + statusStr = "待发货"; + }else if (data.status === 3) { + statusStr = "待收货"; + }else if (data.status === 4) { + statusStr = "已完成"; + }else if (data.status === 5) { + statusStr = "退款中"; + return '<span style="color:green;">退款中</span>' + }else if (data.status === 6) { + statusStr = "已退款"; + return '<span style="color:green;">已退款</span>' + }else if (data.status === 7) { + statusStr = "已取消"; + }else{ + statusStr = ""; + } + + let payTimeStr = ''; + if(data.payTime == '' || data.payTime == null){ + payTimeStr = ""; + }else{ + payTimeStr = data.payTime; + } + + let payMethodStr = ''; + if(data.payMethod == '' || data.payMethod == null){ + payMethodStr = ""; + }else{ + payMethodStr = data.payMethod; + } + var template = + "<div class='main'>" + + "<div style='text-align: center;font-size: 22px;font-weight: bold;margin-bottom: 30px'>订单详情</div>" + + "<div>编号:" + data.orderNo + "</div><br><br>" + + "<div>商品:" + data.goodsName + "</div><br><br>" + + "<div>金额:" + data.amount + "</div><br><br>" + + "<div>账号:" + data.memberPhone + "</div><br><br>" + + "<div>购买人:" + data.memberName + "</div><br><br>" + + "<div>联系方式:" + data.memberBindPhone + "</div><br><br>" + + "<div>地址:" + data.address + "</div><br><br>" + + "<div>状态:" + statusStr + "</div><br><br>" + + "<div>下单时间:" + payTimeStr + "</div><br><br>" + + "<div>支付方式:" + payMethodStr + "</div><br><br>" + + "<div>备注:" + data.remark + "</div><br><br>" + + "</div>" + + contentHtml += template; + } + + //contentHtml为已拼凑好的内容 + $(v).append(contentHtml) + //新建窗口 + var h = window.open("打印窗口", "_blank"); + //写入拼凑内容 + h.document.write(f + $(v).prop("outerHTML")); + //调用打印 + h.print(); + //关闭页面 + h.close(); + } + }) </script> \ No newline at end of file -- Gitblit v1.9.1