You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

189 lines
6.2 KiB
JavaScript

6 years ago
/*========================menu========================*/
/*
deptId: 1
deptName: "科室1"
dictId: 1
hospitalName: "中医院"
menuIcon: "fa fa-circle-o"
menuId: 17
menuName: "菜单列表"
menuUrl: null
method: null
methodParent: null
methodSort: 1
roleId: 2
sort: 1
sysFlag: "his"
sysName: "his"
sysParent: 0
userId: 1
*/
Array.prototype.method1 = function () {
var arr=[]; //定义一个临时数组
for (var i = 0; i < this.length; i++) { //循环遍历当前数组
//判断当前数组下标为i的元素是否已经保存到临时数组
//如果已保存,则跳过,否则将此元素保存到临时数组中
if (arr1.indexOf(this[i]) == -1) {
arr.push(this[i]);
}
}
return arr;
}
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";
}
//console.log(menuArr[i].hospitalName);
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 (sysArr.indexOf(menuArr[j].sysFlag) == -1) {
sysArr.push(menuArr[j].sysFlag);
sysUl = ulFun(menuArr[j].sysName, menuArr[j].menuIcon);
console.log(menuLiFun);
console.log(menuLiFun);
for(var x=0;x< menuLiFun.length;x++){
var xLiFun= liFun(menuLiFun[x].menuName, menuLiFun[x].menuIcon);
console.log(xLiFun);
sysUl.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 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\"></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'</span>");
subA.append(subIcon);
subA.append(aName);
subA.append(subSpan);
return subA;
}
/*
/*===================菜单====================*/
/*
function ulFun() {
var ul = $("<ul id='menuUl' style='padding-top:20px'></ul>")
.addClass("page-sidebar-menu")
.addClass("page-header-fixed")
.attr("data-keep-expanded", "false")
.attr("data-auto-scroll", "true")
.attr("data-slide-speed", "200")
.attr("data-auto-scroll", "true");
var sidebar_li = $("<li><div class='sidebar-toggler hidden-phone'></li>");
ul.append(sidebar_li);
return ul;
};
function ulSubFun() {
var ul = $("<ul class='sub-menu' style='display: none;'></ul>");
return ul;
}
function liFirstFun(url, iframeName, icon, title) {
var li = $("<li class='start active'><a href='" + url + "' target='" + iframeName + "'><i class='" + icon
+ "'></i><span class='title'>" + title + "</span></a></li>");
//<span class='selected'>
return li;
};
function liSecondFun(url, iframeName, icon, title) {
var li = $("<li class='active'><a href='" + url + "' target='" + iframeName + "'><i class='" + icon
+ "'></i><span class='title'>" + title + "</span></a></li>");
//<span class='arrow'></span>
return li;
};
function liSecondFun2(url, iframeName, icon, title) {
var li = $("<li class='active'><a href='" + url + "' target='" + iframeName + "'><i class='" + icon
+ "'></i><span class='title'>" + title + "</span></a></li>");
return li;
};*/