layui打印自定义表格功能

layui打印自定义表格功能

打印预览表
在这里插入图片描述
按钮点击显示预览表,根据id获取数据,再绘制打印表

       layer.open({
          type: 2,
          area: ['500px', '700px'],
          content: 'printSampleManager.html?'+ layui.data('version').v + '',
          btn: ['打印'],
          btnAlign: 'c',
          yes: function(layero, index){
         // 打印表获取数据
            $.ajax({
              url: '../../../../labctl/getSampleById?id=' + obj.data.id + '' ,
              success:function (data) {
                var res = JSON.parse(data)
                var qrFilename = res[0].qr_filename
                var basePath = 'http://192.168.62.209:85/upload/image-qr/'
                var viewpath = basePath + qrFilename
                var sampName = res[0].sampName;
                var sampType = res[0].sampType;
                var sampSn = res[0].sampSn;
                var sampCode = res[0].sampCode;
                var prolineName = res[0].prolineName;
                var oaId = res[0].oaId;
                var sampDate = res[0].sampDate;
                var v = document.createElement("div");
                  var f =    //绘制表格
                   [`<head><br>
                     <table cellspacing="0" width="100%" style="border-collapse: separate; border-spacing: 0px;">
                     <tbody>
                     <tr style="height:50px ; width: 700px;">
                       <div hidden>${qrFilename}</div>
                       <td style="border:1px solid black;width:50px;" align="center" valign="middle">
                       <img style='width: 200px; height: 200px; max-width: 80%; margin-top: 5px;' src=${viewpath}>
                       </td>
                       <td style="border:1px solid black;" colspan="2" align="center" valign="middle">
                       <p style="font-size: 35px">样品标识卡</p>
                       </td>
                     </tr>

                     <tr style="height:50px; width: 700px;">
                     <td style="border:1px solid black;width:50px;" align="center" valign="middle">
                       <p>样品名称</p>
                     </td>
                     <td style="border:1px solid black;width:100px;" align="center" valign="middle">
                       <div>${sampName}</div>
                     </td>
                     </tr>

                     <tr style="height:50px; width: 700px;">
                     <td style="border:1px solid black;width:50px;" align="center" valign="middle">
                       <p>规格型号</p>
                     </td>
                     <td style="border:1px solid black;width:100px;" align="center" valign="middle">
                       <div>${sampType}</div>
                     </td>
                     </tr>

                     <tr style="height:50px ; width: 700px;">
                     <td style="border:1px solid black;width:50px;" align="center" valign="middle">
                     <p>序列号</p>
                     </td>
                     <td style="border:1px solid black;width:100px;" align="center" valign="middle">
                       <div>${sampSn}</div>
                     </td>
                     </tr>

                     <tr style="height:50px ; width: 700px;">
                     <td style="border:1px solid black;width:50px;" align="center" valign="middle">
                     <p>样品编号</p>
                     </td>
                     <td style="border:1px solid black;width:100px;" align="center" valign="middle">
                       <div>${sampCode}</div>
                     </td>
                     </tr>

                     <tr style="height:50px ; width: 700px;">
                     <td style="border:1px solid black;width:50px;" align="center" valign="middle">
                     <p>来样单位</p>
                     </td>
                     <td style="border:1px solid black;width:100px;" align="center" valign="middle">
                       <div>${prolineName}</div>
                     </td>
                     </tr>

                     <tr style="height:50px ; width: 700px;">
                     <td style="border:1px solid black;width:50px;" align="center" valign="middle">
                     <p>委托编号</p>
                     </td>
                     <td style="border:1px solid black;width:100px;" align="center" valign="middle">
                        <div>${oaId}</div>
                     </td>
                     </tr>

                     <tr style="height:50px ; width: 700px;">
                     <td style="border:1px solid black;width:50px;" align="center" valign="middle">
                     <p>来样日期</p>
                     </td>
                     <td style="border:1px solid black;width:100px;" align="center" valign="middle">
                       <div>${sampDate}</div>
                     </td>
                     </tr>
                     </div>
                     </tbody>
                     </table>`,
                   "</head>"].join("");
                  $(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();
                }

          })
          // 预览表获取数据
          success: function (layero, index) {
            var iframeWindow = window['layui-layer-iframe' + index];
            $.ajax({
              url: '../../../../labctl/getSampleById?id=' + obj.data.id + '' ,
              success:function (data){
                var res = JSON.parse(data)
                iframeWindow.layui.$('#id').append(res[0].id)
                iframeWindow.layui.$('#sampName').append(res[0].sampName)
                iframeWindow.layui.$('#qr_filename').append(res[0].qr_filename)
                iframeWindow.layui.$('#sampType').append(res[0].sampType)
                iframeWindow.layui.$('#sampCode').append(res[0].sampCode)
                iframeWindow.layui.$('#sampSn').append(res[0].sampSn)
                iframeWindow.layui.$('#prolineName').append(res[0].prolineName)
                iframeWindow.layui.$('#oaId').append(res[0].oaId)
                iframeWindow.layui.$('#sampDate').append(res[0].sampDate)

              }
            })
          }
        })

最后打印效果
在这里插入图片描述

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
layui table 中,可以通过使用 table.exportFile() 方法来实现导出表格数据。如果需要自定义导出内容,可以通过以下步骤实现: 1. 定义一个导出按钮,可以使用 layui 中的 button 组件。 ```html <button class="layui-btn layui-btn-sm" id="exportBtn">导出</button> ``` 2. 给按钮绑定点击事件,在点击事件中获取需要导出的数据,并进行处理。 ```javascript // 获取需要导出的数据 var data = table.cache.tableId; // 处理导出数据 var exportData = []; layui.each(data, function(index, item){ // 自定义处理逻辑 exportData.push({ id: item.id, name: item.name, age: item.age }); }); // 导出数据 table.exportFile(['ID', '姓名', '年龄'], exportData, 'xls'); ``` 在这里,我们可以通过对原始数据进行处理,生成需要导出的数据。这里的处理逻辑可以根据具体需求进行自定义。 3. 将处理后的数据导出为 Excel 文件,可以使用 table.exportFile() 方法。 ```javascript table.exportFile(['ID', '姓名', '年龄'], exportData, 'xls'); ``` 在这里,我们可以指定导出的字段名和文件类型。上述代码中,我们导出了一个名为“tableId”的表格数据,并且导出的文件类型为“xls”。 完整代码示例: ```html <button class="layui-btn layui-btn-sm" id="exportBtn">导出</button> <script> layui.use('table', function(){ var table = layui.table; // 绑定导出按钮点击事件 $('#exportBtn').on('click', function(){ // 获取需要导出的数据 var data = table.cache.tableId; // 处理导出数据 var exportData = []; layui.each(data, function(index, item){ // 自定义处理逻辑 exportData.push({ id: item.id, name: item.name, age: item.age }); }); // 导出数据 table.exportFile(['ID', '姓名', '年龄'], exportData, 'xls'); }); }); </script> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值