Table iframe分页打印

2 篇文章 0 订阅

<%@ page language="java" contentType="text/html;charset=UTF-8"
         pageEncoding="UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="en">
<head>
    <link rel="stylesheet" href="${ctx}/static/css/archive.css"/>
    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
    <link rel="icon" href="${ctx}/static/assets/favicon.png" type="image/x-icon"/>
    <meta name="viewport" content="width=device-width,initial-scale=1"/>
    <title>个人档案</title>
    <script>window.routerBase = "/";</script>
    <script src="${ctx}/static/js/jquery.js"></script>
    <script language="javascript">
        function preview(oper) {
            if (oper < 10) {
                bdhtml = window.document.body.innerHTML;//获取当前页的html代码
                sprnstr = "<!--startprint" + oper + "-->";//设置打印开始区域
                eprnstr = "<!--endprint" + oper + "-->";//设置打印结束区域
                prnhtml = bdhtml.substring(bdhtml.indexOf(sprnstr) + 25); //从开始代码向后取html
                prnhtml = prnhtml.substring(0, prnhtml.indexOf(eprnstr));//从结束代码向前取html
                window.document.body.innerHTML = prnhtml;
                window.print();
                window.document.body.innerHTML = bdhtml;
            } else {
                window.print();
            }
        }
    </script>
    <script>

        var pageSize = 16;    //每页显示的记录条数
        var curPage=0;        //当前页
        var lastPage;        //最后页
        var direct=0;        //方向
        var len;            //总行数
        var page;            //总页数
        var begin;
        var end;


        document.onreadystatechange = function () {
            if (document.readyState === "complete") {
                var data = ${data};
                const {info, study, work, family, hj, kh} = data;
                if (info.avatar && info.avatar.length > 0) {
                    let url = "${ctx}" + info.avatar;
                    document.getElementById('avatar').style.backgroundImage = "url(" + url + ")";
                    delete info.avatar;
                }
                for (let key in info) {
                    let t = document.getElementById(key);
                    if (t) {
                        t.innerHTML = info[key];
                    }
                }

                if (study.length > 0) {
                    $("#study_td").append(pageInfo(study));//学历
                } else {
                    document.getElementById("study").style.display = "none";
                }

               if (work.length > 0) {
                    $("#work_td").append(pageWorkInfo(work));//工作简历
                } else {
                    document.getElementById("work").style.display = "none";
                }

                     if (family.length > 0) {
                        $("#family_td").append(pageFamilyInfo(family));//家庭成员关系
                    } else {
                        document.getElementById("family").style.display = "none";
                    }

                    if (hj.length > 0) {
                        $("#hj_td").append(pageHjInfo(hj));//奖惩情况
                    } else {
                        document.getElementById("hj").style.display = "none";
                    }

                    if (kh.length > 0) {
                        $("#kh_td").append(pageKhInfo(kh));//年度考核
                    } else {
                        document.getElementById("kh").style.display = "none";
                    }

                len =$("#mytable tr").length;    // 求这个表的总行数,剔除第一行介绍
                page=len % pageSize==0 ? len/pageSize : Math.floor(len/pageSize)+1;//根据记录条数,计算页数
                alert("len=="+len+",page==="+page);
                curPage=1;    // 设置当前为第一页
                displayPage(1);//显示第一页


                    $("#btn2").click(function frontPage(){    // 上一页
                        direct=-1;
                        displayPage();
                    });
                    $("#btn3").click(function nextPage(){    // 下一页
                        direct=1;
                        displayPage();
                    });

            }
        }

        function displayPage(){
            if(curPage <=1 && direct==-1){
                direct=0;
                alert("已经是第一页了");
                return;
            } else if (curPage >= page && direct==1) {
                direct=0;
                alert("已经是最后一页了");
                return ;
            }

            lastPage = curPage;

            // 修复当len=1时,curPage计算得0的bug
            if (len > pageSize) {
                curPage = ((curPage + direct + len) % len);
            } else {
                curPage = 1;
            }



            begin=(curPage-1)*pageSize + 1;// 起始记录号
            end = begin + 1*pageSize - 1;    // 末尾记录号


            if(end > len ) end=len;
            $("#mytable tr").hide();    // 首先,设置这行为隐藏
            console.log("begin=="+begin+",end=="+end)
            $("#mytable tr").each(function(i){    // 然后,通过条件判断决定本行是否恢复显示
                if((i>=begin && i<=end) || (begin==1 && i==0) )//显示begin<=x<=end的记录
                    $(this).show();
            });

        }


        function pageInfo(list) {
            let s = ''
            for (var i = 0; i < list.length; i++) {
                s += cell(list[i])
            }
            return s;
        }

        //学历
        function cell(data) {
            let s = '<tr>\n' +
                ' <td style="height: 12mm">开始时间</td>\n' +
                ' <td colspan="2"> ' + data.ksdate + '</td>\n' +
                ' <td >学历</td>\n' +
                '   <td >' + data.xl + ' </td>\n' +
                '</tr>\n' +
                '<tr>\n' +
                ' <td style="height: 12mm">结束时间</td>\n' +
                ' <td colspan="2"> ' + data.jsdate + '</td>\n' +
                ' <td >学位</td>\n' +
                '   <td >' + data.xw + ' </td>\n' +
                '</tr>\n' +
                '<tr>\n' +
                ' <td style="height: 12mm">毕业院校</td>\n' +
                ' <td colspan="2"> ' + data.school + '</td>\n' +
                ' <td >专业</td>\n' +
                '   <td >' + data.zy + ' </td>\n' +
                '</tr>\n';
            return s;
        }


        function pageWorkInfo(list) {
            let s = ''
            for (var i = 0; i < list.length; i++) {
                s += workCell(list[i])
            }
            return s;
        }

        //工作简历
        function workCell(data) {
            let s = '<tr>\n' +
                ' <td style="height: 12mm">开始时间</td>\n' +
                ' <td > ' + data.ksdate + '</td>\n' +
                ' <td >结束时间</td>\n' +
                '   <td colspan="2">' + data.jsdate + ' </td>\n' +
                '</tr>\n' +
                '<tr>\n' +
                ' <td style="height: 12mm">工作单位</td>\n' +
                ' <td > ' + data.gzdw + '</td>\n' +
                ' <td >工作岗位</td>\n' +
                '   <td colspan="2">' + data.gzgw + ' </td>\n' +
                '</tr>\n' +
                '<tr>\n' +
                ' <td style="height: 12mm">系统职级</td>\n' +
                ' <td colspan="4"> ' + data.xcmc + '</td>\n' +
                '</tr>\n';
            return s;
        }

        //家庭成员及社会关系
        function pageFamilyInfo(list) {
            let s = ''
            for (var i = 0; i < list.length; i++) {
                s += familyCell(list[i])
            }
            return s;
        }

        function familyCell(data) {
            let s = '<tr>\n' +
                ' <td style="height: 12mm">姓名</td>\n' +
                ' <td colspan="2"> ' + data.xm + '</td>\n' +
                ' <td >出生年月</td>\n' +
                '   <td >' + data.csrq + ' </td>\n' +
                '</tr>\n' +
                '<tr>\n' +
                ' <td style="height: 12mm">关系</td>\n' +
                ' <td colspan="2"> ' + data.gx + '</td>\n' +
                ' <td >学历</td>\n' +
                '   <td >' + data.xlmc + ' </td>\n' +
                '</tr>\n' +
                '<tr>\n' +
                ' <td style="height: 12mm">工作单位</td>\n' +
                ' <td colspan="2"> ' + data.gzdw + '</td>\n' +
                ' <td >政治面貌</td>\n' +
                '   <td >' + data.zzmc + ' </td>\n' +
                '</tr>\n';
            return s;
        }


        //奖惩情况
        function pageHjInfo(list) {
            let s = ''
            for (var i = 0; i < list.length; i++) {
                s += hjCell(list[i])
            }
            return s;
        }

        function hjCell(data) {
            let s = '<tr>\n' +
                ' <td style="height: 12mm">类型</td>\n' +
                ' <td > ' + data.lxmc + '</td>\n' +
                ' <td >时间</td>\n' +
                '   <td colspan="2">' + data.rq + ' </td>\n' +
                '</tr>\n' +
                '<tr>\n' +
                ' <td style="height: 12mm">具体描述</td>\n' +
                ' <td colspan="4"> ' + data.mc + '</td>\n' +
                '</tr>\n';
            return s;
        }

        //年度考核
        function pageKhInfo(list) {
            let s = ''
            for (var i = 0; i < list.length; i++) {
                s += khCell(list[i])
            }
            return s;
        }

        function khCell(data) {
            let s = '<tr>\n' +
                ' <td style="height: 12mm">考核时间</td>\n' +
                ' <td colspan="2"> ' + data.rq + '</td>\n' +
                ' <td >对应年度</td>\n' +
                '   <td >' + data.jdmc + ' </td>\n' +
                '</tr>\n' +
                '<tr>\n' +
                ' <td style="height: 12mm">考核结果</td>\n' +
                ' <td > ' + data.idmc + '</td>\n' +
                ' <td >备注</td>\n' +
                '   <td colspan="2">' + data.remark + ' </td>\n' +
                '</tr>\n';
            return s;
        }
    </script>
</head>
<!--startprint1-->
<body>
<div class="main">
    <div class="title">街道个人档案</div>
    <table  id="mytable" class="root" style="margin: auto;width: 80%" border="1px" cellspacing="0" cellpadding="0">
        <tbody>
        <tr>
            <td style="width: 20%; height: 12mm">姓名</td>
            <td style="width: 20%" id="xm"></td>
            <td style="width: 20%">性别</td>
            <td style="width: 20%" id="fm"></td>
            <td style="width: 20%; padding: 0" rowspan="4" class="avatar">
                <img class="avatar" alt="avatar" id="avatar" src="${ctx}/static/assets/default_sign_bg.png"/>
            </td>
        </tr>
        <tr>
            <td style="height: 12mm">民族</td>
            <td id="mz"></td>
            <td>档号</td>
            <td id="dh"></td>
        </tr>
        <tr>
            <td style="height: 12mm">最高学历</td>
            <td id="xl"></td>
            <td>最高学位</td>
            <td id="xw"></td>
        </tr>
        <tr>
            <td style="height: 12mm">部门</td>
            <td colspan="3" id="bm"></td>
        </tr>
        <tr>
            <td style="height: 12mm">现职务</td>
            <td colspan="2" id="zw"></td>
            <td>现职务时间</td>
            <td id="zwsj"></td>
        </tr>
        <tr>
            <td style="height: 12mm">系统职级</td>
            <td id="zc" colspan="4"></td>
        </tr>
        <tr>
            <td style="height: 12mm">技术职称</td>
            <td id="zchen" colspan="4"></td>
        </tr>
        <tr>
            <td style="height: 12mm">现职级时间</td>
            <td id="zcdate"></td>
            <td>职称描述</td>
            <td id="zcms" colspan="2"></td>
        </tr>
        <tr>
            <td style="height: 12mm">编制职级</td>
            <td id="xz" colspan="2"></td>
            <td>出生年月</td>
            <td id="csdate"></td>
        </tr>
        <tr>
            <td style="height: 12mm">政治面貌</td>
            <td id="zz" colspan="2"></td>
            <td>入党时间</td>
            <td id="rddate"></td>
        </tr>
        <tr>
            <td style="height: 12mm">参加工作时间</td>
            <td id="gzdate"></td>
            <td>服务长芦时间</td>
            <td id="dwsj" colspan="2"></td>
        </tr>
        <tr>
            <td style="height: 24mm" rowspan="2">合同单位</td>
            <td colspan="2" rowspan="2" id="htdw"></td>
            <td style="height: 12mm">首次合同时间</td>
            <td id="htdate1"></td>
        </tr>
        <tr>
            <td style="height: 12mm">最近合同时间</td>
            <td id="htdate2"></td>
        </tr>
        <tr>
            <td style="height: 12mm">手机号码</td>
            <td colspan="2" id="phone"></td>
            <td>电话号码</td>
            <td id="tel"></td>
        </tr>
        <tr>
            <td style="height: 14mm">出生地</td>
            <td colspan="4" id="csd"></td>
        </tr>
        <tr>
            <td style="height: 14mm">籍贯</td>
            <td colspan="4" id="jg"></td>
        </tr>
        <tr>
            <td style="height: 14mm">家庭住址</td>
            <td colspan="4" id="home"></td>
        </tr>


        <tr>
            <td colspan="5" style="height: 10mm; font-weight:bold;text-align:center" id="study">学 历</td>
        </tr>

        <tbody id="study_td">
        </tbody>

        <tr>
            <td colspan="5" style="height: 10mm; font-weight:bold;text-align:center" id="work">工作简历</td>
        </tr>
        <tbody id="work_td">
        </tbody>

        <tr>
            <td colspan="5" style="height: 10mm; font-weight:bold;text-align:center" id="family">家庭成员及社会关系</td>
        </tr>
        <tbody id="family_td">
        </tbody>

        <tr>
            <td colspan="5" style="height: 10mm; font-weight:bold;text-align:center" id="hj">奖惩情况</td>
        </tr>
        <tbody id="hj_td">
        </tbody>

        <tr>
            <td colspan="5" style="height: 10mm; font-weight:bold;text-align:center" id="kh">年度考核</td>
        </tr>
        <tbody id="kh_td">
        </tbody>


        </tbody>
    </table>


</div>
</body>
<!--endprint1-->
<a  href="#" id="btn2">上一页</a>
<a  href="#" id="btn3">下一页</a>
<button style="position: absolute; top: 20px; right: 20px; color: white; background: blue" onclick="preview(1)">打印
</button>
</html>

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值