/**
 * 初始化工作单位变更详情对话框
 */
var locked = false;
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: '入职/变更时间不能为空' }}},
        newPost: {validators: {notEmpty: {message: '新职务不能为空' }}},
        phone: {
            validators: {
                notEmpty: {
                    message: '手机号码不能为空'
                },
                regexp :{
                    regexp: /0?(13|14|15|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('year')
    .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('oldAnyTime')
    .set('quitTime')
    .set('quitReason')
    .set('newEnterpriseId')
    .set('newTalentType')
    .set('starttime')
    .set('endtime')
    .set('phone')
    .set('anyTime')
    .set('anyReason')
    .set('description')
        .set('oldPost')
        .set('newPost');
}

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

/**
 * 提交添加
 */
TalentWorkunitChangeInfoDlg.addSubmit = function() {
    this.clearData();
    this.collectData();
    if(!this.validate()){
        return;
    }
    var id = $("#id").val();
    //提交信息
    //提交信息
    if(locked) return ;
    locked = true;
    if(id!=null && id!=''){
        var ajax = new $ax(Feng.ctxPath + "/api/talentWorkunitChange/update", function(data){
            if(data.code=="200"){
                Feng.success(data.msg);
                window.parent.TalentWorkunitChange.table.refresh();
                // TalentWorkunitChangeInfoDlg.close();
            }else{
                Feng.info(data.msg);
            }
            locked = false;
        },function(data){
            Feng.error("修改失败!" + data.responseJSON.message + "!");
            locked = false;
        });
    }else{
        var ajax = new $ax(Feng.ctxPath + "/api/talentWorkunitChange/add", 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.TalentWorkunitChange.table.refresh();
            }else{
                Feng.info(data.msg);
            }
            locked = false;
        },function(data){
            Feng.error("添加失败!" + data.responseJSON.message + "!");
            locked = false;
        });
    }
    ajax.set(this.talentWorkunitChangeInfoData);
    ajax.start();
}

/**
 * 提交修改
 */
TalentWorkunitChangeInfoDlg.editSubmit = function(type) {
    this.clearData();
    this.collectData();
    if(!this.validate()){
        return;
    }
    //提交信息
    var ajax = new $ax(Feng.ctxPath + "/api/talentWorkunitChange/update", function(data){
        if(data.code=="200"){
            if(type == 1){
                Feng.success(data.msg);
                window.parent.TalentWorkunitChange.table.refresh();
            }else{
                TalentWorkunitChangeInfoDlg.submitToCheck();
            }
        }else{
            Feng.info(data.msg);
        }
        locked = false;
    },function(data){
        Feng.error("修改失败!" + data.responseJSON.message + "!");
        locked = false;
    });
    ajax.set(this.talentWorkunitChangeInfoData);
    ajax.start();
}

//点击按钮初始化
TalentWorkunitChangeInfoDlg.talentInfoDetail = function (){
    var idCard = $("#idCard").val();
    var ajax = new $ax(Feng.ctxPath + "/api/talentQuit/findByIdCard/"+idCard, function(data){
        if(data.code==200){
            $("#talentWorkUnitForm")[0].reset();
            $("#idCard").val(idCard)
            $("#newEnterpriseId").val(data.obj.user.id);
            $("#newEnterpriseName").val(data.obj.user.name);
            $("#type").val(data.obj.info.type);
            $("#oldEnterpriseId").val(data.obj.info.enterpriseId);
            $("#talentId").val(data.obj.info.talentId);
            $("#talentName").val(data.obj.info.talentName);
            $("#talentArrange").val(data.obj.info.talentArrange);
            $("#identifyTime").val(data.obj.info.identifyTime);
            $("#oldTalentType").val(data.obj.info.talentType);
            $("#oldLetterTime").val(data.obj.info.oldLetterTime);
            $("#oldGygb").val(data.obj.info.oldGygb);
            $("#oldAnyTime").val(data.obj.info.entryTime);
            $("#quitTime").val(data.obj.info.quitTime);
            $("#quitReason").val(data.obj.info.quitReason);
            $("#oldEnterpriseName").val(data.obj.info.enterpriseName);
            $("#phone").val(data.obj.info.phone);
            $("#oldPost").val(data.obj.info.post);
            if(data.obj.info.type == 1){
                toastr.success("属离晋后又重新返晋的，需重新认定为我市优秀人才。咨询热线：0595-85633128/0595-85662310。");
            }
            TalentWorkunitChangeInfoDlg.initField();
        }else{
            Feng.error(data.msg);
        }
    },function(data){
        Feng.error("查询失败!" + data.responseJSON.message + "!");
    });
    ajax.set();
    ajax.start();
}
//根据条件隐藏字段
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 + "/api/talentInfo/findUnCommonFileType",
        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=\"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'},
                {title: '操作', field: 'id', visible: true, align: 'center', valign: 'middle',width:"10%",
                    formatter : function(value,row,index){
                        return "<button type='button' onclick=\"TalentWorkunitChangeInfoDlg.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 + "/api/talentCommonFile/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=\"TalentWorkunitChangeInfoDlg.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=\"TalentWorkunitChangeInfoDlg.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();
        }
    });
}


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

//选择附件并显示附件名
TalentWorkunitChangeInfoDlg.checkFile = function (fileTypeId,fileId){
    var checkState = $("#checkState").val();
    if(checkState==1){
        Feng.error("正在审核中，无法修改");
        return ;
    }
    if(checkState==3){
        Feng.error("审核通过，无法修改");
        return ;
    }
    if(checkState==-2){
        Feng.error("审核不通过，无法修改");
        return ;
    }
    $("#upload_file ").unbind("change");
    $("#upload_file ").change(function () {
        TalentWorkunitChangeInfoDlg.upload(fileTypeId,fileId);
    });
    $('#upload_file').val("");
    $('#upload_file').click()
}
//上传附件
TalentWorkunitChangeInfoDlg.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();
}
//删除附件
TalentWorkunitChangeInfoDlg.deleteFile = function (id){
    var checkState = $("#checkState").val();
    if(checkState==1){
        Feng.error("正在审核中，无法修改");
        return ;
    }
    if(checkState==3){
        Feng.error("审核通过，无法修改");
        return ;
    }
    if(checkState==-2){
        Feng.error("审核不通过，无法修改");
        return ;
    }
    var operation = function() {
        var ajax = new $ax(Feng.ctxPath + "/api/talentCommonFile/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);
}
//回调
TalentWorkunitChangeInfoDlg.callBack = function (data){
    layer.close(data.obj);
    Feng.info(data.msg);
    if (data.code == 200) {
        $("#fileTable").bootstrapTable("refresh", {});
    }
}

/**
 * 提交审核
 */
TalentWorkunitChangeInfoDlg.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 ;
    }
    if(checkState==-2){
        Feng.error("审核不通过，无法提交");
        return ;
    }
    var operation = function() {
        var ajax = new $ax(Feng.ctxPath + "/api/talentWorkunitChange/submitToCheck", function (data) {
            if(data.code==200){
                Feng.success(data.msg);
                // $("#checkState").val(data.obj);
                window.parent.TalentWorkunitChange.table.refresh();
                TalentWorkunitChangeInfoDlg.close();
            }else{
                Feng.error(data.msg);
            }
        }, function (data) {
            Feng.error("提交审核失败!" + data.responseJSON.message + "!");
        });
        ajax.set("id", id);
        ajax.start();
    }
    Feng.confirm("请确认基础信息已核对无误，相应附件已上传，一旦提交，无法修改", operation);
}

$(function() {
    Feng.initValidatorTip("talentWorkUnitForm", TalentWorkunitChangeInfoDlg.validateFields);
    //批量加载字典表数据
    var arr = [
        {"name":"talentArrange","code":"un_talentLevel"},
        {"name":"oldTalentType","code":"un_jbt_talentType"}];
    Feng.findChildDictBatch(JSON.stringify(arr))
    //加载人才标签
    Feng.addAjaxSelect({
        "id": "newTalentType",
        "displayCode": "code",
        "displayName": "name",
        "type": "GET",
        "url": Feng.ctxPath + "/api/talentInfo/findTalentTypeByEnterprise"
    });
    //批量加载时间控件
    $(".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();
        Feng.getCheckLog("logTable",{"type":CONFIG.project_workchange,"mainId":id,"typeFileId":"","active":1})
    }else{
        $("#fileLi").attr("style","pointer-events: none");
    }
    toastr.options = {
        "closeButton": true,
        "debug": false,
        "positionClass": "toast-bottom-right",
        "onclick": null,
        "showDuration": "300",
        "hideDuration": "1000",
        "timeOut": "100000",
        "extendedTimeOut": "1000",
        "showEasing": "swing",
        "hideEasing": "linear",
        "showMethod": "fadeIn",
        "hideMethod": "fadeOut"
    }
});

