/**
 * 初始化人才类别变更详情对话框
 */
var TalentTypeChangeInfoDlg = {
    talentTypeChangeInfoData : {},
    validateFields: {
        talentId: {validators: {notEmpty: {message: '申报对象不能为空' }}},
        newTalentArrange : {validators: {notEmpty: {message: '新人才层次不能为空' }}},
        newIdentifyCondition: {validators: {notEmpty: {message: '新人才认定条件不能为空'}}},
        newIdentifyConditionName: {
            validators: {
                notEmpty: {
                    message: '新人才认得条件名称不能为空'
                }
            }
        }
    }
};

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

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

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

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

/**
 * 收集数据
 */
TalentTypeChangeInfoDlg.collectData = function() {
    this
        .set('id')
        .set('type')
        .set('talentId')
        .set('talentName')
        .set('idCard')
        .set('enterpriseId')
        .set('enterpriseName')
        .set('oldTalentArrange')
        .set('oldIdentifyCondition')
        .set('oldIdentifyGetTime')
        .set('oldIdentifyOutTime')
        .set('oldIdentifyConditionName')
        .set('oldIdentifyMonth')
        .set('oldCertificateNO')
        .set('oldCertificateOutTime')
        .set('oldIntroductionMode')
        .set('newTalentArrange')
        .set('newIdentifyCondition')
        .set('newIdentifyGetTime')
        .set('newIdentifyConditionName')
        .set('newIdentifyMonth')
        .set('newCertificateNO')
        .set('newCertificateOutTime')
        .set('newIntroductionMode')
        .set('source');

}



//点击按钮初始化
TalentTypeChangeInfoDlg.talentInfoDetail = function (){
    var talentId = $("#talentId").val();
    if(Feng.isEmptyStr(talentId)){
        talentId = $("#talentId").attr("value");
    }
    var ajax = new $ax(Feng.ctxPath + "/api/talentInfo/detail/"+talentId, function(data){
        $("#source").val(data.source);
        $("#type").val(data.type);
        $("#enterpriseId").val(data.enterpriseId);
        $("#talentName").val(data.name);
        $("#idCard").val(data.idCard);
        $("#enterpriseName").val(data.enterpriseName);
        $("#oldTalentArrange").val(data.talentArrange).trigger("change");
        $("#oldTalentType").val(data.talentType);
        $("#oldIdentifyGetTime").val(data.identifyGetTime);
        $("#oldIdentifyConditionName").val(data.identifyConditionName);
        $("#oldCertificateNO").val(data.certificateNO);
        $("#oldIdentifyCondition").val(data.identifyCondition);
        $("#oldIdentifyOutTime").val(data.identifyOutTime);
        $("#oldIdentifyMonth").val(data.identifyMonth);
        $("#oldCertificateOutTime").val(data.qzgccrcActiveTime);
        $("#oldIntroductionMode").val(data.introductionMode);
        // $("#oldGygb").val(data.oldGygb);
        // $("#oldLetterTime").val(data.oldLetterTime);
        if(data.source==1){
            $("#oldCertificateStartTime").parent().parent().attr("style","display:block");
            $("#oldCertificateOutTime").parent().parent().attr("style","display:block");
            $("#oldFromCity").parent().parent().attr("style","display:none");
            $("#oldQzBath").parent().parent().attr("style","display:block");
            $("#oldOurCitySource").parent().parent().attr("style","display:block");
        }else if(data.source == 2){
            $("#oldCertificateStartTime").parent().parent().attr("style","display:block");
            $("#oldCertificateOutTime").parent().parent().attr("style","display:block");
            $("#oldFromCity").parent().parent().attr("style","display:block");
            $("#oldQzBath").parent().parent().attr("style","display:block");
            $("#oldOurCitySource").parent().parent().attr("style","display:none");
        }else if(data.source == 3){
            $("#oldCertificateStartTime").parent().parent().attr("style","display:none");
            $("#oldCertificateOutTime").parent().parent().attr("style","display:none");
            $("#oldFromCity").parent().parent().attr("style","display:none");
            $("#oldQzBath").parent().parent().attr("style","display:none");
            $("#oldOurCitySource").parent().parent().attr("style","display:none");
        }
    },function(data){
        Feng.error("查询失败!" + data.responseJSON.message + "!");
    });
    ajax.set();
    ajax.start();
}

TalentTypeChangeInfoDlg.talentArrangeChange = function(now,next){
    var level = $('#'+now).val();
    var type = $("#type").val();
    if(level==null||level==''){
        $("#"+next).empty();
        return;
    }
    Feng.addAjaxSelect({
        "id": next,
        "displayCode": "id",
        "displayName": "name",
        "type": "GET",
        "url": Feng.ctxPath + "/api/common/findIdentifyConditionByLevel?talentLevel="+level+"&type="+type
    });
}


TalentTypeChangeInfoDlg.sourceChange = function(){
    var source = $("#newSource").val();
    if(source==1){
        $("#newFromCity").parent().parent().attr("style","display:none");
        $("#newQzBath").parent().parent().attr("style","display:block");
        $("#newCertificateStartTime").parent().parent().attr("style","display:block");
        $("#newCertificateOutTime").parent().parent().attr("style","display:block");
        $("#newOurCitySource").parent().parent().attr("style","display:block");
        $("#newFromCity").val("");
    }
    if(source==2){
        $("#newCertificateStartTime").parent().parent().attr("style","display:block");
        $("#newCertificateOutTime").parent().parent().attr("style","display:block");
        $("#newFromCity").parent().parent().attr("style","display:block");
        $("#newQzBath").parent().parent().attr("style","display:block");
        $("#newOurCitySource").parent().parent().attr("style","display:none");
        $("#newOurCitySource").val("");
    }
    if(source==3||source==null||source==''){
        $("#newCertificateStartTime").parent().parent().attr("style","display:none");
        $("#newCertificateOutTime").parent().parent().attr("style","display:none");
        $("#newFromCity").parent().parent().attr("style","display:none");
        $("#newQzBath").parent().parent().attr("style","display:none");
        $("#newOurCitySource").parent().parent().attr("style","display:none");
        $("#newOurCitySource").val("");
        $("#newCertificateStartTime").val('');
        $("#newCertificateOutTime").val('');
        $("#newFromCity").val("");
        $("#newQzBath").val("");
    }
}

//初始化附件类别表单
TalentTypeChangeInfoDlg.initFileTable = function (){
    var queryData = {};
    queryData['type'] = $("#type").val();
    queryData['project'] = CONFIG.project_levelchange;
    $("#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: TalentTypeChangeInfoDlg.initFileTypeColumn(),
        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/talentInfo/listTalentFile", 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["fileTypeId"] = row.id;
            ajax.set(queryData);
            ajax.start();
        }
    });

}

//校验是否保存基础信息
TalentTypeChangeInfoDlg.validId = function (){
    var id = $("#id").val();
    if(id!=null && id!=''){
        $("#fileLi").removeAttr("style");
    }else{
        $("#fileLi").attr("style","pointer-events: none");
    }
}


/**
 * 初始化表格的列
 */
TalentTypeChangeInfoDlg.initFileTypeColumn = function () {
    return [
        {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=\"TalentTypeChangeInfoDlg.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:"52%",'class': 'uitd_showTip'},
    ]
};


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



$(function() {
    Feng.initValidator("talentTypeForm", TalentTypeChangeInfoDlg.validateFields);
    var arr = [
        {"name":"oldTalentArrange","code":"un_talentLevel"},
        {"name":"newTalentArrange","code":"un_talentLevel"},
        {"name":"oldIntroductionMode","code":"un_introduction_mode"},
        {"name":"newIntroductionMode","code":"un_introduction_mode"}];
    Feng.findChildDictBatch(JSON.stringify(arr));
    var id = $("#id").val();
    //加载福建省泉州的县
    Feng.addAjaxSelect({
        "id": "oldFromCity",
        "displayCode": "code",
        "displayName": "name",
        "type": "GET",
        "url": Feng.ctxPath + "/api/commonLocation/findCountyByCitySelect/350500"
    });
    //加载福建省泉州的县
    Feng.addAjaxSelect({
        "id": "newFromCity",
        "displayCode": "code",
        "displayName": "name",
        "type": "GET",
        "url": Feng.ctxPath + "/api/commonLocation/findCountyByCitySelect/350500"
    });
    var batchHtml = "<option value=''>请选择</option>";
    for(var i=1;i<101;i++){
        batchHtml = batchHtml + "<option value='"+i+"'>"+i+"</option>";
    }
    $("#oldQzBath,#newQzBath").append(batchHtml);
    var url = (id==null||id=='')?"/api/talentInfo/findTalentInfoInLibrary/"+CONFIG.project_levelchange:"/api/talentInfo/findTalentInfoByChangeId/"+CONFIG.project_levelchange+"/"+id;
    Feng.addAjaxSelect({
        "id": 'talentId',
        "displayCode": "id",
        "displayName": "name",
        "type": "GET",
        "url": Feng.ctxPath + url
    });
    if(id!=null && id!=''){
        $("select").each(function () {
            $(this).val($(this).attr("value")).trigger("change");
        });
    }
    $("#newIdentifyCondition").on('chosen:ready', function(e, params) {
        $(".chosen-container-single .chosen-single").css("padding","4px 0px 0px 4px");
    });
    $("#newIdentifyCondition").chosen({
        search_contains:true,       //关键字模糊搜索。设置为true，只要选项包含搜索词就会显示；设置为false，则要求从选项开头开始匹配
        disable_search: false,
        width:"100%",
        enable_split_word_search: true,
        rtl:true
    });
    TalentTypeChangeInfoDlg.validId();
    TalentTypeChangeInfoDlg.sourceChange();
});
