/**
 * 初始化离职管理详情对话框
 */
var locked = false;
var TalentQuitInfoDlg = {
    talentQuitInfoData: {},
    validateFields: {
        talentId: {validators: {notEmpty: {message: '离职对象不能为空'}}},
        starttime: {validators: {notEmpty: {message: '合同开始时间不能为空'}}},
        endtime: {validators: {notEmpty: {message: '合同结束时间不能为空'}}},
        quitTime: {validators: {notEmpty: {message: '离职时间不能为空'}}},
        phone: {
            validators: {
                notEmpty: {
                    message: '手机号码不能为空'
                },
                regexp: {
                    regexp: /0?(13|14|15|17|18|19)[0-9]{9}/,
                    message: "手机号码格式不正确"
                }
            }
        }
    }
};

/**
 * 清除数据
 */
TalentQuitInfoDlg.clearData = function () {
    this.talentQuitInfoData = {};
}

/**
 * 设置对话框中的数据
 *
 * @param key 数据的名称
 * @param val 数据的具体值
 */
TalentQuitInfoDlg.set = function (key, val) {
    this.talentQuitInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val;
    return this;
}

/**
 * 设置对话框中的数据
 *
 * @param key 数据的名称
 * @param val 数据的具体值
 */
TalentQuitInfoDlg.get = function (key) {
    return $("#" + key).val();
}

/**
 * 关闭此对话框
 */
TalentQuitInfoDlg.close = function () {
    parent.layer.close(window.parent.TalentQuit.layerIndex);
}

/**
 * 收集数据
 */
TalentQuitInfoDlg.collectData = function () {
    this
            .set('id')
            .set('type')
            .set('year')
            .set('talentId')
            .set('talentName')
            .set('enterpriseId')
            .set('enterpriseName')
            .set('idCard')
            .set('talentArrange')
            .set('identifyTime')
            .set('starttime')
            .set('endtime')
            .set('phone')
            .set('entryTime')
            .set('quitReason')
            .set('quitTime')
            .set('description');
}

/**
 * 验证数据
 */
TalentQuitInfoDlg.validate = function () {
    $('#talentQuitForm').data("bootstrapValidator").resetForm();
    $('#talentQuitForm').bootstrapValidator('validate');
    return $("#talentQuitForm").data('bootstrapValidator').isValid();
}

/**
 * 提交添加
 */
TalentQuitInfoDlg.addSubmit = function () {
    this.clearData();
    this.collectData();
    if (!this.validate()) {
        return;
    }
    //提交信息
    if (locked)
        return;
    locked = true;
    if (this.talentQuitInfoData.id != null && this.talentQuitInfoData.id != '') {
        //提交信息
        var ajax = new $ax(Feng.ctxPath + "/enterprise/talent_quit/apply", function (data) {
            if (data.code == "200") {
                Feng.success(data.msg);
                window.parent.TalentQuit.table.refresh();
            } else {
                Feng.info(data.msg);
            }
            locked = false;
        }, function (data) {
            Feng.error("修改失败!" + data.responseJSON.message + "!");
            locked = false;
        });
        ajax.set(this.talentQuitInfoData);
        ajax.start();
    } else {
        var ajax = new $ax(Feng.ctxPath + "/enterprise/talent_quit/apply", function (data) {
            if (data.code == "200") {
                Feng.success(data.msg);
                $("#fileLi").removeAttr("style");
                $("#id").val(data.obj.id);
                $("#checkState").val(data.obj.checkState);
                window.parent.TalentQuit.table.refresh();
            } else {
                Feng.info(data.msg);
            }
            locked = false;
        }, function (data) {
            Feng.error("添加失败!" + data.responseJSON.message + "!");
            locked = false;
        });
        ajax.set(this.talentQuitInfoData);
        ajax.start();
    }
}

/**
 * 提交修改
 */
TalentQuitInfoDlg.editSubmit = function (type) {
    this.clearData();
    this.collectData();
    // if(!this.validate()){
    //     return;
    // }
    //提交信息
    var ajax = new $ax(Feng.ctxPath + "/enterprise/talent_quit/apply", function (data) {
        if (data.code == "200") {
            if (type == 1) {
                Feng.success(data.msg);
                window.parent.TalentQuit.table.refresh();
            } else {
                TalentQuitInfoDlg.submitToCheck();
            }
        } else {
            Feng.info(data.msg);
        }
        locked = false;
    }, function (data) {
        Feng.error("修改失败!" + data.responseJSON.message + "!");
        locked = false;
    });
    ajax.set(this.talentQuitInfoData);
    ajax.start();
}
//点击按钮初始化
TalentQuitInfoDlg.talentInfoDetail = function () {
    var talentId = $("#talentId").val();
    var ajax = new $ax(Feng.ctxPath + "/enterprise/talent/getInfoById/id/" + talentId, function (data) {
        $("#type").val(data.enterpriseType);
        $("#enterpriseId").val(data.enterprise_id);
        $("#talentName").val(data.name);
        $("#idCard").val(data.card_number);
        $("#identifyTime").val(data.identifyMonth);
        $("#enterpriseName").val(data.enterpriseName);
        $("#talentArrange").val(data.talent_arrange);
        $("#talentTypeName").val(data.talentTypeName);
        $("#starttime").val(data.startTime);
        $("#endtime").val(data.endTime);
        $("#entryTime").val(data.cur_entry_time);
        $("#phone").val(data.phone);
    }, function (data) {
        Feng.error("查询失败!" + data.responseJSON.message + "!");
    });
    ajax.set();
    ajax.start();
}
//附件初始化
TalentQuitInfoDlg.initFileTable = function () {
    var queryData = {};
    queryData['project'] = CONFIG.project_quit;
    queryData['type'] = $("#type").val();
    $("#fileTable").bootstrapTable({
        url: Feng.ctxPath + "/common/api/findCommonFileType",
        method: 'POST',
        contentType: "application/x-www-form-urlencoded; charset=UTF-8",
        search: false, // 是否显示表格搜索，此搜索是客户端搜索，不会进服务端
        showRefresh: false, // 是否显示刷新按钮
        clickToSelect: true, // 是否启用点击选中行
        singleSelect: true, // 设置True 将禁止多选
        striped: true, // 是否显示行间隔色
        escape: true,
        pagination: false, // 设置为 true 会在表格底部显示分页条
        paginationHAlign: "left",
        paginationDetailHAlign: "right",
        sidePagination: "server", // 设置在哪里进行分页，可选值为 'client' 或者 'server'
        showColumns: false,
        detailView: true, //是否显示父子表
        pageList: [10, 30, 50],
        queryParams: function (params) {
            return $.extend(queryData, params)
        },
        rowStyle: function (row, index) {
            return {classes: "info"};
        },
        columns:
                [
                    {field: 'selectItem', checkbox: false, visible: false},
                    {title: '名称', field: 'name', visible: true, align: 'center', valign: 'middle', width: "40%", 'class': 'uitd_showTip',
                        formatter: function (value, row, index) {
                            if (row.must == 1) {
                                return '<i class="fa fa-paste"></i><span style="font-weight:bold;color:red;font-size:14px;font-family:宋体"> * </span> ' + value;
                            }
                            if (row.must == 2) {
                                return '<i class="fa fa-paste"></i>' + value;
                            }
                        }
                    },
                    {title: '模板', field: 'templateUrl', visible: true, align: 'center', valign: 'middle', width: "10%",
                        formatter: function (value, row, index) {
                            if (value == null || value == '' || value == 'null') {
                                return '无';
                            }
                            return "<button type='button' onclick=\"TalentQuitInfoDlg.downloadFile('" + row.id + "',3)\" style='margin-right: 10px' class=\"btn btn-xs btn-primary\">" +
                                    "<i class=\"fa fa-download\"></i>下载" +
                                    "</button>";
                        }
                    },
                    {title: "说明", field: 'description', visible: true, align: 'center', valign: 'middle', width: "40%", },
                    {title: '操作', field: 'id', visible: true, align: 'center', valign: 'middle', width: "10%",
                        formatter: function (value, row, index) {
                            return "<button type='button' onclick=\"TalentQuitInfoDlg.checkFile('" + value + "','" + null + "')\" style='margin-right: 10px' class=\"btn btn-xs btn-info\">" +
                                    "<i class=\"fa fa-upload\"></i>上传" +
                                    "</button>";
                        }
                    }
                ]
        ,
        onPostBody: function () {
            $("td.uitd_showTip").bind("mouseover", function () {
                var htm = $(this).html();
                $(this).webuiPopover({title: '详情', content: htm, trigger: 'hover'}).webuiPopover('show');
            });
        },
        onLoadSuccess: function (data) {
            $("#fileTable").bootstrapTable('expandAllRows');
        },
        onExpandRow: function (index, row, $detail) {
            var ajax = new $ax(Feng.ctxPath + "/common/api/listTalentCommonFile", function (data) {
                if (data == null || data.length == 0) {
                    return;
                }
                var html = '<ul class="imgs"><li style="width: 80%;font-weight: bold;padding-top: 5px;">附件原名</li><li style="width: 10%;font-weight: bold;padding-top: 5px;">预览</li><li style="width: 10%;font-weight: bold;padding-top: 5px;">操作</li>';
                for (var key in data) {
                    var sn = data[key].url.lastIndexOf(".");
                    var suffix = data[key].url.substring(sn + 1, data[key].url.length);
                    var imgStr = "";
                    if (suffix == "pdf" || suffix == "PDF") {
                        imgStr = "<button type='button'  onclick=\"Feng.showPdf('" + data[key].url + "','" + data[key].id + "','" + data[key].orignName + "')\" class=\"btn btn-xs btn-danger\"><i class=\"fa fa-file-pdf-o\" aria-hidden=\"true\"></i></button>";
                    } else if (suffix == "xlsx" || suffix == "XLSX" || suffix == 'xls' || suffix == 'XLS') {
                        imgStr = "<button type='button'  onclick=\"Feng.showExcel('" + data[key].url + "','" + data[key].id + "','" + data[key].orignName + "')\" class=\"btn btn-xs btn-danger\"><i class=\"fa fa-file-excel-o\" aria-hidden=\"true\"></i></button>";
                    } else {
                        imgStr = '<img class=\"imgUrl\"  src=\"' + data[key].url + '\" style=\"width:25px;height:25px;\">';
                    }
                    var btn = "<button type=\'button\' onclick=\"TalentQuitInfoDlg.checkFile('" + row.id + "','" + data[key].id + "')\" style=\'margin-right: 10px\' class=\"btn btn-xs btn-info\"><i class=\"fa fa-paste\"></i>修改</button>" +
                            "<button type='button' onclick=\"TalentQuitInfoDlg.deleteFile('" + data[key].id + "')\" class=\"btn btn-xs btn-danger\"><i class=\"fa fa-times\"></i>删除</button>";
                    html = html + '<li style="display: none">' + data[key].id + '</li>\n' +
                            '<li style="width: 80%;padding-top: 5px;">' + data[key].orignName + '</li>\n' +
                            '<li style="width: 10%;">' + imgStr + '</li>\n' +
                            '<li style="width: 10%;padding-top: 2px;">' + btn + '</li>';
                }
                html = html + '</ul>';
                $detail.html(html);
                $(".imgs").viewer({
                    // toolbar:false,
                    fullscreen: false
                });
            }, function (data) {
                Feng.error("查询失败!" + data.responseJSON.message + "!");
            });
            var queryData = {};
            queryData["mainId"] = $("#id").val();
            queryData["typeId"] = row.id;
            ajax.set(queryData);
            ajax.start();
        }
    });
}


TalentQuitInfoDlg.downloadFile = function (id, type) {
    window.location.href = Feng.ctxPath + "/common/api/downloadFile?id=" + id + "&type=" + type;
}

//选择附件并显示附件名
TalentQuitInfoDlg.checkFile = function (fileTypeId, fileId) {
    var checkState = $("#checkState").val();
    if (checkState == 1) {
        Feng.error("正在审核中，无法修改");
        return;
    }
    if (checkState == 3) {
        Feng.error("审核通过，无法修改");
        return;
    }
    $("#upload_file ").unbind("change");
    $("#upload_file ").change(function () {
        TalentQuitInfoDlg.upload(fileTypeId, fileId);
    });
    $('#upload_file').val("");
    $('#upload_file').click()
}
//上传附件
TalentQuitInfoDlg.upload = function (fileTypeId, fileId) {
    if (fileId != null && fileId != 'null') {
        $("#fileId").val(fileId)
    } else {
        $("#fileId").val("");
    }

    $("#mainId").val($("#id").val());
    $("#typeId").val(fileTypeId);
    var index = layer.load(0, {shade: false, time: 0});
    $("#index").val(index);
    $("#uploadForm").submit();
}
//删除附件
TalentQuitInfoDlg.deleteFile = function (id) {
    var checkState = $("#checkState").val();
    if (checkState == 1) {
        Feng.error("正在审核中，无法修改");
        return;
    }
    if (checkState == 3) {
        Feng.error("审核通过，无法修改");
        return;
    }
    var operation = function () {
        var ajax = new $ax(Feng.ctxPath + "/common/api/deleteTalentCommonFile", function (data) {
            if (data.code = 200) {
                Feng.success(data.msg);
                $("#fileTable").bootstrapTable("refresh", {});
            } else {
                Feng.error(data.msg);
            }
        }, function (data) {
            Feng.error("删除失败!" + data.responseJSON.message + "!");
        });
        ajax.set("id", id);
        ajax.start();
    }
    Feng.confirm("删除后无法恢复，确认删除吗?", operation);
}
//回调
TalentQuitInfoDlg.callBack = function (data) {
    layer.close(data.obj);
    Feng.info(data.msg);
    if (data.code == 200) {
        $("#fileTable").bootstrapTable("refresh", {});
    }
}

/**
 * 提交审核
 */
TalentQuitInfoDlg.submitToCheck = function () {
    var id = $("#id").val();
    if (id == null || id == "") {
        Feng.info("请先填写基础信息并上传附件");
        return;
    }
    var checkState = $("#checkState").val();
    if (checkState == 1) {
        Feng.error("正在审核中，无法修改");
        return;
    }
    if (checkState == 3) {
        Feng.error("审核通过，无法修改");
        return;
    }
    var operation = function () {
        var ajax = new $ax(Feng.ctxPath + "/enterprise/talent_quit/submitToCheck", function (data) {
            if (data.code == 200) {
                Feng.success(data.msg);
                // $("#checkState").val(data.obj);
                window.parent.TalentQuit.table.refresh();
                TalentQuitInfoDlg.close();
            } else {
                Feng.error(data.msg);
            }
        }, function (data) {
            Feng.error("提交审核失败!" + data.responseJSON.message + "!");
        });
        ajax.set("id", id);
        ajax.start();
    }
    Feng.confirm("请确认基础信息已核对无误，相应附件已上传，一旦提交，无法修改", operation);
}

$(function () {
    Feng.initValidator("talentQuitForm", TalentQuitInfoDlg.validateFields);
    Feng.addAjaxSelect({
        "id": 'talentArrange',
        "displayCode": "code",
        "displayName": "name",
        "type": "GET",
        "url": Feng.ctxPath + "/common/tool/findChildDictByCode?code=talent_arrange"
    });
    var id = $("#id").val();
    var url = "";
    if (id == null || id == '') {
        url = "/enterprise/talent/findTalentInfoInLibrary/type/" + CONFIG.project_quit;
    } else {
        url = "/enterprise/talent/findTalentInfoByChangeId/type/" + CONFIG.project_quit + "/id/" + id;
        Feng.getCheckLog("logTable", {"type": CONFIG.project_quit, "mainId": id, "typeFileId": "", "active": 1});
    }
    Feng.addAjaxSelect({
        "id": 'talentId',
        "displayCode": "id",
        "displayName": "name",
        "type": "GET",
        "url": Feng.ctxPath + url
    });
    //批量加载时间控件
    $(".time").each(function () {
        laydate.render({
            elem: "#" + $(this).attr("id")
            , type: "date"
            , trigger: 'click'
        });
    });
    $("select").each(function () {
        $(this).val($(this).attr("value"));
    });
    if (id != null && id != '') {
        $("#fileLi").removeAttr("style");
    } else {
        $("#fileLi").attr("style", "pointer-events: none");
        $("#talentId").on('chosen:ready', function (e, params) {
            $(".chosen-container-single .chosen-single").css("padding", "4px 0px 0px 10px");
        });
        $("#talentId").chosen({
            search_contains: true,       //关键字模糊搜索。设置为true，只要选项包含搜索词就会显示；设置为false，则要求从选项开头开始匹配
            disable_search: false,
            width: "100%",
            enable_split_word_search: true
        });
    }
});
