/**
 * 初始化工作单位变更详情对话框
 */
var TalentWorkunitChangeInfoDlg = {
    talentWorkunitChangeInfoData: {},
    validateFields: {
        talentId: {validators: {notEmpty: {message: '优秀人才不能为空'}}},
        idCard: {validators: {notEmpty: {message: '身份证号不能为空'}}},
        talentArrange: {validators: {notEmpty: {message: '人才层次不能为空'}}},
        oldEnterpriseId: {validators: {notEmpty: {message: '原工作单位不能为空'}}},
        quitTime: {validators: {notEmpty: {message: '离职时间不能为空'}}},
        newTalentType: {validators: {notEmpty: {message: '新人才标签不能为空'}}},
        identifyTime: {validators: {notEmpty: {message: '认定时间不能为空'}}},
        oldTalentType: {validators: {notEmpty: {message: '原人才标签不能为空'}}},
        starttime: {validators: {notEmpty: {message: '合同开始时间不能为空'}}},
        anyTime: {validators: {notEmpty: {message: '入职/变更时间不能为空'}}},
        phone: {
            validators: {
                notEmpty: {
                    message: '手机号码不能为空'
                },
                regexp: {
                    regexp: /0?(13|14|15|16|17|18|19)[0-9]{9}/,
                    message: "手机号码格式不正确"
                }
            }
        }
    }
};

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

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

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

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

/**
 * 收集数据
 */
TalentWorkunitChangeInfoDlg.collectData = function () {
    this.set('id')
            .set('type')
            .set('talentId')
            .set('idCard')
            .set('talentName')
            .set('talentArrange')
            .set('identifyTime')
            .set('oldEnterpriseId')
            .set('oldTalentType')
            .set('oldLetterTime')
            .set('oldGygb')
            .set('newLetterTime')
            .set('newGygb')
            .set('quitTime')
            .set('newEnterpriseId')
            .set('newTalentType')
            .set('starttime')
            .set('endtime')
            .set('phone')
            .set('anyTime')
            .set('description');
}

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


//根据条件隐藏字段
TalentWorkunitChangeInfoDlg.initField = function () {
    var type = $("#type").val();
    if (type == 2) {
        $("#oldTalentType,#newTalentType,#oldLetterTime,#newLetterTime,#oldGygb,#newGygb").each(function () {
            $(this).parent().parent().attr("style", "display:none");
        });
    }
    if (type == 1) {
        $("#oldTalentType,#newTalentType").each(function () {
            $(this).parent().parent().attr("style", "display:block");
        });
        TalentWorkunitChangeInfoDlg.typeChange("old");
    }
}

TalentWorkunitChangeInfoDlg.typeChange = function (id) {
    var talentType = $("#" + id + "TalentType").val();
    if (talentType == 'gbwszb' || talentType == 'zzbsh') {
        $("#" + id + "LetterTime").parent().parent().attr("style", "display:block");
    } else if (talentType == 'gyqyl' || talentType == "gyqyh") {
        $("#" + id + "LetterTime").parent().parent().attr("style", "display:none");
    } else {
        $("#" + id + "LetterTime").parent().parent().attr("style", "display:none");
    }
}

//附件初始化
TalentWorkunitChangeInfoDlg.initFileTable = function () {
    var queryData = {};
    queryData['project'] = CONFIG.project_workchange;
    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: "20%",
                        formatter: function (value, row, index) {
                            if (value == null || value == '' || value == 'null') {
                                return '无';
                            }
                            return "<button type='button' onclick=\"TalentWorkunitChangeInfoDlg.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%", 'class': 'uitd_showTip'},
                ]
        ,
        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({
                    // 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();
        }
    });
}


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



$(function () {
    Feng.initValidator("talentWorkUnitForm", TalentWorkunitChangeInfoDlg.validateFields);
    //批量加载字典表数据
    var arr = [
        {"name": "talentArrange", "code": "talent_arrange"}];
    Feng.findChildDictBatch(JSON.stringify(arr))
    //批量加载时间控件
    $(".date").each(function () {
        laydate.render({
            elem: this
            , type: 'date'
            , trigger: 'click'
        });
    });
    var id = $("#id").val();
    if (id != null && id != '') {
        $("#fileLi").removeAttr("style");
        $("select").each(function () {
            $(this).val($(this).attr("value"));
            $(this).trigger("change");
        });
        TalentWorkunitChangeInfoDlg.initField();
    } else {
        $("#fileLi").attr("style", "pointer-events: none");
    }

});

