/**
 * 初始化离职管理详情对话框
 */
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|16|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('talentId')
            .set('talentName')
            .set('enterpriseId')
            .set('enterpriseName')
            .set('idCard')
            .set('talentArrange')
            .set('identifyTime')
            .set('starttime')
            .set('endtime')
            .set('phone')
            .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;
    }
    var id = $("#id").val();
    //提交信息
    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();
                TalentQuitInfoDlg.close();
            } else {
                Feng.info(data.msg);
            }
        }, function (data) {
            Feng.error("修改失败!" + data.responseJSON.message + "!");
        });
        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);
            }
        }, function (data) {
            Feng.error("添加失败!" + data.responseJSON.message + "!");
        });
        ajax.set(this.talentQuitInfoData);
        ajax.start();

    }
}

/**
 * 提交修改
 */
TalentQuitInfoDlg.editSubmit = function () {
    this.clearData();
    this.collectData();
    if (!this.validate()) {
        return;
    }
    //提交信息
    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();
            TalentQuitInfoDlg.close();
        } else {
            Feng.info(data.msg);
        }
    }, function (data) {
        Feng.error("修改失败!" + data.responseJSON.message + "!");
    });
    ajax.set(this.talentQuitInfoData);
    ajax.start();
}
//点击按钮初始化
TalentQuitInfoDlg.talentInfoDetail = function () {
    var talentId = $("#talentId").val();
    var ajax = new $ax(Feng.ctxPath + "/enterprise/talent/detail/id/" + talentId, function (data) {
        $("#enterpriseId").val(data.enterpriseId);
        $("#talentName").val(data.name);
        $("#idCard").val(data.idCard);
        $("#identifyTime").val(data.identifyGetTime);
        $("#enterpriseName").val(data.enterpriseName);
        $("#talentArrange").val(data.talentArrange);
    }, 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: "30%", '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: "8%",
                        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>";
                        }
                    },
                ]
        ,
        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: 20%;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;\">';
                    }
                    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: 20%;">' + imgStr + '</li>\n';
                }
                html = html + '</ul>';
                $detail.html(html);
                $(".imgs").viewer();
            }, 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;
}




$(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 = Feng.isEmptyStr(id) ? "/enterprise/talent/findTalentInfoInLibrary/type/" + CONFIG.project_quit : "/enterprise/talent/findTalentInfoByChangeId/type/" + CONFIG.project_quit + "/id/" + id;
    Feng.addAjaxSelect({
        "id": 'talentId',
        "displayCode": "id",
        "displayName": "name",
        "type": "GET",
        "url": Feng.ctxPath + url
    });
    $("select").each(function () {
        $(this).val($(this).attr("value"));
    });
    if (id != null && id != '') {
        $("#fileLi").removeAttr("style");
    } else {
        $("#fileLi").attr("style", "pointer-events: none");
    }

});
