var oldKeyWord;
var timeStart;
var timeEnd;
var laydate
let form
var table
const token = localStorage.getItem("token");
layui.use(['table', 'layer', 'laydate', 'jquery', 'form'], function () {
    table = layui.table;
    laydate = layui.laydate;
    form = layui.form;
    //渲染table
    table.render({
        elem: '#demo'
        , url: ctxPath + '/logs/getMsgContent' //数据接口
        , method: 'post' //方式默认是get
        , toolbar: 'default' //开启工具栏，此处显示默认图标，可以自定义模板，详见文档
        , where: {} //post请求必须加where ，post请求需要的参数
        , cellMinWidth: 80
        , cols: [[ //表头
            {
                field: 'number', width:120,title: '序号', align: 'center', type: 'numbers'
            }
            , {field: 'username', align: 'center', title: '用户名'}
            , {field: 'module', align: 'center', title: '操作功能'}
            , {field: 'module', align: 'center', title: '资源类型'}
            , {field: 'sysLogs', align: 'center', title: '日志 '}
            , {field: 'flag', width:120 , align: 'center', title: '是否成功', templet:function (d) {
                    if (d.flag === "0") {
                        return '失败';
                    } else if (d.flag === "1") {
                        return '成功';
                    } else {
                        return '';
                    }
                }}
            , {field: 'createTime', width: 240, align: 'center', title: '操作时间'}
        ]]
        , id: 'menuTable'
        , page: true //开启分页
        , loading: true //数据加载中。。。
        , limits: [5, 10, 20]  //一页选择显示3,5或10条数据
        , limit: 10  //一页显示5条数据
        , response: {
            statusCode: 200 //规定成功的状态码，默认：0
        }, parseData: function (res) { //将原始数据解析成 table 组件所规定的数据，res为从url中get到的数据
            let result;
            if (res.data !== '' && res.data != null && res.data !== "null") {
                if (this.page.curr) {
                    result = res.data.slice(this.limit * (this.page.curr - 1), this.limit * this.page.curr);
                } else {
                    result = res.data.slice(0, this.limit);
                }
            }
            return {
                "code": res.code, //解析接口状态
                "msg": res.msg, //解析提示文本
                "count": res.count, //解析数据长度
                "data": result, //解析数据列表
            };
        },

        toolbar: "#toolbar"
    });

    //头监听事件 -- checkBox 选中行和选中条数
    table.on('toolbar(test)', function (obj) {
        // 获取当前表格被选中的记录对象，返回数据
        var checkStatus = table.checkStatus(obj.config.id);
        //获取事件名，执行对应的代码
        var eventName = obj.event;
        switch (eventName) {
            case "searchBt":
                oldKeyWord = $("#keyWord").val();
                timeStart = $("#phyTimeStart").val();
                timeEnd = $("#phyTimeEnd").val();
                table.reload('menuTable', {
                    url: ctxPath + '/logs/getMsgContent'
                    , method: 'post' //方式默认是get
                    , page: true
                    , where: {
                        keyWord: oldKeyWord,
                        phyTimeStart: timeStart,
                        phyTimeEnd: timeEnd
                    } //设定异步数据接口的额外参数
                });
                initTime();
                /**二次赋值-- 点击搜索按钮之后会进行一次刷新操作*/
                $("#keyWord").val(oldKeyWord);
                $("#phyTimeStart").val(timeStart);
                $("#phyTimeEnd").val(timeEnd);
                break;
            case "resetBt":
                oldKeyWord = "";
                timeStart = "";
                timeEnd = "";
                $("#keyWord").val("");
                $("#phyTimeStart").val("");
                $("#phyTimeEnd").val("");
                table.reload('menuTable', {
                    url: ctxPath + '/logs/getMsgContent'
                    , method: 'post' //方式默认是get
                    , page: true
                    , where: {
                        keyWord: "",
                        timeStart: "",
                        timeEnd: ""
                    } //设定异步数据接口的额外参数
                });
                initTime();
                break;
            case "exportBt":
                exportExcel();
                break;
        }
    });
    initTime();
});

function initTime() {
    // 日期选择器
    laydate.render({
        elem: '#ID-laydate-range',
        range: ['#phyTimeStart', '#phyTimeEnd']
    });
}

function exportExcel() {
    oldKeyWord = $("#keyWord").val(); //获取搜索框内容
    timeStart = $("#phyTimeStart").val(); //获取开始时间
    timeEnd = $("#phyTimeEnd").val(); //获取结束时间
    window.location.href = ctxPath + "/logs/exportPhysicalCheckResult?"
        +"phyTimeStart=" + timeStart
        + "&phyTimeEnd=" + timeEnd
        + "&keyWord=" + oldKeyWord
        + "&type=" + '1'
        + "&token=" + token; //下载文件
}
