let tableCTB;
let tree;
let startDate = new Date(new Date(new Date().toLocaleDateString()).getTime()),
    endDate = new Date(new Date(new Date().toLocaleDateString()).getTime() + 24 * 60 * 60 * 1000 - 1);
let snbStartDate = startDate, snbEndDate = endDate;
let applyState = 0;
layui.use(['element', 'form', 'table', 'layer', 'laydate', 'tree', 'util'], function () {
    let table = layui.table;
    let form = layui.form;//select、单选、复选等依赖form
    let element = layui.element; //导航的hover效果、二级菜单等功能，需要依赖element模块
    let laydate = layui.laydate;
    tree = layui.tree;
    let height = document.documentElement.clientHeight;

    tableCTB = table.render({
        elem: '#ctbTable'
        , url: ctx + "/sys/sysProperty/findComCntToSnbPage"
        , method: 'POST'
        //请求前参数处理
        , request: {
            pageName: 'page' //页码的参数名称，默认：page
            , limitName: 'rows' //每页数据量的参数名，默认：limit
        }
        , where: {
            isState: applyState
        }
        , response: {
            statusName: 'flag' //规定数据状态的字段名称，默认：code
            , statusCode: true //规定成功的状态码，默认：0
            , msgName: 'msg' //规定状态信息的字段名称，默认：msg
            , countName: 'records' //规定数据总数的字段名称，默认：count
            , dataName: 'rows' //规定数据列表的字段名称，默认：data
        }
        //响应后数据处理
        , parseData: function (res) { //res 即为原始返回的数据
            var data = res.data;
            // console.log("返回的地址数据：", data);
            //这里应该是反回一个用户，后台做成了页面数据。但是只带一条数据
            return {
                "flag": res.flag, //解析接口状态
                "msg": res.msg, //解析提示文本
                "records": data.records, //解析数据长度
                "rows": data.rows //解析数据列表
            };
        }
        , toolbar: '#ctbTableToolbarDemo'
        , title: 'SNB释放列表'
        , cols: [
            [

                {field: 'id', title: 'ID'}
                , {field: 'address', title: '用户address'}
                , {field: 'totalQuantity', title: '返还的总数', sort: true}
                , {field: 'receivedQuantity', title: '已领取数量', sort: true}
                , {field: 'totalDay', title: '领取总天数', sort: true}
                , {field: 'receivedDay', title: '已领取天数', sort: true}
                , {field: 'beginTime', title: '开始时间', sort: true},
                {
                    field: 'status', title: '状态', sort: true, templet: function (d) {
                        if (d.status == 0) {
                            return '<span style="color: red ">不可领取</span>';
                        } else if (d.status == 1) {
                            return '<span style="color: green">可以领取</span>';
                        }  else {
                            return '待添加：' + d.status;
                        }
                    }
                }
            ]]
        , defaultToolbar: ['', 'exports', 'print']
        , page: true
        , limit: 20
        , height: height
        , cellMinWidth: 80
    });


    //头工具栏事件
    table.on('toolbar(test)', function (obj) {
        let data = obj.data;
        switch (obj.event) {
            case 'ctbReload':
                ctbReloadFunction();
                break;
        }
    });

    let $ = layui.$, active = {
        reload: function () {
            let addressReload = $('#addressReload');
            // console.log("reload");
            tableCTB.reload({
                page: {
                    curr: 1 //重新从第 1 页开始
                }
                , method: 'POST'
                , url: ctx + "/sys/sysProperty/findComCntToSnbPage"
                , where: {
                    address: addressReload.val().length != 0 ? addressReload.val() : null,
                    isState: applyState
                }
                , done: function (res, curr, count) {
                    // console.log(res, curr, count);
                    // this.where={};
                    //不清空，有问题：搜索条件会保留
                    //清空，  有问题：分页的时候没有搜索条件了,分页会受到影响
                }
            });

        }
    };

    $('.addressTable .layui-btn').on('click', function () {
        let type = $(this).data('type');
        active[type] ? active[type].call(this) : '';
    });

});

function ctbReloadFunction() {
    tableCTB.reload({
        page: true
        , method: 'POST'
        , url: ctx + "/sys/sysProperty/findComCntToSnbPage"
        , done: function (res, curr, count) {
            // console.log(res, curr, count);
            // this.where={};
            //不清空，有问题：搜索条件会保留
            //清空，  有问题：分页的时候没有搜索条件了,分页会受到影响
        }
    });
}
