$(function () {
    //加载日期控件
    initDateInput(1);
    initDateInput(2);
})
var pageNumber;
$('#mytab').bootstrapTable({
    toolbar: '#toolbar',                //工具按钮用哪个容器
    striped: true,                      //是否显示行间隔色
    cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
    pagination: true,                   //是否显示分页（*）
    sidePagination: "server",           //分页方式：client客户端分页，server服务端分页（*）
    paginationPreText : '上一页',
    paginationNextText : '下一页',
    pageNumber: 1,                       //初始化加载第一页，默认第一页
    pageSize: 10,                       //每页的记录行数（*）
    pageList: [5,10,15,20,50,1000],//可供选择的每页的行数（*）
    height: $(window).height()-139,//行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
    columns:[
        {
            title:'全选',
            field:'select',
            checkbox:true,
            width:25,
            align:'center',
            valign:'middle'
        },
        {
            field:'ids',
            visible: false
        },
        {
            field: 'no',
            title: '序号',
            sortable: true,
            formatter: function (value, row, index) {
                //获取每页显示的数量
                var pageSize=$('#mytab').bootstrapTable('getOptions').pageSize;
                //获取当前是第几页
                var pageNumber=$('#mytab').bootstrapTable('getOptions').pageNumber;
                //返回序号，注意index是从0开始的，所以要加上1
                return pageSize * (pageNumber - 1) + index + 1;
            }
        },
        {
            title:'姓名',
            field:'name',
        },
        {
            title:'病案号',
            field:'inpatientNo',
        },
        {
            title:'住院次数',
            field:'admissTimes',
        },
        {
            title:'锁定状态',
            field:'lockState',
            formatter: function(value,row,index){
                var lockState = row.lockState;
                if(lockState == 1){
                    return "锁定";
                }else{
                    return "已解锁";
                }
            }
        },
        {
            title:'锁定人',
            field:'locker',
        },
        {
            title:'最近锁定时间',
            field:'lockeTime',
        },
        {
            title:'解锁人',
            field:'unlocker',
        },
        {
            title:'最近解锁时间',
            field:'unlockeTime',
        },
        {
            title:'操作',
            formatter: function(value,row,index){
                var lockState = row.lockState;
                var patientId = "'" + row.patientId + "'";
                if(lockState == 1){
                    var editanddrop = '<button type="button" onclick="unlock('+patientId+')" class="btn btn-sm btn-success">解锁</button>';
                    return editanddrop;
                }
            }
        }
    ],
    locale:'zh-CN',//中文支持,
    url:path+'/emrLock/getLockList',//排序方式
    queryParams: function (params) {
        return{
            limit : params.limit, // 每页显示数量
            offset : params.offset, // SQL语句起始索引
            page : (params.offset / params.limit) + 1, //当前页码,
            startTime1:$("#startTime1").val(),
            endTime1:$("#endTime1").val(),
            startTime2:$("#startTime2").val(),
            endTime2:$("#endTime2").val(),
            name:$("#name").val(),
            inpatientNo:$("#inpatientNo").val(),
            lockState:$("#lockState").val(),
            locker:$("#locker").val(),
            unlocker:$("#unlocker").val(),
        }
    },
    //选中单个复选框
    onCheck:function(row){
        var checks = $("#checks").val();
        $("#checks").val(checks+="'" + row.patientId + "',");
    },
    //取消单个复选框
    onUncheck:function(row){
        var checks = $("#checks").val();
        checks = checks.replace("'" + row.patientId + "',",'');
        $("#checks").val(checks);
    },
    //全选
    onCheckAll:function(rows){
        $("#checks").val("");
        var checks = '';
        for(var i=0;i<rows.length;i++)
        {
            checks += "'" + rows[i].patientId + "',"
        }
        $("#checks").val(checks);
    },
    //全不选
    onUncheckAll: function (rows) {
        $("#checks").val("");
    },
    responseHandler:function(res){
        //在ajax获取到数据，渲染表格之前，修改数据源
        var nres = [];
        nres.push({total:res.total,rows:res.list});
        return nres[0];
    },
    onLoadSuccess:function(){
        $(".page-list").show();
        $(".fixed-table-body").css("overflow","auto");
    },
    //监听分页点击事件
    onPageChange: function(num, type) {
        pageNumber = num;
    }
})
//查询按钮
function refreshTable(){
    if($("#startTime1").val() != '' || $("#endTime1").val() != ''){
        if(($("#startTime1").val() != '' && $("#endTime1").val() == '') || ($("#startTime1").val() == '' && $("#endTime1").val() != '')){
            toastr.warning("请输入完整的锁定日期时间段");
            return false;
        }
    }
    if($("#startTime2").val() != '' || $("#endTime2").val() != ''){
        if(($("#startTime2").val() != '' && $("#endTime2").val() == '') || ($("#startTime2").val() == '' && $("#endTime2").val() != '')){
            toastr.warning("请输入完整的解锁日期时间段");
            return false;
        }
    }
    $("#checks").val("");
    $('#mytab').bootstrapTable('refresh',{
        url : path+'/emrLock/getLockList'
    })
    $('#mytab').bootstrapTable('selectPage', pageNumber);
}

//解锁
function unlock(patientId){
    $.ajax({
        type:'post',
        url:path+'/template/updateLockByPatientId?patientId='+patientId,
        dataType:'json',
        success:function(data){
            if(data.code == 0){
                toastr.success("解锁成功!");
                refreshTable();
            }else{
                toastr.error("解锁失败！")
            }
        }
    })
}
//批量解锁
function unlocks(){
    var checks = $("#checks").val();
    if(checks != ''){
        Common.confirm({
            title: "提示",
            message: "没有选中，您确定要按搜索栏条件批量解锁?",
            operate: function (reselt) {
                if (reselt) {
                    //去掉最后逗号
                    checks = checks.substring(0,checks.length-1);
                    unlocksMethods(checks)
                }
            }
        })
    }else{
        toastr.error("请至少选择一个!");
    }
}
//封装批量解锁方法
function unlocksMethods(patientIds){
    $.ajax({
        type:'post',
        url:path+'/template/updateLockByPatientIds',
        data:{patientIds:patientIds},
        async:false,
        dataType:'json',
        success:function(data){
            if(data.code == 0){
                toastr.success("解锁成功!");
                refreshTable();
            }else{
                toastr.error("解锁失败！")
            }
        }
    })
}

