/**
 * 初始化人才认定申报详情对话框
 */
var locked = false;
var TalentInfoInfoDlg = {
    talentInfoInfoData: {},
};

//初始化附件类别表单
TalentInfoInfoDlg.initFileTable = function () {
    var queryData = {};
    queryData['project'] = CONFIG.project_rcrd;
    queryData['type'] = $("#type").val();
    queryData["talent_condition"] = $("#talent_condition").val();
    queryData['checkState'] = $("#checkState").val();
    queryData['isMix'] = 1;
    $("#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: TalentInfoInfoDlg.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 + "/common/api/listTalentFile", function (data) {
                if (data == null || data.length == 0) {
                    return;
                }
                var html = '<ul class="imgs"><li style="width: 75%;font-weight: bold;padding-top: 5px;">附件原名</li><li style="width: 10%;font-weight: bold;padding-top: 5px;">预览</li><li style="width:15%;font-weight: bold;padding-top: 5px;">操作</li>';
                var files = $("#files").val();
                var checkState = $("#checkState").val();
                var realState = $("#realState").val();
                for (var key in data) {
                    var btn = "";
                    if (Feng.isEmptyStr(checkState) || (checkState == 8 && (realState == 8 || Feng.isEmptyStr(realState))) || (checkState == 11 && realState != 14) || (realState == 11 && files.indexOf(row.id) != -1)) {
                        btn = "<button type=\'button\' onclick=\"TalentInfoInfoDlg.checkFile(this,'" + row.fState + "','" + 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=\"TalentInfoInfoDlg.deleteFile('" + data[key].id + "','" + row.fState + "')\" class=\"btn btn-xs btn-danger\">" +
                                "<i class=\"fa fa-times\"></i>删除" +
                                "</button>";
                    } else {
                        btn = "";
                    }
                    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: 75%;padding-top: 5px;">' + data[key].orignName + '</li>\n' +
                            '<li style="width: 10%;">' + imgStr + '</li>\n' +
                            '<li style="width: 15%;padding-top: 2px;">' + btn + '</li>';
                }
                html = html + '</ul>';
                $detail.html(html);
                $(".imgs").viewer({fullscreen: false});
            }, function (data) {
                Feng.error("查询失败!" + data.responseJSON.message + "!");
            });
            var queryData = {};
            queryData["mainId"] = $("#id").val();
            queryData["fileTypeId"] = row.id;
            ajax.set(queryData);
            ajax.start();
        }
    });

}


/**
 * 初始化表格的列
 */
TalentInfoInfoDlg.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=\"TalentInfoInfoDlg.downloadFile('" + row.id + "',5)\" 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'},
    ]
};


/**
 * 显示初审审核模态框
 */
TalentInfoInfoDlg.showFirstCheckModal = function () {
    var ajax = new $ax("/enterprise/talent/validateIsCheck", function (data) {
        if (data.code == 200) {
            layer.open({
                type: 1,
                id: "neewFieldFormModel",
                title: '审核',
                area: ['800px', '450px'], //宽高
                fix: false, //不固定
                shade: 0,
                maxmin: true,
                content: TalentInfoInfoDlg.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;
                    if (typeof data.obj.fieldList != "undefined" && data.obj.fieldList.length > 0) {
                        var fieldList = data.obj.fieldList;
                        var html1 = '';
                        for (var key in fieldList) {
                            html1 = html1 + '<li style="float:left;margin:0 10px 10px 0;"><input type="checkbox" value="' + fieldList[key]["key"] + '"><span>' + fieldList[key]["value"] + '</span></li>';
                        }
                    }
                    var html2 = '';
                    for (var key in fileList) {
                        html2 = html2 + '<ul><li style="width: 100%"><input type="checkbox" value="' + fileList[key].id + '"><span>' + fileList[key].name + '</span></li></ul>';
                    }
                    $("#field_info ul").css("overflow", "hidden").empty().append(html1);
                    $("#field_file").css("overflow", "hidden").empty().append(html2);
                    $("#firstCheckForm")[0].reset();
                    $("#checkStateFirstModal").val(data.obj.check.checkState);
                    $("#checkStateFirstModal").trigger("change");
                    $("#checkMsgFirst").val(data.obj.check.msg);
                    if (obj.fields != null && obj.fields != '') {
                        $("#field_info input").each(function () {
                            for (var key in obj.fields) {
                                if ($(this).val() == obj.fields[key]) {
                                    this.checked = true;
                                }
                            }
                        });
                    }
                    if (obj.files != null && obj.files != '') {
                        $("#field_file input").each(function () {
                            for (var key in obj.files) {
                                if ($(this).val() == obj.files[key]) {
                                    this.checked = true;
                                }
                            }
                        });
                    }
                },
                yes: function (index, layero) {
                    TalentInfoInfoDlg.firstCheck(index);
                }
            });
        } else {
            Feng.error(data.msg);
        }
    }, function (data) {
        Feng.error("校验失败!" + data.responseJSON.message + "!");
    });
    ajax.setData({"id": $("#id").val()})
    ajax.start();
}


/**
 * 初审提交
 */
TalentInfoInfoDlg.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 (checkState == 2 && fields == '' && files == '') {
        Feng.info("请选择可修改的字段或附件！");
        return;
    }
    if (locked)
        return;
    locked = true;
    var ajax = new $ax("/enterprise/talent/check", function (data) {
        if (data.code == 200) {
            // $("#firstModal").modal("hide");
            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,
        "fields": fields, "files": files})
    ajax.start();
}


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

TalentInfoInfoDlg.creatFieldCheckModal = function () {
    return '<form id="firstCheckForm">\n' +
            '                    <div class="form-group" style="margin: 10px;">\n' +
            '                        <label for="checkState" class="control-label">审核状态</label>\n' +
            '                        <select class="form-control" id="checkStateFirstModal" onchange="TalentInfoInfoDlg.toggleField()">\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="checkMsgFirst" placeholder="审核状态属“审核通过”的，仅代表此步骤已操作完成，不代表用户提交的信息符合认定条件。若不符合认定条件的，请写明不符合原因。" rows="6"></textarea>\n' +
            '                        <div id="field" style="padding-top: 5px;display: none">\n' +
            '                            <label for="checkMsg" class="control-label">可修改字段</label>\n' +
            '                            <div id="field_info">\n' +
            '                                <ul style="overflow:hidden;list-style:none;">\n' +
            '                                </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="TalentInfoInfoDlg.checkAll()">全选</button>\n' +
            '                                <button type="button" class="btn btn-success" onclick="TalentInfoInfoDlg.unCheckAll()">反选</button>\n' +
            '                            </div>\n' +
            '                        </div>\n' +
            '                    </div>\n' +
            '                </form>';

}
TalentInfoInfoDlg.addSubmit = function () {
    Feng.error("当前状态不能修改");
}
TalentInfoInfoDlg.submitToCheck = function () {
    Feng.error("当前状态不能修改");
}

/**
 * 显示字段或者隐藏字段选择
 */
TalentInfoInfoDlg.toggleField = function () {
    var checkState = $("#checkStateFirstModal").val();
    var checkMsgFirst = $("#checkMsgFirst").val();
    if (checkState == 2) {
        $("#field").show();
        $("#checkMsgFirst").val("");
    } else if (checkState == 3) {
        $("#field").hide();
        $("#field").find("input[type=checkbox]").removeAttr("checked");
        if (checkMsgFirst == null || checkMsgFirst == '') {
            $("#checkMsgFirst").val("审核通过");
        }
    }
}

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

$(function () {
    var id = $("#id").val();
    if (id != null && id != '') {
        Feng.getCheckLog("logTable", {"type": CONFIG.project_rcrd, "mainId": id, "typeFileId": "", "active": 1})
    }

    $("input,select,textarea").not("input[type='hidden']").not("input[type='file']").attr("style", "pointer-events: none;background-color: #e2ecf2;;");

    TalentInfoInfoDlg.initFileTable();
});


