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

};

/**
 * 初始化表格的列
 */
IntegralVerifyInfoDlg.initFileTypeColumn = function () {
    return [
        {field: 'selectItem', checkbox: false, visible: false},
        {title: '名称', field: 'name', visible: true, align: 'left', valign: 'middle', width: "82%", 'class': 'uitd_showTip',
            formatter: function (value, row, index) {
                let str = '<div class="word-wrap">';
                if (row.must == 1) {
                    str = str + '<i class="fa fa-paste"></i><span style="font-weight:bold;color:red;font-size:14px;font-family:宋体"> * </span> ' + value;
                }
                if (row.must == 2) {
                    str = str + '<i class="fa fa-paste"></i>' + value;
                }
                str = str + '<br /><span id="desc_' + row.rel + '">' + row.description + '</span></div>'
                return str;
            }
        },
        {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=\"IntegralVerifyInfoDlg.downloadFile('" + row.id + "',3)\" style='margin-right: 10px' class=\"btn btn-xs btn-primary\">" +
                        "<i class=\"fa fa-download\"></i>下载" +
                        "</button>";
            }
        },
        {title: '操作', field: 'id', visible: true, align: 'center', valign: 'middle', width: "10%",
            formatter: function (value, row, index) {
                return "";
            }
        }
    ]
};

IntegralVerifyInfoDlg.changeAndLoadFile = function () {
    var table = $(".fileTable");
    var items = $("select[name='item_id[]']");
    var item_id = [];
    for (var i = 0; i < items.length; i++) {
        let _id = items.eq(i).val();
        if (_id) {
            item_id.push(_id);
        }
    }
    if (item_id.length == 0) {
        table.bootstrapTable("destroy");
        return;
    }
    var ajax = new $ax("/common/api/findCommonFileType", function (data) {
        if (data == null || data.length == 0) {
            return;
        }
        table.bootstrapTable("destroy");
        table.bootstrapTable({
            columns: IntegralVerifyInfoDlg.initFileTypeColumn(),
            data: data.rows,
            showHeader: true,
            rowStyle: function (row, index) {
                return {classes: ""};
            },
            onPostBody: function (data) {
                for (var k in data) {
                    var files = data[k].files;
                    var html = '<ul class="imgs"><li style="width: 70%;font-weight: bold;padding-top: 5px;">附件原名</li><li style="width: 10%;font-weight: bold;padding-top: 5px;">预览</li><li style="width: 20%;font-weight: bold;padding-top: 5px;">操作</li>';
                    for (var key in files) {
                        var sn = files[key].url.lastIndexOf(".");
                        var suffix = files[key].ext; //files[key].url.substring(sn + 1, files[key].url.length);
                        var imgStr = "";
                        if (suffix == "pdf" || suffix == "PDF") {
                            imgStr = "<button type='button'  onclick=\"Feng.showPdf('" + files[key].url + "','" + files[key].id + "','" + files[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' || suffix == 'docx' || suffix == 'doc' || suffix == 'DOCX' || suffix == 'DOC') {
                            imgStr = "<button type='button'  onclick=\"Feng.showExcel('" + files[key].url + "','" + files[key].id + "','" + files[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\" onclick=\"Feng.showImg(this)\" src=\"' + files[key].url + '\" style=\"width:25px;height:25px;\">';
                        }

                        html += '<li data-id="' + files[key].id + '">\n\
                                    <div>' + (data[k].step != 1 ? '<input type="hidden" name="uploadFiles[]" value="' + files[key].id + '">' : "") + '</div>\n' +
                                '<div style="width: 70%;">' + files[key].orignName + '</div>\n' +
                                '<div style="width: 10%;">' + imgStr + '</div>\n' +
                                '<div style="width: 20%;"></div>\n\
                                    </li>';
                    }
                    html = html + '</ul>';
                    table.find("tr[data-index='" + k + "']").after('<tr class="detail-view"><td colspan="5">' + html + '</td></tr>');
                }
                $("td.uitd_showTip").bind("mouseover", function () {
                    var htm = $(this).html();
                    $(this).webuiPopover({title: '详情', content: htm, trigger: 'hover'}).webuiPopover('show');
                });
            },
        });
    }, function (data) {
        Feng.error("查询失败!" + data.responseJSON.message + "!");
    });
    var queryData = {};
    queryData["mainId"] = $("#id").val();
    queryData['project'] = CONFIG.project_integral_apply;
    queryData['type'] = $("#type").val();
    queryData["itemId"] = item_id;
    queryData['checkState'] = $("#checkState").val();
    ajax.set(queryData);
    ajax.start();
}

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

IntegralVerifyInfoDlg.callback = function (data) {
    Feng.info(data.msg);
}

/**
 * 下载附件
 * @param value
 */
IntegralVerifyInfoDlg.downloadFile = function (id, type) {
    window.location.href = "/common/api/downloadFile?id=" + id + "&type=" + type;
}

IntegralVerifyInfoDlg.expandRows = function () {
    $(".fileTable").bootstrapTable('expandAllRows')
}

/**
 * 显示审核模态框
 */
IntegralVerifyInfoDlg.showCommonCheckModal = function () {
    var ajax = new $ax("/admin/integralVerify/validateIsCheck", function (data) {
        if (data.code == 200) {
            layer.open({
                type: 1,
                id: "neewFieldFormModel",
                title: '审核',
                area: ['800px', '350px'], //宽高
                fix: false, //不固定
                shade: 0,
                maxmin: true,
                content: IntegralVerifyInfoDlg.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 == 3) {
                        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) {
                    IntegralVerifyInfoDlg.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();
}

/**
 * 显示初审审核模态框
 */
IntegralVerifyInfoDlg.showFirstCheckModal = function () {
    var ajax = new $ax("/admin/integralVerify/validateIsCheck", function (data) {
        if (data.code == 200) {
            layer.open({
                type: 1,
                id: "neewFieldFormModel",
                title: '审核',
                area: ['800px', '450px'], //宽高
                fix: false, //不固定
                shade: 0,
                maxmin: true,
                content: IntegralVerifyInfoDlg.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.record;
                    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 = '';
                    html2 = html2 + '<ul><li style="width: 100%"><input type="checkbox" value="1"><span>允许修改</span></li></ul>';

                    $("#field_info ul").css("overflow", "hidden").empty().append(html1);
                    $("#field_file").css("overflow", "hidden").empty().append(html2);
                    var optionHtml = "";
                    optionHtml = '<option value="">请选择</option>\n' +
                            '                            <option value="1">审核通过</option>\n' +
                            '                            <option value="2">审核驳回</option>\n' +
                            '                            <option value="3">审核不通过</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 () {
                            for (var key in obj.fields) {
                                if ($(this).val() == obj.fields[key]) {
                                    this.checked = true;
                                }
                            }
                        });
                    }
                    if (obj.files == 1) {
                        $("#field_file input").each(function () {
                            this.checked = true;
                        });
                    }
                },
                yes: function (index, layero) {
                    IntegralVerifyInfoDlg.firstCheck(index);
                }
            });
        } else {
            Feng.error(data.msg);
        }
    }, function (data) {
        Feng.error("校验失败!" + data.responseJSON.message + "!");
    });
    ajax.setData({"id": $("#id").val(), "companyId": $("#companyId").val()})
    ajax.start();
}

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


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


/**
 * 全选
 */
IntegralVerifyInfoDlg.checkAll = function () {
    $("#field input").each(function () {
        this.checked = true;
    })
}
/**
 * 反选
 */
IntegralVerifyInfoDlg.unCheckAll = function () {
    $("#field input").each(function () {
        if (this.checked) {
            this.checked = false;
        } else {
            this.checked = true;
        }
    })
}

/**
 * 审核提交
 */
IntegralVerifyInfoDlg.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 + "/admin/integralVerify/check", function (data) {
        if (data.code == 200) {
            Feng.success(data.msg);
            // $("#commonModal").modal("hide");
            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, "process": $("#process").val(), "companyId": $("#companyId").val()})
    ajax.start();
}

/**
 * 初审提交
 */
IntegralVerifyInfoDlg.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() + ",";
        }
    });
    var fileChk = $("#field_file li").find("input").is(":checked");
    if (checkState == 2 && fields == '' && !fileChk) {
        Feng.info("请选择可修改的字段或项目！");
        return;
    }
    if (locked)
        return;
    locked = true;
    var ajax = new $ax("/admin/integralVerify/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,
        "process": $("#process").val(), "fields": fields, "files": fileChk ? 1 : 0})
    ajax.start();
}


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

IntegralVerifyInfoDlg.fieldCheckd = function (context) {
    if ($(context).get(0).checked) {
        $(context).parent().next().children()[0].checked = true;
        $(context).parent().next().children().eq(0).trigger("change");
    }
}

IntegralVerifyInfoDlg.sourceCheckd = function (context) {
    if ($(context).get(0).checked) {
        $("#talentArrangeCheckBox").attr("checked", true);
        $("#talentArrangeCheckBox").trigger("change");
    }
}

IntegralVerifyInfoDlg.download = function () {
    window.location.href = encodeURI(encodeURI("/common/api/downloadZip?type=1&id=" + $("#id").val()));
}


IntegralVerifyInfoDlg.creatFieldCheckModal = function () {
    var type = $("#type").val();
    if (type == 1) {
        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="IntegralVerifyInfoDlg.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" 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="company_list" style="padding-top:5px;display:none;">\n' +
                '                            <label for="checkMsg" class="control-label">选择需要再次审核的部门</label>\n' +
                '                            <div id="companys">' +
                '                               <ul style="overflow:hidden;list-style:none;"></ul>' +
                '                            </div>' +
                '                        </div>\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="IntegralVerifyInfoDlg.checkAll()">全选</button>\n' +
                '                                <button type="button" class="btn btn-success" onclick="IntegralVerifyInfoDlg.unCheckAll()">反选</button>\n' +
                '                            </div>\n' +
                '                        </div>\n' +
                '                    </div>\n' +
                '                </form>';
    } else if (type == 2) {

        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="IntegralVerifyInfoDlg.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" 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="company_list" style="padding-top:5px;display:none;">\n' +
                '                            <label for="checkMsg" class="control-label">选择需要再次审核的部门</label>\n' +
                '                            <div id="companys">' +
                '                               <ul style="overflow:hidden;list-style:none;"></ul>' +
                '                            </div>' +
                '                        </div>\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="IntegralVerifyInfoDlg.checkAll()">全选</button>\n' +
                '                                <button type="button" class="btn btn-success" onclick="IntegralVerifyInfoDlg.unCheckAll()">反选</button>\n' +
                '                            </div>\n' +
                '                        </div>\n' +
                '                    </div>\n' +
                '                </form>';
    }
}

IntegralVerifyInfoDlg.createNoFieldCheckModal = function () {
    return '<form id="commonCheckForm" >\n' +
            '                    <div class="form-group" style="margin: 10px;">\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>';
}


$(function () {
    $("select:not(#checkStateModal,#checkStateFirstModal)").each(function () {
        //$(this).attr("disabled", "disabled");
    });
    $("input,textarea").not("#checkMsg,#checkMsgFirst").each(function () {
        $(this).attr("readonly", "readonly");
    });
    $('[data-toggle="tooltip"]').tooltip();
    var type = $("#type").val();
    IntegralVerifyInfoDlg.changeAndLoadFile();

    Feng.getCheckLog("logTable", {"type": CONFIG.project_integral_apply, "mainId": $("#id").val(), "typeFileId": "", "active": 1})
});


