var jobName;
var table;
layui.use(['table', 'layer', 'laydate', 'jquery', 'form'], function () {
    table = layui.table;
    var laydate = layui.laydate;
    let form = layui.form;
    //渲染table
    table.render({
        elem: '#demo'
        , url: ctxPath + '/specialPositions/getMsgContent' //数据接口
        , method: 'post' //方式默认是get
        , toolbar: 'default' //开启工具栏，此处显示默认图标，可以自定义模板，详见文档
        , where: {} //post请求必须加where ，post请求需要的参数
        , cellMinWidth: 80
        , cols: [[ //表头
            {field: 'number', width:'5%',title: '序号', align: 'center', type: 'numbers'}
            , {field: 'jobName', width:'15%' ,align: 'center', title: '岗位名称'}
            , {field: 'jobDescrip', width:'35%' ,align: 'center', title: '岗位描述 '}
            , {field: 'jobHazard', width: '25%', align: 'center', title: '接触及危害'}
            , {field: 'phyCycle', width: '10%', align: 'center', title: '体检周期'}
            , {fixed: 'right', title: '操作', width: '10%', align: 'center', toolbar: '#toolsBar'}
        ]]
        , 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"
    });

    // 行工具事件
    table.on('tool(test)', function (obj) {
        var data = obj.data //获得当前行数据
        var layEvent = obj.event; //获得 lay-event 对应的值
        var id = data.id
        var jobName = data.jobName;
        var jobDescrip = data.jobDescrip;
        var jobHazard = data.jobHazard;
        var phyCycle = data.phyCycle;
        if (layEvent === 'edit') {
            modify(id,jobName,jobDescrip,jobHazard,phyCycle,'编辑');
        } else if (layEvent === 'del') {
            del(id);
        }
    });

    //头监听事件 -- checkBox 选中行和选中条数
    table.on('toolbar(test)', function (obj) {
        // 获取当前表格被选中的记录对象，返回数据
        var checkStatus = table.checkStatus(obj.config.id);
        //获取事件名，执行对应的代码
        var eventName = obj.event;
        switch (eventName) {
            case "searchBt":
                jobName = $("#jobName").val();
                table.reload('menuTable', {
                    url: ctxPath + '/specialPositions/getMsgContent'
                    , method: 'post' //方式默认是get
                    , page: true
                    , where: {
                        jobName: jobName
                    } //设定异步数据接口的额外参数
                });
                $("#jobName").val(jobName);
                break;
            case "addBtn":
                specialPost('新增');
                break;
        }
    });
});

function specialPost() {
    let height = '400px';
    let width = '600px';
    let index = layer.open({
        title: ['新增', 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
        type: 2,
        content: './specialPositionsForm.html',
        area: [width, height],
        maxmin: false,
        btn: ['确定', '关闭'],
        success: function (layero, index) {
        },
        yes: function (index, layero) {
            var formSubmit = layer.getChildFrame('form', index);
            // 查找class样式为submitBtn的按钮
            let submited = formSubmit.find('button.subBtn');
            // 触发点击事件，会对表单进行验证，验证成功则提交表单，失败则返回错误信息
            submited.click();
        },
        btn2: function (index, layero) {
            layer.close(index);
        },
        end:function () {
            jobName = $("#jobName").val();
            table.reload('menuTable', {
                url: ctxPath + '/specialPositions/getMsgContent'
                , method: 'post' //方式默认是get
                , page: true
                , where: {
                    jobName: jobName
                } //设定异步数据接口的额外参数
            });
            $("#jobName").val(jobName);
        }
    });
}

/**
 * 修改功能
 */
function modify(id,jobName,jobDescrip,jobHazard,phyCycle,title){
    //layerOpenForm(title,"./specialPositionsForm.html","60%","80%")
    var index = layer.open({
        title: [title, 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
        type: 2,
        content: './specialPositionsForm.html',
        area: ['600px', '400px'],
        maxmin: false,
        btn: ['确定', '关闭'],
        success: function (layero, index) {
            var body=layer.getChildFrame('body',index);//少了这个是不能从父页面向子页面传值的
            body.contents().find("#jobName").val(jobName);
            body.contents().find("#jobDescrip").val(jobDescrip);
            body.contents().find("#jobHazard").val(jobHazard);
            body.contents().find("#phyCycle").val(phyCycle);
            body.contents().find("#id").val(id);
            body.contents().find("#keyWord").val("2");
        },
        yes: function (index, layero) {
            //提交子页面时执行
            // 获取弹出层中的form表单元素
            var formSubmit = layer.getChildFrame('form', index);
            // 查找class样式为submitBtn的按钮
            let submited = formSubmit.find('button.subBtn');
            // 触发点击事件，会对表单进行验证，验证成功则提交表单，失败则返回错误信息
            submited.click();
        },
        end:function () {
            jobName = $("#jobName").val();
            table.reload('menuTable', {
                url: ctxPath + '/specialPositions/getMsgContent'
                , method: 'post' //方式默认是get
                , page: true
                , where: {
                    jobName: jobName
                } //设定异步数据接口的额外参数
            });
            $("#jobName").val(jobName);
        }
    });
}


/**
 * 删除功能
 */
function del(id) {

    layer.open({
        content: '是否确认删除?'
        ,btn: ['提交', '返回']
        ,yes: function(index, layero){
            $.ajax({
                type: 'post',
                async: false, // 默认异步true,false表示同步
                url: ctxPath + '/specialPositions/del', // 请求地址
                dataType: 'json', // 服务器返回数据类型
                data: {"id":id}, //获取提交的表单字段
                success: function (data) {
                    var count = data.count;//1数据已存在，2数据添加成功，3数据添加失败
                    if(count > 0){

                        layer.msg('岗位删除成功！', {icon: 1,time:1000},function(){  //延时跳转并提示
                            setTimeout(function () {
                                layer.close(index);
                                jobName = $("#jobName").val();
                                table.reload('menuTable', {
                                    url: ctxPath + '/specialPositions/getMsgContent'
                                    , method: 'post' //方式默认是get
                                    , page: true
                                    , where: {
                                        jobName: jobName
                                    } //设定异步数据接口的额外参数
                                });
                                $("#jobName").val(jobName);
                                parent.layer.closeAll();
                            },1000)
                        });
                    }else{
                        layer.alert("岗位删除成功！");
                    }
                },
                error: function (XMLHttpRequest, textStatus, e) {
                    layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false});
                }
            });
        }
        ,btn2: function(index, layero){
        }
        ,cancel: function(){
        }
    });
}