var Enterprise = {
    id: "table", //表格id
    seItem: null, //选中的条目
    table: null,
    layerIndex: -1
};

Enterprise.initColumn = function () {
    var type = $("#type").val();
    return [
        {field: 'selectItem', radio: true},
        {title: 'id', field: 'id', visible: false, align: 'center', valign: 'middle'},
        {title: '账号', field: 'username', visible: true, align: 'center', width: 120, valign: 'middle', 'class': 'uitd_showTip'},
        {title: '医院名称', field: 'name', visible: true, align: 'center', width: 120, valign: 'middle', 'class': 'uitd_showTip'},
        {title: '医共体', field: 'medicalCommunityName', visible: true, align: 'center', width: 120, valign: 'middle', 'class': 'uitd_showTip'},
        {title: '是否总院', field: 'isGeneral', visible: true, align: 'center', width: 120, valign: 'middle', 'class': 'uitd_showTip',
            formatter: function (value, row, index) {
                if (value == 1) {
                    return "是";
                }
                return "否";
            }},
        {title: '登记号', field: 'idCard', visible: true, align: 'center', width: 120, valign: 'middle', 'class': 'uitd_showTip'},
        {title: '法人代表', field: 'legal', align: 'center', width: 120, valign: 'middle', 'class': 'uitd_showTip'},
        {title: '医院电话', field: 'ephone', align: 'center', width: 120, valign: 'middle', 'class': 'uitd_showTip'},
        {title: '人才联络员', field: 'agentName', align: 'center', width: 120, valign: 'middle', 'class': 'uitd_showTip'},
        {title: '人才联络员电话', field: 'agentPhone', align: 'center', width: 120, valign: 'middle', 'class': 'uitd_showTip'},
        {title: '审核状态', field: 'checkState', align: 'center', width: 120, valign: 'middle', 'class': 'uitd_showTip',
            formatter: function (value, row, index) {
                if (value == null || value == '') {
                    return "";
                } else if (value == 1) {
                    return "未审核";
                } else if (value == 2) {
                    return "审核驳回";
                } else if (value == 3) {
                    return "审核通过";
                } else if (value == 4) {
                    return "重新提交";
                } else if (value == 5) {
                    return "初审驳回";
                } else if (value == 6) {
                    return "初审通过";
                }
            },
            cellStyle: function (value, row, index) {
                if (value == null || value === '') {
                    return {css: {}};
                } else if (value === 1) {
                    return {css: {"background-color": "LightGrey"}};
                } else if (value === 3) {
                    return {css: {'background-color': 'LightGreen'}};
                } else if (value === 2) {
                    return {css: {"background-color": "Orange"}};
                } else if (value === 4) {
                    return {css: {'background-color': 'LightGrey'}};
                } else if (value === 5) {
                    return {css: {'background-color': 'Orange'}};
                } else if (value === 6) {
                    return {css: {"background-color": "LightBlue"}};
                } else {
                    return {css: {}};
                }
            }
        },
        {title: '账号状态', field: 'active', align: 'center', width: 120, valign: 'middle', 'class': 'uitd_showTip',
            formatter: function (value, row, index) {
                if (value == null || value == '') {
                    return "";
                } else if (value == 1) {
                    return "账号有效";
                } else if (value == 2) {
                    return "拉黑/冻结";
                }
            },
            cellStyle: function (value, row, index) {
                if (value == null || value === '') {
                    return {css: {}};
                } else if (value === 1) {
                    return {css: {'background-color': 'LightGreen'}};
                } else if (value === 2) {
                    return {css: {"background-color": "Orange"}};
                } else {
                    return {css: {}};
                }
            }
        },
        {title: '注册时间', field: 'createTime', align: 'center', width: 120, valign: 'middle', 'class': 'uitd_showTip'},
        {title: '操作', field: 'id', visible: true, align: 'center', valign: 'middle', width: "80px",
            formatter: function (value, row, index) {
                return "<span class='label label-success' onclick=\"Enterprise.showLog('" + value + "')\" >" +
                        "<i class=\"fa fa-book\"></i>日志" +
                        "</span>";
            }
        }
    ];
};

Enterprise.formParam = function () {
    var queryData = {};
    queryData['name'] = $("#name").val();
    queryData['idCard'] = $("#idCard").val();
    queryData['medicalCommunityId'] = $("#medicalCommunityId").val();
    queryData['isGeneral'] = $("#isGeneral").val();
    queryData['legal'] = $("#legal").val();
    queryData['ephone'] = $("#ephone").val();
    queryData['agentName'] = $("#agentName").val();
    queryData['agentPhone'] = $("#agentPhone").val();
    queryData['checkState'] = $("#checkState").val();
    queryData['active'] = $("#active").val();
    return queryData;
}

Enterprise.search = function () {
    Enterprise.table.refresh({"query": Enterprise.formParam()});
};

Enterprise.reset = function () {
    $("#name").val("");
    $("#idCard").val("");
    $("#medicalCommunityId").val("");
    $("#isGeneral").val("");
    $("#legal").val("");
    $("#ephone").val("");
    $("#agentName").val("");
    $("#agentPhone").val("");
    $("#checkState").val("");
    $("#active").val("");
};

Enterprise.gotoEnterpriseDetailPage = function () {
    if (!Enterprise.check()) {
        return;
    }
    var index = layer.open({
        type: 2,
        title: '查看详情',
        area: ['830px', '450px'], //宽高
        fix: false, //不固定
        maxmin: true,
        content: Feng.ctxPath + '/admin/enterprise/gotoEnterpriseDetailPage?id=' + Enterprise.seItem.id,
        btn: ['<i class="fa fa-check"></i>&nbsp;&nbsp;审核', '<i class="fa fa-eraser"></i>&nbsp;&nbsp;关闭'],
        btnAlign: 'c',
        yes: function (index, layero) {
            Enterprise.doExamine();
        }
    });
    layer.full(index);
    Enterprise.layerIndex = index;
};

Enterprise.delEnterprise = function () {
    if (!Enterprise.check()) {
        return;
    }
    Feng.confirm(
            "确定删除吗？",
            function () {
                var ajax = new $ax(Feng.ctxPath + "/admin/enterprise/delEnterprise?id=" + Enterprise.seItem.id, function (data) {
                    Feng.info(data.msg);
                    if (data.code == 200) {
                        Enterprise.table.refresh();
                    }
                }, function (data) {
                    Feng.error("操作失败!");
                });
                ajax.set(null);
                ajax.start();
            }
    );
};

Enterprise.setActive = function () {
    if (!Enterprise.check()) {
        return;
    }
    var index = layer.open({
        type: 2,
        title: '设置冻结',
        area: ['830px', '500px'], //宽高
        fix: false, //不固定
        maxmin: true,
        content: Feng.ctxPath + '/admin/enterprise/gotoActivePage?id=' + Enterprise.seItem.id,
        btn: ['<i class="fa fa-check"></i>&nbsp;&nbsp;提交', '<i class="fa fa-eraser"></i>&nbsp;&nbsp;取消'],
        btnAlign: 'c',
        yes: function (index, layero) {
            //按钮【按钮一】的回调
            var iframeWin = window[layero.find('iframe')[0]['name']];
            iframeWin.EpActive.addSubmit();
        }
    });
//    layer.full(index);
    Enterprise.layerIndex = index;
};

Enterprise.doExamine = function () {
    if (!Enterprise.check()) {
        return;
    }
    var inCheckList = [1, 4, 6];
    if (Enterprise.seItem.checkState == null || inCheckList.indexOf(Enterprise.seItem.checkState) == -1) {
        Feng.info("不在审核范围内!");
        return;
    }
    var index = layer.open({
        type: 2,
        title: '审核',
        area: ['830px', '500px'], //宽高
        fix: false, //不固定
        maxmin: true,
        shade: 0,
        content: Feng.ctxPath + '/admin/enterprise/gotoExaminePage?id=' + Enterprise.seItem.id,
        btn: ['<i class="fa fa-check"></i>&nbsp;&nbsp;提交', '<i class="fa fa-save"></i>&nbsp;&nbsp;保存', '<i class="fa fa-eraser"></i>&nbsp;&nbsp;取消'],
        btnAlign: 'c',
        yes: function (index, layero) {
            //按钮【按钮一】的回调
            layer.confirm("确认提交审核结果？", function () {
                var iframeWin = window[layero.find('iframe')[0]['name']];
                iframeWin.EpExam.submitToCheck();
            })
        },
        btn2: function (index, layero) {
            var iframeWin = window[layero.find('iframe')[0]['name']];
            iframeWin.EpExam.addSubmit();
            return false;
        }
    });
//    layer.full(index);
};


/**
 * 修改驳回的字段及附件
 */
Enterprise.updateFieldsAndFiles = function () {
    if (this.check()) {
        var id = Enterprise.seItem.id;
        var ajax = new $ax("/admin/enterprise/findFieldsAndFiles?id=" + id, function (data) {
            if (data.code == 200) {
                layer.open({
                    type: 1,
                    id: "fieldCheckModalForm",
                    title: '修改',
                    area: ['800px', '450px'], //宽高
                    fix: false, //不固定
                    shade: 0,
                    maxmin: true,
                    content: Enterprise.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) {
                        var fileList = data.files;
                        var fieldList = data.fields;
                        var html_field = '';
                        var html_file = '';
                        for (var key in fieldList) {
                            html_field = html_field + '<li><input type="checkbox" ' + (fieldList[key].checked ? "checked" : "") + ' value="' + fieldList[key].field + '"><span>' + fieldList[key].name + '</span></li>';
                        }
                        for (var key in fileList) {
                            html_file = html_file + '<li style="width: 100%"><input type="checkbox" ' + (fileList[key].checked ? "checked" : "") + ' value="' + fileList[key].field + '"><span>' + fileList[key].name + '</span></li>';
                        }
                        $("#field_info").empty().append("<ul>" + html_field + "</ul>");
                        $("#field_file").empty().append("<ul>" + html_file + "</ul>");
                    },
                    yes: function (index, layero) {
                        Enterprise.submitFieldsAndFiles(index, id);
                    }
                });
            } else {
                Feng.error(data.msg);
            }
        }, function (data) {
            Feng.error("查询失败!" + data.responseJSON.message + "!");
        });
        ajax.start();
    }
};

/**
 * 已通过再驳回
 */
Enterprise.forceReject = function () {
    if (this.check()) {
        if (Enterprise.seItem.checkState != 3) {
            Feng.info("该操作只能对已通过医院进行驳回!");
            return;
        }
        var index = layer.open({
            type: 2,
            title: '驳回已通过医院',
            area: ['830px', '500px'], //宽高
            fix: false, //不固定
            maxmin: true,
            shade: 0,
            content: Feng.ctxPath + '/admin/enterprise/gotoRejectPage?id=' + Enterprise.seItem.id,
            btn: ['<i class="fa fa-check"></i>&nbsp;&nbsp;提交', '<i class="fa fa-eraser"></i>&nbsp;&nbsp;取消'],
            btnAlign: 'c',
            yes: function (index, layero) {
                //按钮【按钮一】的回调
                layer.confirm("确认驳回该医院？", function () {
                    var iframeWin = window[layero.find('iframe')[0]['name']];
                    iframeWin.EpExam.submitToReject();
                })
            }
        });
//    layer.full(index);
    }
}

/**
 * 修改提交
 * @param index
 * @param id
 */
Enterprise.submitFieldsAndFiles = function (index, id) {
    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 (fields == '' && files == '') {
        Feng.info("请选择可修改的字段或附件！");
        return;
    }
    var ajax = new $ax("/admin/enterprise/updateFieldsAndFiles", function (data) {
        if (data.code == 200) {
            layer.close(index);
            Feng.success(data.msg);
        } else {
            Feng.error(data.msg);
        }
    }, function (data) {
        Feng.error("修改失败!" + data.responseJSON.message + "!");
    });
    ajax.setData({"id": id, "fields": fields, "files": files})
    ajax.start();
};
Enterprise.creatFieldCheckModal = function () {
    return '<form id="fieldCheckModalForm">\n' +
            '                    <div class="form-group" style="margin: 10px;">\n' +
            '                        <div >\n' +
            '                            <label for="checkMsg" class="control-label">可修改字段</label>\n' +
            '                            <div id="field_info">\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="Enterprise.checkAll()">全选</button>\n' +
            '                                <button type="button" class="btn btn-success" onclick="Enterprise.unCheckAll()">反选</button>\n' +
            '                            </div>\n' +
            '                        </div>\n' +
            '                    </div>\n' +
            '                </form>';
};
Enterprise.checkAll = function () {
    $("#fieldCheckModalForm input[type=checkbox]").prop("checked", true);
};
Enterprise.unCheckAll = function () {
    $("#fieldCheckModalForm input[type=checkbox]").removeAttr("checked");
};

Enterprise.resetPassword = function () {
    if (!Enterprise.check()) {
        return;
    }
    Feng.confirm(
            "确定要重置密码吗?",
            function () {
                var ajax = new $ax(Feng.ctxPath + "/admin/enterprise/resetPassword?id=" + Enterprise.seItem.id, function (data) {
                    Feng.info(data.msg);
//                if(data.code == 200){
//                	Enterprise.table.refresh();
//                }
                }, function (data) {
                    Feng.error("操作失败!");
                });
                ajax.set(null);
                ajax.start();
            }
    );
};

Enterprise.doExport = function () {
    var name = $("#name").val();
    var idCard = $("#idCard").val();
    var medicalCommunityId = $("#medicalCommunityId").val();
    var isGeneral = $("#isGeneral").val();
    var legal = $("#legal").val();
    var ephone = $("#ephone").val();
    var agentName = $("#agentName").val();
    var agentPhone = $("#agentPhone").val();
    var checkState = $("#checkState").val();
    var active = $("#active").val();
    var arr = {"name": name, "idCard": idCard, "medicalCommunityId": medicalCommunityId, "isGeneral": isGeneral, "legal": legal, "ephone": ephone, "agentName": agentName,
        "agentPhone": agentPhone, "checkState": checkState, "active": active};
    window.location.href = Feng.setUrlParam(Feng.ctxPath + "/admin/enterprise/export", arr);
}

/**
 * 批量获取人才联络员手机号码
 */
Enterprise.getPhones = function () {
    var ajax = new $ax(Feng.ctxPath + "/enterprise/getPhones", function (data) {
        if (data.code == 200) {
            layer.open({
                type: 1,
                title: "手机号码",
                area: ['830px', '500px'], //宽高
                fix: false, //不固定
                maxmin: true,
                content: "<span style='word-break:break-all'>" + data.obj + "</span>"
            });
        } else {
            Feng.info(data.msg);
        }
    }, function (data) {
        Feng.error("操作失败!");
    });
    ajax.setData(Enterprise.formParam());
    ajax.start();
}

Enterprise.check = function () {
    var selected = $('#' + Enterprise.id).bootstrapTable('getSelections');
    if (selected.length == 0) {
        Feng.info("请先选中表格中的某一记录！");
        return false;
    } else {
        Enterprise.seItem = selected[0];
        return true;
    }
};

Enterprise.showLog = function (id) {
    layer.open({
        type: 1,
        title: "日志",
        fixed: false,
        content: '<table id="' + id + '"></table>',
        area: ['80%', '80%'],
        maxmin: true,
        success: function (layero, index) {
            Feng.getCheckLog(id, {"type": 10, "enterpriseId": id, "typeFileId": "", "active": 1})
        }
    });
};

$(function () {
    var defaultColunms = Enterprise.initColumn();
    var table = new BSTable(Enterprise.id, "/admin/enterprise/findEnterpriseByPage", defaultColunms);
    table.setPaginationType("server");
    Enterprise.table = table.init();
});
