/**
 * 初始化人才类别变更详情对话框
 */
var locked = false;
var TalentTypeChangeInfoDlg = {
    talentTypeChangeInfoData : {},
};

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


//初始化附件类别表单
TalentTypeChangeInfoDlg.initFileTable = function (){
    Feng.showMiniFileModal(CONFIG.project_levelchange,$("#type").val(),$("#id").val());
    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: 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;\">';
                    }
                    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;'><button type='button' onclick=\"TalentTypeChangeInfoDlg.downloadFile('"+data[key].id+"')\" class=\"btn btn-xs btn-success\"><i class=\"fa fa-download\" aria-hidden=\"true\"></i>下载</button></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["fileTypeId"] = row.id;
            ajax.set(queryData);
            ajax.start();
        }
    });

}
/**
 * 初始化表格的列
 */
TalentTypeChangeInfoDlg.initFileTypeColumn = function () {
    return [
        {field: 'selectItem', checkbox:false,visible:false},
        {title: '名称', field: 'name', visible: true, align: 'center', valign: 'middle',width:"15%",'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: 'description', visible: true, align: 'center', valign: 'middle',width:"67%",'class': 'uitd_showTip'},
        {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('"+value+"')\" style='margin-right: 10px' class=\"btn btn-xs btn-primary\">" +
                    "<i class=\"fa fa-download\"></i>下载" +
                    "</button>";
            }
        },
    ]
};

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

/**
 * 显示审核模态框
 */
TalentTypeChangeInfoDlg.showCommonCheckModal = function (){
    var ajax = new $ax(Feng.ctxPath + "/talentTypeChange/validateIsCheck", function (data) {
        if(data.code==200){
            layer.open({
                type: 1,
                id:"neewFieldFormModel",
                title: '审核',
                area: ['800px', '350px'], //宽高
                fix: false, //不固定
                shade:0,
                maxmin: true,
                content: TalentTypeChangeInfoDlg.createNoFieldCheckModal(),
                btn: ['<i class="fa fa-save"></i>&nbsp;&nbsp;提交' ,'<i class="fa fa-eraser"></i>&nbsp;&nbsp;关闭'],
                btnAlign: 'c',
                zIndex: layer.zIndex,
                success:function(layero, index){
                    layer.setTop(layero);
                    $("#commonCheckForm")[0].reset();
                    var process = $("#process").val();
                    if(process==2){
                        var html = '<option value=""></option>\n' +
                            '                            <option value="3">审核通过</option>\n' +
                            '                            <option value="2">审核驳回</option>';
                        $("#checkStateModal").empty().append(html);
                    }
                    $("#checkStateModal").val(data.obj.checkState);
                    $("#checkMsg").val(data.obj.checkMsg);
                },
                yes: function (index, layero) {
                    TalentTypeChangeInfoDlg.commonCheck(index);
                }
            });
        }else{
            Feng.error(data.msg);
        }
    }, function (data) {
        Feng.error("校验失败!" + data.responseJSON.message + "!");
    });
    ajax.setData({"id":$("#id").val(),"process":$("#process").val(),"companyId":$("#companyId").val()})
    ajax.start();
}

/**
 * 显示初审审核模态框
 */
TalentTypeChangeInfoDlg.showFirstCheckModal = function (){
    var process = $("#process").val();
    var ajax = new $ax(Feng.ctxPath + "/talentTypeChange/validateIsCheck", function (data) {
        if(data.code==200){
            layer.open({
                type: 1,
                id:"neewFieldFormModel",
                title: '审核',
                area: ['800px', '450px'], //宽高
                fix: false, //不固定
                shade:0,
                maxmin: true,
                content:TalentTypeChangeInfoDlg.creatFieldCheckModal(),
                btn: ['<i class="fa fa-save"></i>&nbsp;&nbsp;提交' ,'<i class="fa fa-eraser"></i>&nbsp;&nbsp;关闭'],
                btnAlign: 'c',
                zIndex: layer.zIndex,
                success:function(layero, index){
                    layer.setTop(layero);
                    var obj = data.obj.talentInfo;
                    var fileList = data.obj.fileList;
                    var html = '';
                    for(var key in fileList){
                        html = html + '<ul><li style="width: 100%"><input type="checkbox" value="'+fileList[key].id+'"><span>'+fileList[key].name+'</span></li></ul>';
                    }
                    $("#field_file").empty().append(html);
                    var optionHtml = "";
                    if(process == 1){
                        optionHtml = '<option value="">请选择</option>\n' +
                            '                            <option value="3">审核通过</option>\n' +
                            '                            <option value="2">审核驳回</option>\n' ;
                    }if(process == 3){
                        optionHtml = '<option value="">请选择</option>\n' +
                            '                            <option value="3">审核通过</option>\n' +
                            '                            <option value="2">审核驳回</option>\n' +
                            '                            <option value="-1">审核不通过</option>';
                    }
                    $("#checkStateFirstModal").empty().append(optionHtml);
                    $("#firstCheckForm")[0].reset();
                    $("#checkStateFirstModal").val(obj.checkState);
                    $("#checkStateFirstModal").trigger("change");
                    $("#checkMsgFirst").val(obj.checkMsg);
                    if(obj.fields!=null && obj.fields!=''){
                        $("#field_info input").each(function () {
                            var arr = obj.fields.split(",");
                            for(var key in arr){
                                if($(this).val()==arr[key]){
                                    this.checked = true;
                                }
                            }
                        });
                    }
                    if(obj.files!=null && obj.files!=''){
                        $("#field_file input").each(function () {
                            if(obj.files.indexOf($(this).val())!=-1){
                                this.checked=true;
                            }
                        });
                    }
                },
                yes: function (index, layero) {
                    TalentTypeChangeInfoDlg.firstCheck(index);
                }
            });
        }else{
            Feng.error(data.msg);
        }
    }, function (data) {
        Feng.error("校验失败!" + data.responseJSON.message + "!");
    });
    ajax.setData({"id":$("#id").val(),"process":process,"companyId":$("#companyId").val()})
    ajax.start();
}


TalentTypeChangeInfoDlg.creatFieldCheckModal = function () {
    var type = $("#type").val();
    var html = "<form id=\"firstCheckForm\" style=\"margin: 10px;\">\n" +
        "                    <div class=\"form-group\">\n" +
        "                        <label for=\"checkState\" class=\"control-label\">审核状态</label>\n" +
        "                        <select class=\"form-control\" id=\"checkStateFirstModal\" onchange=\"TalentTypeChangeInfoDlg.toggleField()\">\n" +
        "                            <option value=\"\"></option>\n" +
        "                            <option value=\"3\">审核通过</option>\n" +
        "                            <option value=\"2\">审核驳回</option>\n" +
        "                            <option value=\"-1\">审核不通过</option>\n" +
        "                        </select>\n" +
        "                    </div>\n" +
        "                    <div class=\"form-group\">\n" +
        "                        <label for=\"checkMsg\" class=\"control-label\">审核意见</label>\n" +
        "                        <textarea class=\"form-control\" id=\"checkMsgFirst\" rows='6' placeholder=\"审核状态属“审核通过”的，仅代表此步骤已操作完成，不代表用户提交的信息符合认定条件。若不符合认定条件的，请写明不符合原因。\"></textarea>\n" +
        "                    </div>\n" +
        "                    <div class=\"form-group\" id=\"field\" style=\"display: none\">\n" +
        "                        <label for=\"checkMsg\" class=\"control-label\">可修改字段</label>\n" +
        "                        <div id=\"field_info\">\n" +
        "                            <ul>\n" ;
    if(type == 1){
        html = html + "<li style=\"width: 33%\"><input type=\"checkbox\" value=\"newSource\"><span>新申报来源</span></li>\n" +
            "          <li style=\"width: 33%\"><input type=\"checkbox\" value=\"newOurCitySource\"><span>新公布入选来源</span></li>\n" +
            "          <li style=\"width: 33%\"><input type=\"checkbox\" value=\"newFromCity\"><span>新入选来源县市</span></li>\n" +
            "          <li style=\"width: 33%\"><input type=\"checkbox\" value=\"newQzBath\"><span>新入选名单批次</span></li>\n" +
            "          <li style=\"width: 33%\"><input type=\"checkbox\" value=\"newTalentArrange\"><span>新人才层次</span></li>\n" +
            "          <li style=\"width: 33%\"><input type=\"checkbox\" value=\"newIdentifyCondition\"><span>新认定条件</span></li>\n" +
            "          <li style=\"width: 33%\"><input type=\"checkbox\" value=\"newIdentifyGetTime\"><span>新认定条件证书取得时间</span></li>\n" +
            "          <li style=\"width: 33%\"><input type=\"checkbox\" value=\"newIdentifyConditionName\"><span>新认定条件名称</span></li>\n" +
            "          <li style=\"width: 33%\"><input type=\"checkbox\" value=\"newCertificateStartTime\"><span>新泉州高层次人才证书发证日期</span></li>\n" +
            "          <li style=\"width: 33%\"><input type=\"checkbox\" value=\"newCertificateOutTime\"><span>新泉州高层次人才证书的有效期</span></li>\n" +
            "          <li style=\"width: 33%\"><input type=\"checkbox\" value=\"newIntroductionMode\"><span>新引进方式</span></li>\n" +
            "          <li style=\"width: 33%\"><input type=\"checkbox\" value=\"newGygb\"><span>新是否为我市本级国有股比超过50</span></li>\n" +
            "          <li style=\"width: 33%\"><input type=\"checkbox\" value=\"newLetterTime\"><span>新首次来晋行政介绍信时间</span></li>\n" ;
    }
    if(type == 2){
        html = html +
            "          <li style=\"width: 33%\"><input type=\"checkbox\" value=\"newTalentArrange\"><span>新人才层次</span></li>\n" +
            "          <li style=\"width: 33%\"><input type=\"checkbox\" value=\"newIdentifyCondition\"><span>新认定条件</span></li>\n" +
            "          <li style=\"width: 33%\"><input type=\"checkbox\" value=\"newIdentifyGetTime\"><span>新认定条件证书取得时间</span></li>\n" +
            "          <li style=\"width: 33%\"><input type=\"checkbox\" value=\"newIdentifyConditionName\"><span>新认定条件名称</span></li>\n" ;
    }
    html = html + "                            </ul>\n" +
        "                        </div>\n" +
        "                        <label for=\"checkMsg\" class=\"control-label\">可修改附件</label>\n" +
        "                        <div id=\"field_file\">\n" +
        "                        </div>\n" +
        "                        <div class=\"form-group\" style=\"text-align: center\">\n" +
        "                            <button type=\"button\" class=\"btn btn-primary\" onclick=\"TalentTypeChangeInfoDlg.checkAll()\">全选</button>\n" +
        "                            <button type=\"button\" class=\"btn btn-success\" onclick=\"TalentTypeChangeInfoDlg.unCheckAll()\">反选</button>\n" +
        "                        </div>\n" +
        "                    </div>\n" +
        "                </form>";
    return html;
}

TalentTypeChangeInfoDlg.createNoFieldCheckModal = function(){
    return '<form id="commonCheckForm" style="margin: 10px;">\n' +
        '                    <div class="form-group">\n' +
        '                        <label for="checkState" class="control-label">审核状态</label>\n' +
        '                        <select class="form-control" id="checkStateModal" >\n' +
        '                            <option value=""></option>\n' +
        '                            <option value="3">审核通过</option>\n' +
        '                            <option value="2">审核驳回</option>\n' +
        '                        </select>\n' +
        '                    </div>\n' +
        '                    <div class="form-group" style="margin: 10px;">\n' +
        '                        <label for="checkMsg" class="control-label">审核意见</label>\n' +
        '                        <textarea class="form-control" id="checkMsg" placeholder="审核状态属“审核通过”的，仅代表此步骤已操作完成，不代表用户提交的信息符合认定条件。若不符合认定条件的，请写明不符合原因。" rows="6"></textarea>\n' +
        '                    </div>\n' +
        '                </form>';
}





TalentTypeChangeInfoDlg.toggleDepField = function(){
    var checkState = $("#checkStateModal").val();
    var checkMsg = $("#checkMsg").val();
    if(checkState==3){
        if(checkMsg == null || checkMsg == ''){
            $("#checkMsg").val("部门审核通过，待复核");
        }
    }else{
        $("#checkMsg").val("");
    }
}


/**
 * 显示字段或者隐藏字段选择
 */
TalentTypeChangeInfoDlg.toggleField = function (){
    var checkState = $("#checkStateFirstModal").val();
    var process = $("#process").val();
    var source = $("#source").val();
    var newCertificateOutTime = $("#newCertificateOutTime").val();
    var checkMsgFirst = $("#checkMsgFirst").val();
    if(checkState==2){
        $("#checkMsgFirst").val("");
        $("#field").show();
    }else if(checkState==3){
        $("#field").hide();
        $("#field").find("input[type=checkbox]").removeAttr("checked");
        if(checkMsgFirst == null || checkMsgFirst == ''){
            if(newCertificateOutTime != null && newCertificateOutTime != ''){
                $("#checkMsgFirst").val(process==1?"初审通过，待复核。":"复核通过，待核查征信。");
            }else{
                $("#checkMsgFirst").val(process==1?"初审通过，待部门审核。":"复核通过，待核查征信。");
            }
        }
    }else if(checkState == -1){
        $("#field").hide();
        $("#checkMsgFirst").val("复核不通过，待核查征信");
    }
}

/**
 * 全选
 */
TalentTypeChangeInfoDlg.checkAll = function(){
    $("#field input").each(function () {
        this.checked = true;
    })
}
/**
 * 反选
 */
TalentTypeChangeInfoDlg.unCheckAll = function(){
    $("#field input").each(function () {
        if(this.checked){
            this.checked = false;
        }else{
            this.checked = true;
        }
    })
}
/**
 * 审核提交
 */
TalentTypeChangeInfoDlg.commonCheck = function (i){
    var checkState = $("#checkStateModal").val();
    var checkMsg = $("#checkMsg").val();
    if(checkState==null||checkState==''){
        Feng.info("请选择审核状态");
        return ;
    }
    if(checkMsg == null || checkMsg == ''){
        Feng.info("请填写审核意见");
        return ;
    }
    if(locked ) return;
    locked = true;
    var ajax = new $ax(Feng.ctxPath + "/talentTypeChange/check", function (data) {
        if(data.code==200){
            Feng.success(data.msg);
            layer.close(i);
        }else{
            Feng.error(data.msg);
        }
        locked = false;
    }, function (data) {
        Feng.error("提交审核失败!" + data.responseJSON.message + "!");
        locked = false;
    });
    ajax.setData({"id":$("#id").val(),"checkState":checkState,"checkMsg":$("#checkMsg").val(),"process":$("#process").val(),"companyId":$("#companyId").val()})
    ajax.start();
}

/**
 * 初审提交
 */
TalentTypeChangeInfoDlg.firstCheck = function(i){
    var checkState = $("#checkStateFirstModal").val();
    var checkMsg = $("#checkMsgFirst").val();
    if(checkState==null||checkState==''){
        Feng.info("请选择审核状态");
        return ;
    }
    if(checkMsg == null || checkMsg == ''){
        Feng.info("请填写审核意见");
        return ;
    }
    var fields = '';
    var files = '';
    $("#field_info li input").each(function(index){
        if($(this).is(":checked")){
            fields = fields + $(this).val() + ",";
        }
    });
    $("#field_file li input").each(function(index){
        if($(this).is(":checked")){
            files = files + $(this).val() + ",";
        }
    });
    if(locked ) return;
    locked = true;
    var ajax = new $ax(Feng.ctxPath + "/talentTypeChange/check", function (data) {
        if(data.code==200){
            layer.close(i);
            Feng.success(data.msg);
        }else{
            Feng.error(data.msg);
        }
        locked = false;
    }, function (data) {
        Feng.error("提交审核失败!" + data.responseJSON.message + "!")
        locked = false;
    });
    ajax.setData({"id":$("#id").val(),"checkState":checkState,"checkMsg":checkMsg,
        "process":$("#process").val(),"fields":fields,"files":files})
    ajax.start();
}

TalentTypeChangeInfoDlg.submitCheck = function(){
    var operation = function(){
        var ajax = new $ax(Feng.ctxPath + "/talentTypeChange/submitCheck", function (data) {
            if(data.code==200){
                Feng.success(data.msg);
                window.parent.TalentTypeChange.table.refresh();
                TalentTypeChangeInfoDlg.close();
            }else{
                Feng.error(data.msg);
            }
        }, function (data) {
            Feng.error("提交审核失败!" + data.responseJSON.message + "!");
        });
        ajax.setData({"id":$("#id").val(),"process":$("#process").val(),"companyId":$("#companyId").val()});
        ajax.start();
    }
    Feng.confirm("一旦提交无法修改，是否审核完毕且无误?", operation);
}



TalentTypeChangeInfoDlg.download = function(){
    window.location.href = encodeURI(encodeURI(Feng.ctxPath + "/api/commonDownload/downloadZip?type=2&id="+$("#id").val()));
}

$(function() {
    $("select").each(function () {
        $(this).val($(this).attr("value"));
    });
    Feng.getCheckLog("logTable",{"type":CONFIG.project_levelchange,"mainId":$("#id").val(),"typeFileId":"","active":1})
    TalentTypeChangeInfoDlg.initFileTable();
});
