/**
 * 初始化人才认定申报详情对话框
 */
var TalentAllowanceInfoDlg = {
    talentAllowanceData: {},
    validateFields: {
        talentId: {validators: {notEmpty: {message: '申报对象不能为空'}}}
    }
};

//初始化附件类别表单
TalentAllowanceInfoDlg.initFileTable = function () {
    TalentAllowanceInfoDlg.initContract();
    var queryData = {};
    queryData["mainId"] = $("#id").val();
    queryData['project'] = CONFIG.project_jbt;
    queryData['type'] = $("#type").val();
    queryData['allowanceType'] = $("#allowanceType").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: TalentAllowanceInfoDlg.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: 80%;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 if (suffix == "zip" || suffix == "rar" || suffix == '7z' || suffix == "ZIP" || suffix == "RAR" || suffix == '7Z') {
                        imgStr = '<a href=\"' + data[key].url + '\">' + data[key].orignName + '</a>';
                    } 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';

                }
                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();
        }
    });
    TalentAllowanceInfoDlg.initCommonFileTable();

}

//初始化通用附件
TalentAllowanceInfoDlg.initCommonFileTable = function () {
    var queryData = {};
    queryData.id = $("#id").val();
    $("#commonFileTable").bootstrapTable({
        url: Feng.ctxPath + "/common/api/listTalentAllowanceCommonFile",
        method: 'POST',
        contentType: "application/x-www-form-urlencoded; charset=UTF-8",
        search: false, // 是否显示表格搜索，此搜索是客户端搜索，不会进服务端
        showRefresh: false, // 是否显示刷新按钮
        clickToSelect: true, // 是否启用点击选中行
        singleSelect: true, // 设置True 将禁止多选
        striped: true, // 是否显示行间隔色
        pagination: false, // 设置为 true 会在表格底部显示分页条
        paginationHAlign: "left",
        paginationDetailHAlign: "right",
        sidePagination: "server", // 设置在哪里进行分页，可选值为 'client' 或者 'server'
        showColumns: false,
        queryParams: function (params) {
            return $.extend(queryData, params)
        },
        rowStyle: function (row, index) {
            return {css: {"word-break": "break-word", "white-space": "inherit"}}
        },
        columns: [
            {title: '附件原名', field: 'originalName', visible: true, align: 'center', valign: 'middle', 'class': 'uitd_showTip', width: '60%', formatter: function (value, row, index) {
                    return value;
                }},
            {title: '附件类型', field: 'fileTypeName', visible: true, align: 'center', valign: 'middle', 'class': 'uitd_showTip', width: '20%', formatter: function (value, row, index) {
                    return value;
                }},
            {title: '预览', field: 'url', visible: true, align: 'center', valign: 'middle', width: "20%",
                formatter: function (value, row, index) {
                    var sn = value.lastIndexOf(".");
                    var suffix = value.substring(sn + 1, value.length);
                    var imgStr = "";
                    if (suffix == "pdf" || suffix == "PDF") {
                        imgStr = "<button type='button'  onclick=\"Feng.showPdf('" + value + "','" + row.id + "','" + row.originalName + "')\" 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('" + value + "','" + row.id + "','" + row.originalName + "')\" class=\"btn btn-xs btn-danger\"><i class=\"fa fa-file-excel-o\" aria-hidden=\"true\"></i></button>";
                    } else {
                        imgStr = '<img class=\"cImgUrl\"  src=\"' + value + '\" style=\"width:25px;height:25px;\">';
                    }
                    return imgStr;
                }
            }
        ],
        onPostBody: function () {
            $("td.uitd_showTip").bind("mouseover", function () {
                var htm = $(this).html();
                $(this).webuiPopover({title: '详情', content: htm, trigger: 'hover'}).webuiPopover('show');
            });
            $(".cImgUrl").viewer({fullscreen: false});
        }
    });

}


/**
 * 初始化工作单位及核查项目情况表
 */
TalentAllowanceInfoDlg.initContract = function () {
    $("#projectTable").bootstrapTable("destroy", {});
    $("#projectTable").bootstrapTable({
        url: Feng.ctxPath + "/enterprise/talentAllowance/findAllowanceContractDetail",
        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, //父子表
        queryParams: function (params) {
            return $.extend({"mainId": $("#id").val()}, params)
        },
        columns: TalentAllowanceInfoDlg.initContractColumns(),
        onPostBody: function () {
            $("td.uitd_showTip").bind("mouseover", function () {
                var htm = $(this).html();
                $(this).webuiPopover({title: '详情', content: htm, trigger: 'hover'}).webuiPopover('show');
            });
        },
        onLoadSuccess: function (data) {
            $("#projectTable").bootstrapTable('expandAllRows');
        },
        onExpandRow: function (index, row, $detail) {
            var enterpriseId = row.enterpriseId;
            var cur_table = $detail.html('<table id="' + enterpriseId + '" class="mytable-hover"></table>').find('table');
            $(cur_table).bootstrapTable("destroy", {});
            $(cur_table).bootstrapTable({
                url: Feng.ctxPath + "/enterprise/talentAllowance/findAllowanceProject",
                method: 'POST',
                contentType: "application/x-www-form-urlencoded; charset=UTF-8",
                search: false, // 是否显示表格搜索，此搜索是客户端搜索，不会进服务端
                showRefresh: false, // 是否显示刷新按钮
                clickToSelect: true, // 是否启用点击选中行
                singleSelect: true, // 设置True 将禁止多选
                escape: true,
                pagination: false, // 设置为 true 会在表格底部显示分页条
                paginationHAlign: "left",
                paginationDetailHAlign: "right",
                sidePagination: "server", // 设置在哪里进行分页，可选值为 'client' 或者 'server'
                showColumns: false,
                queryParams: function (params) {
                    return $.extend({"mainId": $("#id").val(), "baseId": row.id}, params)
                },
                columns: TalentAllowanceInfoDlg.initProjectColumns(),
            });
        }
    });
}



//初始化工作单位表的列
TalentAllowanceInfoDlg.initContractColumns = function () {
    var type = $("#type").val();
    if (type == 1) {
        return [
            {field: 'selectItem', checkbox: false, visible: false},
            {title: '企业名称', field: 'enterpriseName', visible: true, align: 'center', valign: 'middle', width: "120px", 'class': 'uitd_showTip'},
            {title: '合同起始时间', field: 'startTime', visible: true, align: 'center', valign: 'middle', width: "120px", 'class': 'uitd_showTip'},
            {title: '合同截止时间', field: 'endTime', visible: true, align: 'center', valign: 'middle', width: "120px", 'class': 'uitd_showTip'},
            {title: '入职时间', field: 'entryTime', visible: true, align: 'center', valign: 'middle', width: "100px"},
            {title: '本年度工作截止时间', field: 'quitTime', visible: true, align: 'center', valign: 'middle', width: "100px"},
            {title: '人才标签', field: 'talentTypeName', visible: true, align: 'center', valign: 'middle', width: "100px", 'class': 'uitd_showTip'},
            {title: '首次来晋行政介绍信时间', field: 'letterTime', visible: true, align: 'center', valign: 'middle', width: "120px"},
                    /*{title: '操作', field: 'id', visible: true, align: 'center', valign: 'middle', width: "120px",
                     formatter: function (value, row, index) {
                     return "<button type='button' onclick='TalentAllowanceInfoDlg.showLog(\"" + row.id + "\")' style='margin-right: 10px' class='btn btn-xs btn-success'>" +
                     "<i class=\"fa fa-book\"></i>日志" +
                     "</button>";
                     }
                     }*/
        ];
    } else {
        return [
            {field: 'selectItem', checkbox: false, visible: false},
            {title: '企业名称', field: 'enterpriseName', visible: true, align: 'center', valign: 'middle', width: "120px", 'class': 'uitd_showTip'},
            {title: '合同起始时间', field: 'startTime', visible: true, align: 'center', valign: 'middle', width: "120px"},
            {title: '合同截止时间', field: 'endTime', visible: true, align: 'center', valign: 'middle', width: "120px", 'class': 'uitd_showTip'},
            {title: '入职时间', field: 'entryTime', visible: true, align: 'center', valign: 'middle', width: "100px"},
            {title: '本年度工作截止时间', field: 'quitTime', visible: true, align: 'center', valign: 'middle', width: "100px"},
                    /*{title: '操作', field: 'id', visible: true, align: 'center', valign: 'middle', width: "120px",
                     formatter: function (value, row, index) {
                     return "<button type='button' onclick='TalentAllowanceInfoDlg.showLog(\"" + row.id + "\")' style='margin-right: 10px' class='btn btn-xs btn-success'>" +
                     "<i class=\"fa fa-book\"></i>日志" +
                     "</button>"
                     }
                     }*/
        ];
    }
}

//初始化项目表的列
TalentAllowanceInfoDlg.initProjectColumns = function () {
    return [
        {field: 'selectItem', checkbox: false, visible: false},
        {title: '核查项目名称', field: 'projectName', visible: true, align: 'center', valign: 'middle', width: "15%", 'class': 'uitd_showTip'},
        {title: '详情', field: 'months', visible: true, align: 'center', valign: 'middle', width: "45%", 'class': 'uitd_showTip',
            formatter: function (value, row, index) {
                var allowanceType = $("#allowanceType").val();
                var tmp = [];
                if (row.project == 4 && allowanceType == 2) {
                    var dayArr = value ? value.split(",") : [];
                    var totalDays = 0;
                    for (var d = 0; d < dayArr.length; d++) {
                        var kv = dayArr[d].split("=");
                        if (kv[0] && kv[1]) {
                            totalDays += parseInt(kv[1]);
                            tmp.push(kv[0] + "月（" + kv[1] + "天）");
                        }
                    }
                    tmp.push("共计" + totalDays + "天");
                } else {
                    var monthArr = value ? value.split(",") : [];
                    for (var d = 0; d < monthArr.length; d++) {
                        if (monthArr[d]) {
                            tmp.push(monthArr[d] + "月");
                        }
                    }
                }
                return tmp.join(",");
            }
        },
        {title: '备注', field: 'description', visible: true, align: 'center', valign: 'middle', width: "25%", 'class': 'uitd_showTip'},
        {title: '操作', field: 'project', visible: true, align: 'center', valign: 'middle', width: "15%",
            formatter: function (value, row, index) {
                return "<button type='button' onclick='TalentAllowanceInfoDlg.showLog(\"" + row.id + "\")' style='margin-right: 10px' class='btn btn-xs btn-success'><i class=\"fa fa-book\"></i>日志</button>";
            }
        }
    ];
}

/**
 * 初始化附件类别表的列
 */
TalentAllowanceInfoDlg.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=\"Feng.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'},
    ]
};



TalentAllowanceInfoDlg.showLog = function (id) {
    layer.open({
        type: 1,
        title: "日志",
        fixed: false,
        content: '<table id="' + id + '"></table>',
        area: ['80%', '80%'],
        maxmin: true,
        success: function (layero, index) {
            $('#' + id).bootstrapTable({
                url: Feng.ctxPath + "/common/api/getJbtCheckLog",
                method: 'POST',
                contentType: "application/x-www-form-urlencoded; charset=UTF-8",
                search: false, // 是否显示表格搜索，此搜索是客户端搜索，不会进服务端
                showRefresh: false, // 是否显示刷新按钮
                clickToSelect: true, // 是否启用点击选中行
                singleSelect: true, // 设置True 将禁止多选
                striped: true, // 是否显示行间隔色
                pagination: false, // 设置为 true 会在表格底部显示分页条
                paginationHAlign: "left",
                paginationDetailHAlign: "right",
                sidePagination: "server", // 设置在哪里进行分页，可选值为 'client' 或者 'server'
                showColumns: false,
                queryParams: function (params) {
                    return {"type": CONFIG.project_jbt, "mainId": $("#id").val(), "typeFileId": id, "active": 1}
                },
                columns:
                        [
                            {title: '步骤', field: 'stepName', visible: true, align: 'center', valign: 'middle', width: "10%",
                                formatter: function (value, row, index) {
                                    return "" + value;
                                }
                            },
                            {title: '操作人', field: 'createUser', visible: true, align: 'center', valign: 'middle', width: "15%"},
                            {title: '操作时间', field: 'createTime', visible: true, align: 'center', valign: 'middle', width: "20%"},
                            {title: '描述', field: 'description', visible: true, align: 'center', valign: 'middle', width: "45%",
                                formatter: function (value, row, index) {
                                    return '<span data-toggle="tooltip" title="' + value + '">"' + value + '"</span>';
                                }
                            }
                        ]
                ,
                onPostBody: function () {
                    $('#' + id + "td.uitd_showTip").bind("mouseover", function () {
                        var htm = $(this).html();
                        $(this).webuiPopover({title: '详情', content: htm, trigger: 'hover'}).webuiPopover('show');
                    });
                }
            });
        }
    });
}

//回调
TalentAllowanceInfoDlg.callBack = function (data) {
    layer.close(data.obj);
    Feng.info(data.msg);
    if (data.code == 200) {
        var ajax = new $ax(Feng.ctxPath + "/enterprise/talentAllowance/updateSuppleState", function (data) {
            if (data.code == 200) {

            } else {

            }
        }, function (data) {
            Feng.error("修改失败!" + data.responseJSON.message + "!");
        });
        ajax.set("id", $("#id").val());
        ajax.start();
        $("#fileTable").bootstrapTable("refresh", {});
    }
}

TalentAllowanceInfoDlg.showAllLog = function () {
    var id = $("#id").val();
    if (Feng.isNotEmptyStr(id)) {
        Feng.getCheckLog("logTable", {"type": CONFIG.project_jbt, "mainId": id, "typeFileId": "", "active": 1})
    }
}
TalentAllowanceInfoDlg.calculator = function () {
    var id = $("#id").val();
    if (!id) {
        Feng.error("请先保存再进行计算");
        return;
    }
    var ajax = new $ax(Feng.ctxPath + "/enterprise/talentAllowance/calculator/id/" + id, function (data) {
        var message = data.recommendAllowanceMsg.join("<br>");
        if (data.recommendAllowanceType != 3) {
            message += "<br>试算补贴金额：<span style='color:red;font-weight:bold;'>" + data.finnalMoney + "</span>";
        }
        Feng.confirm(message, function () {});
    }, function (data) {
        Feng.error("查询失败!" + data.responseJSON.message + "!");
    });
    ajax.start();
}

$(function () {
    Feng.initValidatorTip("talentAllowanceForm", TalentAllowanceInfoDlg.validateFields);
    Feng.addAjaxSelect({
        "id": 'name',
        "displayCode": "id",
        "displayName": "name",
        "type": "GET",
        "url": Feng.ctxPath + "/enterprise/talent/findTalentByEnterpriseInLibrary?type=1&year=" + $("#year").val()
    });
    if ($("#type").val() == 2) {
        $("#bankNumberSpan,#talentTypeSpan,#introductionModeSpan,#firstInJJTimeSpan").attr("style", "display:none");
    }
    if ($("#allowanceType").val() == 1) {
        //$("#wageDiv").css("display", "block");
    }
    //批量加载时间控件
    $(".date").each(function () {
        laydate.render({elem: "#" + $(this).attr("id"), type: 'date', trigger: 'click'});
    });
    $("select").each(function () {
        $(this).val($(this).attr("value"));
    });
    TalentAllowanceInfoDlg.showAllLog();
});


