<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set value="${pageContext.request.contextPath}" var="path" scope="page"/>
<html>
<head>
    <title>病案封存日志列表</title>
    <meta charset="utf-8">
    <!-- 解决部分兼容性问题，如果安装了GCF，则使用GCF来渲染页面，如果未安装GCF，则使用最高版本的IE内核进行渲染。 -->
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <!-- 页面按原比例显示 -->
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <%@include file="../../jspf/comm.jspf" %>
    <style>
        .divCss {
            margin-top: 5px;
        }

        .divCss2 {
            margin-top: 5px;
            margin-left: 20px;
        }

        .divCss8 {
            margin-top: 5px;
            margin-right: 20px;
        }

        /* dataTables表头居中 */
        .table > thead:first-child > tr:first-child > th {
            text-align: center !important;
        }

        /*选中行颜色*/
        .fixed-table-container tbody .selected td {
            background-color: #9acfea;
        }

        .formCss{
            margin-top:20px;
            margin-left:20px;
        }

        .tjCss{
            margin-left:10px;
            margin-right:20px;
            height:auto;
        }
    </style>
</head>

<body>
<div class="tjCss">

    <!--搜索-->
    <form class="formCss">
        <div class="form-inline">
            <div class="form-group divCss8">
                <label for="inpNo">住院号:</label>
                <input type="text" class="input-sm form-control" id="inpNo" placeholder="请输入住院号">
            </div>
            <div class="form-group divCss8" >
                <label for="visitId">住院次数:</label>
                <input type="number" class="input-sm form-control" id="visitId" placeholder="请输入次数">
            </div>
            <div class="form-group divCss8">
                <label for="name">姓名:</label>
                <input type="text" class="input-sm form-control" id="name" placeholder="请输入姓名">
            </div>

            <div class="form-group divCss8">
                <label for="handleName">封存人:</label>
                <input type="text" class="input-sm form-control" id="handleName" placeholder="请输入封存人">
            </div>
            <div class="form-group divCss8">
                <label>归档状态 :</label>
                <select class="selectpicker bla bla bli" multiple data-live-search="true" name="doctorInCharge" id="archivestate" title="请输入归档状态"
                        data-actions-box="true" data-deselect-all-text="取消全选" data-select-all-text="全选" data-none-results-text="没找到相应记录{0}">
                    <%-- <option value="">全部</option>--%>
                    <%--<option value="取消入院">取消入院</option>--%>
                        <option value="在院">在院</option>
                        <option value="未归档">未归档</option>
                        <option value="归档中">归档中</option>
                        <option value="提交">提交</option>
                        <option value="主任退回">主任退回</option>
                        <option value="初审">初审</option>
                        <option value="复审退回">复审退回</option>
                        <option value="已归档">已归档</option>
                        <option value="已认证">已认证</option>
                        <option value="已封存">已封存</option>
                </select>
            </div>
            <div class="form-group divCss8">
                <label for="followingContent">封存状态 :</label>
                <select class="input-sm form-control" id="followingContent">
                    <option value="">全部</option>
                    <option value="病案封存">病案封存</option>
                    <option value="病案取消封存">病案取消封存</option>
                </select>
            </div>
            <div class="form-group divCss">
                <label>封存日期:</label>
                <div class="input-daterange input-group" id="datepicker">
                    <input type="text" class="input-sm form-control" name="start" id="startDate"/>
                    <span class="input-group-addon">-</span>
                    <input type="text" class="input-sm form-control" name="end" id="endDate"/>
                </div>
            </div>
            <button type="button" class="btn btn-primary btn-sm divCss" id="searchBtn" >查询</button>
            <button type="button" class="btn btn-info btn-sm divCss" id="excelBtn">条件导出</button>

        </div>
    </form>
    <!--数据表格-->
    <table id="table" class="table table-striped"></table>
    <div id="toolbar" class="btn-group pull-right" style="margin-right: 20px;">
        <div class="columns columns-right btn-group pull-right" style="margin-top:0px;">
            <div class="btn-group btn-info">
                <select id="sel_exportoption" class="form-control">                
                    <option value="">导出当前页面数据</option>                                   
                    <option value="all">导出全部数据</option>
                    <option value="selected">导出选中数据</option>
                </select>
            </div>
            <button class=" btn btn-success" style="height: 34px" type="button" id="refreshBtn" name="refresh"
                    aria-label="Refresh"
                    title="Refresh">
                <i class="glyphicon glyphicon-refresh icon-refresh"></i>
            </button>
        </div>


    </div>
</div>
</body>
<script>
    var tipLoad=1;

    $(function () {


        var url = window.location.href;
        var index = url.substring(url.lastIndexOf('?') + 1).replace("num=", "");
        if (index != null && index != "" && index.indexOf("excel") != -1) {
            $("#excelBtn").show();
            $("#toolbar").show();
        } else {
            $("#excelBtn").hide();
            $(".columns-right").hide();
        }
    });

    //日期控件
    $(".input-daterange").datepicker({
        format: "yyyy-mm-dd",
        language: "zh-CN"
    });
    /*var currDate=getCurrDate();
    var currDate30=getCurrDay30();
    $('#startDate').val(currDate30);
    $('#endDate').val(currDate);*/

    //处理导出内容,这个方法可以自定义某一行、某一列、甚至某个单元格的内容,也就是将其值设置为自己想要的内容
    function DoOnCellHtmlData(cell, row, col, data) {
        if (row == 0) {
            return data;
        }

        //由于备注列超过6个字的话,通过span标签处理只显示前面6个字,如果直接导出的话会导致内容不完整,因此要将携带完整内容的span标签中title属性的值替换
        if (col == 4 || col == 11 || col == 7) {
            var spanObj = $(data);//将带 <span title="val"></span> 标签的字符串转换为jQuery对象
            var title = spanObj.attr("title");//读取<span title="val"></span>中title属性的值
            //var span = cell[0].firstElementChild;//读取cell数组中的第一个值下的第一个元素
            if (typeof (title) != 'undefined') {
                return title;
            }
        }

        return data;
    }

    function initTable() {
        if(tipLoad == 1){
            $("#table").bootstrapTable({ // 对应table标签的id
                //method: 'POST',
                url: "${path}/storage/storageLogList", // 获取表格数据的url
                contentType: "application/x-www-form-urlencoded",//一种编码。好像在post请求的时候需要用到。这里用的get请求，注释掉这句话也能拿到数据
                //dataField: "data",//这是返回的json数组的key.默认是"rows".这里只有前后端约定好就行
                cache: false, // 设置为 false 禁用 AJAX 数据缓存， 默认为true
                striped: true,  //表格显示条纹，默认为false
                pagination: true, // 在表格底部显示分页组件，默认false
                paginationShowPageGo: true,
                pageList: [10, 20, 50, 100], // 如果设置了分页，设置可供选择的页面数据条数。设置为All 则显示所有记录。
                smartDisplay: false,
                pageSize: 2, // 页面数据条数
                pageNumber: 1, // 初始化加载第一页，默认第一页
                sidePagination: 'server', // 设置为服务器端分页     客户端：client
                search: false,
                showColumns: true,
                // sortable: true,
                // sortOrder: "asc",
                toolbar: '#toolbar',//指定工具栏
                searchOnEnterKey: true, //设置为 true时，按回车触发搜索方法，否则自动触发搜索方法
                undefinedText: '---', //当数据为 undefined 时显示的字符
                singleSelect: false,//设置True 将禁止多选
                clickToSelect: true,//设置true 将在点击行时，自动选择rediobox 和 checkbox
                //height: 560,     //定义表格的高度。
                searchTimeOut: 500,// 默认500  设置搜索超时时间。
                toolbarAlign: 'right',// 指定 toolbar 水平方向的位置。'left' 或 'right'
                paginationDetailHAlign: 'left',//指定 分页详细信息 在水平方向的位置。'left' 或 'right'。
                showHeader: true,//是否显示列头。
                trimOnSearch: true,//设置为 true 将自动去掉搜索字符的前后空格。
                //是否显示导出按钮
                showExport: true,
                //导出表格方式（默认basic：只导出当前页的表格数据；all：导出所有数据；selected：导出选中的数据）
                exportDataType: "basic",
                //导出文件类型
                exportTypes: ['json', 'xml', 'csv', 'txt', 'sql', 'excel'],
                exportOptions: {
                    fileName: document.title
                },
                // showToggle: false,                    //是否显示详细视图和列表视图的切换按钮
                // cardView: false,                    //是否显示详细视图
                // detailView: false,                   //是否显示父子表
                queryParams: function (params) {
                    var currPageSize = this.pageSize;
                    if (currPageSize == 2) {
                        currPageSize = 10;
                    }

                    var limit = null;
                    var offset = params.offset;
                    //判断是否导出全部all
                    if ($("#sel_exportoption").val() == "all") {
                        offset = 0;
                        limit = this.totalRows;
                        this.pageSize = limit;
                    } else {
                        limit = currPageSize;
                        this.pageSize = currPageSize;
                    }
                    var idNo="";
                    if($("#idNo").val() != undefined && $("#idNo").val() != "undefined"){
                        idNo=$("#idNo").val();
                    }
                    var handleName="" + $("#handleName").val();
                    if($("#handleName").val() != undefined && $("#handleName").val() != "undefined"){
                        handleName=$("#handleName").val();
                    }
                    var handleTime= "" + $("#handleTime").val();
                    if($("#handleTime").val() != undefined && $("#handleTime").val() != "undefined"){
                        handleTime=$("#handleTime").val();
                    }
                    var followingContent="" + $("#followingContent").val();
                    if($("#followingContent").val() != undefined && $("#followingContent").val() != "undefined"){
                        followingContent=$("#followingContent").val();
                    }

                    var temp = {
                        limit: limit,     //页面大小
                        offset: offset,   //页码
                        order: params.order,      //排位命令（desc，asc）
                        idNo: idNo,
                        inpNo: "" + $("#inpNo").val(),
                        visitId: "" + $("#visitId").val(),
                        name: "" + $("#name").val(),
                        handleName: handleName,
                        handleTime: handleTime,
                        archivestate: "" + $("#archivestate").val(),
                        followingContent:followingContent,
                        state: "" + $("#state").val(),
                        startDate: $("#startDate").val(),
                        endDate: $("#endDate").val()
                    };
                    return temp;
                },
                sortName: 'id', // 要排序的字段
                sortOrder: 'desc', // 排序规则
                columns: [{
                    title: '全选',
                    field: 'select',   //复选框
                    checkbox: true,
                    width: 25,
                    align: 'center',
                    valign: 'middle',

                },
                    {
                        title: '序号',
                        field: 'id',
                        align: 'center',
                        valign: 'middle',
                        //sortable: true,
                        visible: false,
                        formatter: function (value, row, index) {
                            return index + 1;
                        }
                    },

                    {
                        title: '住院号',
                        field: 'inpNo',
                        align: 'left',
                        valign: 'middle',
                    },
                    {
                        title: '住院次数',
                        field: 'visitId',
                        align: 'center',
                        valign: 'middle',
                    },
                    {
                        title: '姓名',
                        field: 'name',
                        align: 'center',
                        valign: 'middle',
                    },
                    {
                        title: '性别',
                        field: 'sex',
                        align: 'center',
                        valign: 'middle',
                    },
                    {
                        title: '封存人',
                        field: 'handleName',
                        align: 'center',
                        valign: 'middle',
                    },

                    {
                        title: '封存时间',
                        field: 'handleTime',
                        align: 'center',
                        valign: 'middle',
                    },
                    {
                        title: '归档状态',
                        field: 'archivestate',
                        align: 'center',
                        valign: 'middle',
                        formatter: function (value, row, index) {
                            //在院  未归档  归档中  初审 已归档 已认证
                            var a = '';
                            if (value == "未归档") {
                                a = '<span style="color:#c12e2a;"><i class="fa fa-times-circle-o" aria-hidden="true"></i>' + value + '</span>';
                            } else if (value == "已归档") {
                                a = '<span style="color:#030378"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
                            } else if (value == "在院") {
                                a = '<span style="color:#bfa200"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
                            } else if (value == "归档中") {
                                a = '<span style="color:#698B69"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
                            } else if (value == "初审") {
                                a = '<span style="color:#8FBC8F"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
                            } else if (value == "已封存") {
                                a = '<span style="color:#FF7F24"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
                            } else if (value == "复审退回") {
                                a = '<span style="color:#db0ead"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
                            } else if (value == "提交") {
                                a = '<span style="color:blue"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
                            } else if (value == "主任退回") {
                                a = '<span style="color:#0000FF"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
                            }
                            return a;
                        }
                    },
                    {
                        title: '封存状态',
                        field: 'followingContent',
                        align: 'center',
                        valign: 'middle',
                        formatter: function (value, row, index) {
                            var a = '';
                            if (value == "病案取消封存") {
                                a = '<span style="color: #c0c0c0;"><i class="fa fa-check-circle-o" aria-hidden="true"></i>'+value+'</span>';
                            } else if(value == "病案封存"){
                                a = '<span style="color:red;"><i class="fa fa-times-circle-o" aria-hidden="true"></i>'+value+'</span>';
                            }else if (value == "病案再次封存"){
                                a = '<span style="color:red;"><i class="fa fa-times-circle-o" aria-hidden="true"></i>'+value+'</span>';
                            }
                            return a;
                        }
                    },
                    {
                        title: '封存概述',
                        field: 'remark',
                        align: 'center',
                        valign: 'middle',
                    },
                    {
                        title: '封存选项',
                        field: 'safekeepingName',
                        align: 'center',
                        valign: 'middle',
                    }
                ],
                onLoadSuccess: function (result) {  //加载成功时执行
                    //console.info("加载成功");
                    tipLoad=0;
                },
                onLoadError: function () {  //加载失败时执行
                    //console.info("加载数据失败");
                    tipLoad=0;
                }

            });
        }
    }





    //查询
    $('#searchBtn').click(function () {
        //查询之后重新从第一页算起
        if (tipLoad == 0) {
            $("#table").bootstrapTable("refreshOptions", {pageNumber: 1});
        } else {
            toastr.warning("正在查询，请稍等...");
        }
       // $(".selectpicker").selectpicker( 'deselectAll' );
        // $('#table').bootstrapTable('destroy');
        //$('#table').bootstrapTable('refreshOptions', {limit: 1, offset: 10});
        //刷新
        //$('#table').bootstrapTable('refresh');
    });

    //获取table的高度
    function getHeight() {
        return $(window).height() - 100;
    }

    initTable();

    //2.初始化select的change事件
    $("#sel_exportoption").change(function () {
        $('#table').bootstrapTable('refreshOptions', {
            exportDataType: $(this).val()
        });
    });
    $("#refreshBtn").click(function () {
        //刷新
        $('#table').bootstrapTable('refresh');
    });

    //导出excel功能
    $("#excelBtn").click(function () {
        toastr.warning("正在导出，请稍等...");
        var inpNo = "" + $("#inpNo").val();
        var visitId = "" + $("#visitId").val();
        var name = "" + $("#name").val();
        var idNo="";
        if($("#idNo").val() != undefined && $("#idNo").val() != "undefined"){
            idNo=$("#idNo").val();
        }
        var state = "" + $("#state").val();
        var archivestate = "" + $("#archivestate").val();
        var startDate = "" + $("#startDate").val();
        var endDate=""+ $("#endDate").val();

        //2021-05-15
        var handleName="";
        if($("#handleName").val() != undefined && $("#handleName").val() != "undefined"){
            handleName=$("#handleName").val();
        }
        var handleTime= "";
        if($("#handleTime").val() != undefined && $("#handleTime").val() != "undefined"){
            handleTime=$("#handleTime").val();
        }
        var followingContent="";
        if($("#followingContent").val() != undefined && $("#followingContent").val() != "undefined"){
            followingContent=$("#followingContent").val();
        }
       window.location.href = "${path}/storage/exportExcel?inpNo=" + inpNo + "&visitId=" + visitId +
            "&name=" + name + "&state=" + state + "&idNo=" + idNo + "&archivestate=" + archivestate
            + "&startDate=" + startDate + "&endDate=" + endDate+ "&handleName=" + handleName + "&handleTime=" + handleTime
            + "&followingContent=" + followingContent ;
    });


</script>

</html>