//禁止快捷键打印
function disabledPrint() {
    if (event.keyCode == 80 && event.ctrlKey) {
        event.keyCode = 0;
        event.returnValue = false;
    }
}

function indexSelected(_this) {
    $("ul.treeview-menu").find("a").removeClass("indexSelected");
    $(_this).addClass("indexSelected");
}

/*========================menu========================*/
$(function () {
    var POWER_JSP = $("#POWER_JSP").val()

    function ajaxJsonFun() {
        $.ajax({
            url: POWER_JSP + "/font/getMenuByToken?token=" + $("#token").val() + "&sysFlag=emr_record",
            //url: POWER_JSP + "/font/getMenusByUserIdAndSysFlag?userName="+$("#userName").val()+"&sysFlag=emr_record",
            type: "POST",
            dataType: 'json',
            success: function (result) {
                if (result.code == 100) {
                    var menu = result.extend.list;
                    if (menu != '') {
                        var menuArr = menuRoleFun(menu);
                        for (var i = 0; i < menuArr.length; i++) {
                            $('#indexTreeMenu').append(menuArr[i]);
                        }
                    }
                    /* var listRole = result.extend.listRole;
                     var listPower=result.extend.listPower;
                     if (listUser != null) {
                         //$('#indexTreeMenu').append(listPowerFun(listUser));
                         /!* var menuArr = menuRoleFun(listUser);
                          for (var i = 0; i < menuArr.length; i++) {
                              $('#indexTreeMenu').append(menuArr[i]);
                          }*!/
                         var menuArr = menuRoleFun(listPower);
                         for (var i = 0; i < menuArr.length; i++) {
                             $('#indexTreeMenu').append(menuArr[i]);
                         }
                     } else if (listPower!=null) {
                         var menuArr = menuRoleFun(listPower);
                         for (var i = 0; i < menuArr.length; i++) {
                             $('#indexTreeMenu').append(menuArr[i]);
                         }
                     }else if (listRole != null) {
                         var menuArr = menuRoleFun(listRole);
                         for (var i = 0; i < menuArr.length; i++) {
                             $('#indexTreeMenu').append(menuArr[i]);
                         }
                     }*/
                }
            }, error: function () {

            }
        });
    };
    ajaxJsonFun();
});

//系统管理员
function menuRoleFun(menuArr) {
    var muluArr = [];
    var mulu = null;
    var menuLiArr = [];
    //是否包含常用查询
    var flag = false;
    //接收第一个页面的url
    var url = '';
    //接收审批页面的url地址
    var approveUrl = '';
    /*菜单*/
    if (menuArr != null) {
        var commomUrl = '';
        /*系统目录menuArr.length*/
        for (var i = 0; i < menuArr.length; i++) {
            if (menuArr[i].menuUrl == null || menuArr[i].menuUrl == '' || menuArr[i].menuUrl == '#') {
                mulu = liFun(menuArr[i].menuName, menuArr[i].menuIcon);
                /*链接跳转*/
                for (var j = 0; j < menuArr.length; j++) {
                    var menuUrl = menuArr[j].menuUrl;
                    if ((menuUrl != null || menuUrl != '') && menuArr[i].menuId == menuArr[j].methodParent) {
                        menuLiArr.push(menuArr[j]);
                        //接收审批页面的地址
                        if (approveUrl == '' && (menuUrl == '/approve/approveManageList' || menuUrl == '/approve/approveManageList1' ||
                            menuUrl == '/approve/approveManageList174')) {
                            approveUrl = menuUrl;
                        }
                    }
                }
                if (menuLiArr != null) {
                    if (menuLiArr.length > 0) {
                        var liMenu = ulSysMenuFun(menuLiArr);
                        menuLiArr = [];
                        mulu.append(liMenu);
                    }
                }
                muluArr.push(mulu);
            }
            if (menuArr[i].menuName == '常用查询') {
                flag = true;
                commomUrl = menuArr[i].menuUrl;
            }
            if (url == '' && menuArr[i].menuUrl != '#') {
                url = menuArr[i].menuUrl;
            }
        }
        //跳转第一个页面
        if (!flag && url != '') {
            $("#iFrame1").prop("src", path + url);
        } else {
            $("#iFrame1").prop("src", path + commomUrl)
        }
        //赋值审批页面到index页面内隐藏域
        if (approveUrl != '') {
            $("#approveUrl").val(approveUrl)
        }
    }

    return muluArr;
}

function listPowerFun(menuArr) {
    var hosp = newUlFun();
    if (menuArr != null && menuArr.length > 0) {
        var muluArr = [];
        for (var x = 0; x < menuArr.length; x++) {
            if ((menuArr[x].menuUrl == '' || menuArr[x].menuUrl == null) && menuArr[x].menuName != '菜单列表') {
                var muluMap = {};
                muluMap['menuId'] = menuArr[x].menuId;
                muluMap['menuName'] = menuArr[x].menuName;
                muluMap['menuIcon'] = menuArr[x].menuIcon;
                muluArr.push(muluMap);
            }
        }
        /*菜单*/
        var menuAUL = newUlFun();
        for (var i = 0; i < muluArr.length; i++) {
            /*菜单目录*/
            var muluLi = newLiFun();
            var muluA = newAFun(muluArr[i].menuName, muluArr[i].menuIcon);
            muluLi.append(muluA);
            var menuUL = newUlFun();
            for (var z = 0; z < menuArr.length; z++) {
                if (muluArr[i].menuId == menuArr[z].parentId) {
                    var menuALi = newAliFun(menuArr[z].menuName, menuArr[z].menuIcon, menuArr[z].menuUrl);
                    menuUL.append(menuALi);
                }
            }
            muluLi.append(menuUL);
            menuAUL.append(muluLi)
            hosp.append(menuAUL);
        }
    }

    /*
        if (menuArr != null && menuArr.length > 0) {
            /!*医院*!/
            for (var i = 0; i < menuArr.length; i++) {
                if(hospArr.indexOf(menuArr[i].hospitalName) == -1 && menuArr[i].hospitalName!=null) {
                    hospArr.push(menuArr[i].hospitalName);
                    var hospA = newAFun(menuArr[i].hospitalName, menuArr[i].menuIcon);
                    hosp.append(hospA);
                    //console.log(menuArr[i]);
                    /!*权限系统*!/
                    var sysUL = newUlFun();
                    var sysArr = [];
                    for (var j = 0; j < menuArr.length; j++) {
                        if (sysArr.indexOf(menuArr[j].sysFlag) == -1 && menuArr[j].sysFlag== "power") {
                            sysArr.push(menuArr[j].sysFlag);
                            //console.log(menuArr[j]);
                            var sysA = newAFun(menuArr[j].sysName, menuArr[j].menuIcon);
                            var sysLi = newLiFun();
                            sysLi.append(sysA);
                            /!*目录*!/
                            var muluArr = [];
                            var muluUL = newUlFun();
                            for (var y = 0; y < menuArr.length; y++) {
                                console.log(menuArr[y]);
                                if (muluArr.indexOf(menuArr[y].menuId) == -1 && menuArr[y].menuUrl == null && menuArr[y].parentId==0 ) {
                                    console.log(menuArr[y]);
                                    muluArr.push(menuArr[y].menuId);
                                    var muluA = newAFun(menuArr[y].menuName, menuArr[y].menuIcon);
                                    var muluLi = newLiFun();
                                    muluLi.append(muluA);
                                    //console.log(menuArr[y]);
                                    /!*菜单目录*!/
                                    var mulArr = [];
                                    var mulUL = newUlFun();
                                    for (var x = 0; x < menuArr.length; x++) {
                                        if (mulArr.indexOf(menuArr[x].menuId) == -1 && menuArr[x].menuUrl == null && menuArr[x].parentId != 0 && menuArr[x].menuId!=null) {
                                            muluArr.push(menuArr[x].menuId);
                                            //console.log(menuArr[x]);
                                            var mulA = newAFun(menuArr[x].menuName, menuArr[x].menuIcon);
                                            var mulLi = newLiFun();
                                            mulLi.append(mulA);

                                            /!*菜单*!/
                                            var menuAr = [];
                                            var menuAUL = newUlFun();
                                            for (var z = 0; z < menuArr.length; z++) {
                                                if (menuAr.indexOf(menuArr[z].menuId) == -1 && menuArr[z].menuUrl!=null && menuArr[z].menuUrl != '') {
                                                    menuAr.push(menuArr[z].menuId);
                                                    console.log(menuArr[z]);

                                                    var menuAA = newAFun(menuArr[z].menuName, menuArr[z].menuIcon);
                                                    var menuALi = newAliFun(menuArr[z].menuName, menuArr[z].menuIcon, menuArr[z].menuUrl);
                                                    menuAUL.append(menuALi);
                                                }
                                            }
                                            mulLi.append(menuAUL);

                                            mulUL.append(mulLi);
                                        }
                                    }
                                    muluLi.append(mulUL);
                                    muluUL.append(muluLi);
                                }

                            }
                            sysLi.append(muluUL);
                            sysUL.append(sysLi);
                            sysUL.append(sysLi)
                        }

                    }
                    hosp.append(sysUL);

                }
            }
        }
    */
    return hosp;
}

function newUlFun() {
    var newUl = $("<ul class=\"treeview-menu\" style=\"display: block;\"></ul>");
    return newUl;
}

function newLiFun() {
    var newLi = $("<li class=\"treeview menu-open\"></li>");
    return newLi;
}

function newAFun(aName, iconCss) {
    /*
    <a href="#">
       <i class="fa fa-share"></i> <span>Multilevel</span>
       <span class="pull-right-container">
           <i class="fa fa-angle-left pull-right"></i>
       </span>
     </a>
     */
    var newA = $("<a href=\"#\"></a>");
    var subIcon = $("<i></i>");
    subIcon.addClass(iconCss);
    var subSpan = $("<span class=\"pull-right-container\"><i class='fa fa-angle-left pull-right'></i></span>");
    newA.append(subIcon);
    newA.append(aName);
    newA.append(subSpan);
    return newA;
}

function newAliFun(aName, iconCss, menuUrl) {
    menuUrl = path + menuUrl;
    /*<li><a href="#"><i class="fa fa-circle-o"></i> Level Three</a></li> */
    var newli = $("<li></li> ");
    var newicon = $("<i></i>");
    var newA = $("<a href=\"" + menuUrl + "\" target=\"iFrame1\"></a>");
    newicon.addClass(iconCss);
    newA.append(newicon);
    newA.append(aName);
    newli.append(newA);
    return newli;
}

function menuFun(menuArr) {
    var menuUl = $("<ul  class=\"sidebar-menu\" data-widget=\"tree\" ></ul>");
    var arr = [];
    var hospital = null;
    if (menuArr.length > 0) {
        for (var i = 0; i < menuArr.length; i++) {
            if (menuArr[i].menuIcon == null) {
                menuArr[i].menuIcon = "fa fa-circle-o";
            }
            if (menuArr[i].hospitalName != null) {
                /*
                    li-->a-->ul-->li-->a--ul-->li-->a-->ul-->li
                 */
                /*医院li*/
                if (arr.indexOf(menuArr[i].hospitalName) == -1) {
                    arr.push(menuArr[i].hospitalName);
                    hospital = lihospFun(menuArr[i].hospitalName, menuArr[i].menuIcon);
                    hospital.addClass("tree");

                    /*科室*/
                    var dept = null;
                    var deptArr = [];
                    if (deptArr.indexOf(menuArr[i].deptId) == -1) {
                        deptArr.push(menuArr[i].deptId);
                        if (menuArr[i].deptId != null) {
                            dept = ulFun(menuArr[i].deptName, menuArr[i].menuIcon);
                            /*系统*/
                            var sysUl = null;
                            var sysArr = [];
                            var menuLiFun = [];
                            for (var j = 0; j < menuArr.length; j++) {
                                if (menuArr[i].dictId == menuArr[j].dictId) {
                                    /*菜单*/
                                    var menArr = [];
                                    for (var k = 0; k < menuArr.length; k++) {
                                        if (menuArr[k].menuId == menuArr[j].menuId) {
                                            if (menArr.indexOf(menuArr[k].menuId) == -1 && menuArr[k].menuName != "菜单列表") {
                                                menArr.push(menuArr[k].menuId);
                                                menuLiFun.push(menuArr[k]);
                                            }
                                        }
                                    }
                                    /*系统-菜单*/
                                    if (menuLiFun.length > 0) {
                                        if (sysArr.indexOf(menuArr[j].sysFlag) == -1) {
                                            sysArr.push(menuArr[j].sysFlag);
                                            sysUl = ulFun(menuArr[j].sysName, menuArr[j].menuIcon);
                                            /*菜单sysMenuLiFun*/
                                            var xLiFun = ulSysMenuFun(menuLiFun);
                                            sysUl.find('li').append(xLiFun);
                                            //sysUl.append(menuLiFun);
                                            dept.find('li').append(sysUl);
                                        }
                                    }
                                }
                            }
                            sysArr = null;
                            hospital.append(dept);

                        }
                    }
                    menuUl.append(hospital);
                }
            }
        }
        deptArr = null;
    }
    return menuUl;
}

function lihospFun(liName, iconCss) {
    var subLi = $("<li class=\"treeview menu-open\"></li>");
    subLi.append(aFun(liName, iconCss));
    return subLi;
}

function roleSysFun(menuArr) {
    var subLi = $("<li class=\"treeview menu-open\"></li>");
    subUl.append(liSysMenuFun(menuArr));
    return subLi;
}

function ulFun(liName, iconCss) {
    var subUl = $(" <ul class=\"treeview-menu \" style=\"display: block;\"></ul>");
    subUl.append(liFun(liName, iconCss));
    return subUl;
}

function liFun(liName, iconCss) {
    var subLi = $("<li class=\"treeview menu-open\"></li>");
    subLi.append(aFun(liName, iconCss));
    return subLi;
}

function aFun(aName, iconCss) {
    /**<a href="#"><i class="fa fa-circle-o"></i> 基本功能
     <span class="pull-right-container">
     <i class="fa fa-angle-left pull-right"></i>
     </span>
     </a>*/
    var subA = $("<a href=\"#\"></a>");
    var subIcon = $("<i></i>");
    subIcon.addClass(iconCss);
    var subSpan = $("<span class=\"pull-right-container\"><i class='fa fa-angle-left pull-right'></i></span>");
    subA.append(subIcon);
    subA.append(aName);
    subA.append(subSpan);
    return subA;
}

function ulSysMenuFun(menuArr) {
    var subUl = $(" <ul class=\"treeview-menu \" style=\"display: block;\"></ul>");
    for (var i = 0; i < menuArr.length; i++) {
        var subLi = $("<li></li>");
        var subA = $("<a href=" + path + menuArr[i].menuUrl + " target=\"iFrame1\" onclick = 'indexSelected(this)'></a>");
        var subIcon = $("<i></i>");
        if (menuArr[i].menuIcon != undefined || menuArr[i].menuIcon != null || menuArr[i].menuIcon != '') {
            subIcon.addClass(menuArr[i].menuIcon);
            subA.append(subIcon);
        }
        subA.append(menuArr[i].menuName);
        subLi.append(subA);
        subUl.append(subLi);
    }
    return subUl;
}


