// //var MenuSetting={ // bjId:440141088, // IconsPath:'/zhyz/image/icon/', // ParentTitleObject:"{'wzid':'4401601','mc':'财务'},{'wzid':'4401461','mc':'系统'},{'wzid':'4401481','mc':'教务'},{'wzid':'4401401','mc':'珠海一职'},{'wzid':'4401521','mc':'后勤'},{'wzid':'4401541','mc':'科研'},{'wzid':'4401562','mc':'住宿'},{'wzid':'4401621','mc':'没用的应用'},{'wzid':'4401641','mc':'后台管理'},{'wzid':'4401421','mc':'校务'},{'wzid':'4401441','mc':'人员'},{'wzid':'4401661','mc':'演示'},{'wzid':'4401501','mc':'公共'},{'wzid':'4401561','mc':'内容'},{'wzid':'4401581','mc':'wenz'}", // target:"win2", // maxTopMenuCount:5, // needEditMenu:true //} // var menuSepartorClass = "menu-seperator"; //var menuSepartorClass = "menu-split"; function popupWindow(url, title, width, height, minHeight, maxHeight) { var params = { 'show': ["wdDialog"], 'hide': [], 'url': url, 'title': title, 'width': width, 'height': height } if (maxHeight && minHeight) { params.minHeight = minHeight; params.maxHeight = maxHeight; } console.log(params); wd.display.showComponent(params); // var windowId = new Date().getTime();var x = 0; // var y = 0; // var dhxWins = new dhtmlXWindows(); // dhxWins.enableAutoViewport(true); // var win = dhxWins.createWindow(windowId, x, y, width, height); // win.keepInViewport(true); // win.center(); // win.setText('' + title + ''); // win.attachURL(url); // win.setModal(true); // top.shortCutMenuDhxWins = dhxWins; } //排序 function sortMenuInfo(mi) { //排序出问题了,达闲再处理 if (true) return; // 排序开始 // 思路:定义一个数组储存排序好的,定义menuInfo1对menuInfo进行排序 var k1 = 1; // 储存排序 var menuInfo1 = new Array(); // 储存下标 var count = new Array(); //定义好顺序的数组 var arry = new Array('公共', '个人首页', '修改密码', '图书馆', '科研处', '编辑首页', '编辑菜单', '个人网站编辑', '用户管理', '编辑首页模板', '编辑菜单模板', '综合校情及智能决策分析', '设置', '流程', '模板编辑', '编辑菜单(新)', '校务', '人员', '教务', '科研', '住宿', '内容', '财务', '后勤', '餐饮', '后台管理'); //对menuInfo进行排序,menuInfo1储存已经排序好的也存在arry中的一部分 for (var i = 0; i < arry.length; i++) { for (var k = 0; k < mi.length; k++) { //找出与事先定义好的顺序 并且保证是下拉框出现 if (arry[i] == mi[k]['name'] && mi[k]['isRoot'] == 0) { menuInfo1[k1] = mi[k]; count[k1] = k; k1++; } //确保公共(即下拉菜单的一级菜单)为第一个出现 这样才能先加载一级再加载二级。 if (arry[0] == mi[k]['name']) { //console.log(mi[k]['name']); menuInfo1[0] = mi[k]; count[0] = k; } } } //获取不存在arry中的那一部分 推到已经排好序的menuInfo1数组后面 for (var i = 0; i < mi.length; i++) { if (count.indexOf(i) == -1) { menuInfo1[k1] = mi[i]; k1++; } } // console.log(menuInfo1); // console.log(mi.concat()); //删除原本的数组内容 mi.splice(0, mi.length); for (var i = 0; i < menuInfo1.length; i++) { // 把排序好的数组添加进原来的数组 mi.push(menuInfo1[i]) } //console.log(mi); return mi; //mi = menuInfo1; //排序结束。 } var scStart = typeof shortcutStartInfo == 'undefined' ? "{}" : shortcutStartInfo, scSearch = typeof shortcutSearchInfo == 'undefined' ? "{}" : shortcutSearchInfo; var recordVal4Menu; try { recordVal4Menu = eval("wdRecordVal" + MenuSetting.bjId); recordVal4Menu.div_plugin_menus = recordVal4Menu.div_plugin_menus||[]; recordVal4Menu.width = recordVal4Menu.width || { value: "50%" }; } catch (e) { } recordVal4Menu.state = recordVal4Menu.state || { value: 'searchMenu', default: false }; var menus; function initMenuTotally() { menus = { menuObj: { info: menuInfo, infoAll: menuInfoAll, tree: menuTree, shortCut: shortcutMenuInfo, width: recordVal4Menu.width.value }, startMenu: { info: startInfo, infoAll: startInfoAll, tree: startTree, shortCut: scStart, btn: { className: 'largeIcon-start cursor-click', text: '当前是“开始”\n点击切换到“搜索”' } }, searchMenu: { info: searchInfo, infoAll: searchInfoAll, tree: searchTree, shortCut: scSearch, btn: { className: 'largeIcon-search cursor-click', text: '当前是“搜索”\n点击切换到“开始”' } } }; recordVal4Menu.state = recordVal4Menu.state || { value: 'searchMenu', default: false }; $(".menu-div:hidden").remove() // console.table(recordVal4Menu) for (var key in menus) { (function (k, m) { //if (k == 'menuObj' || recordVal4Menu.state.value == k) { document.getElementById(k + MenuSetting.bjId).style.display = ""; initMenu(k, m); //} })(key, menus[key]); } function initMenu(menuPrefix, menu_) { var dimpointClass="icon-dimPoint";//灰点 var mt = menu_.tree, mi = menu_.info, mia = menu_.infoAll, scmi = menu_.shortCut; try { //console.log(MenuSetting) function setMenuItem(item) { var has_menu_item = false; if (menuPrefix != 'menuObj') { if (isRoot_i == 0) { currTopPid = null; isRoot_i = 1; } for (var ii = 0; ii < mi.length; ii++) { var item_ = mi[ii]; if (item['id'] == item_['pid']) { has_menu_item = true; var memberid_ = item_['id'].replace(/sub#[0-9]+?#/, ""); for (var iii = 0; iii < mi.length; iii++) { var item_i = mi[iii]; if (memberid_ == item_i['id']) { if (item_i['url'] != 'null' && item_i['url'] != '') { menu.addNewChild(currTopPid, index, item_['id'], item_['name'], false, "null.png"); if(item_i['url'].indexOf("javascript")!=0){ menu.setHref(item_['id'], "javascript:wd.base.win2FitHeight('"+MenuSetting.target+"','"+item_i['url']+"')", target); }else{ menu.setHref(item_['id'], item_i['url'], target); } //menu.setHref(item_['id'], item_i['url'], target); index++; break; } } } } } if (!has_menu_item) { for (var ii = 0; ii < mi.length; ii++) { var item_ = mi[ii]; if (item['id'] == item_['id']) { if (item_['url'] != 'null' && item_['url'] != '') { if (!item['tplj'] || 'null' == item['tplj']) { menu.addNewChild(currTopPid, index, item['id'], item['name'], false, "null.png"); } else { menu.addNewChild(currTopPid, index, item['id'], item['name'], false, item['tplj']); } if(item_['url'].indexOf("javascript")!=0){ menu.setHref(item['id'], "javascript:wd.base.win2FitHeight('"+MenuSetting.target+"','"+item_['url']+"')", target); }else{ menu.setHref(item['id'], item_['url'], target); } //menu.setHref(item['id'], item_['url'], target); break; } } } } } else { for (var ii = 0; ii < mi.length; ii++) { var item_ = mi[ii]; if (item['id'] == item_['pid']) { has_menu_item = true; // if (item_['url'] != 'null' && item_['url'] != '') { var memberid_ = item_['id'].replace(/sub#[0-9]+?#/, ""); for (var iii = 0; iii < mi.length; iii++) { var item_i = mi[iii]; if (memberid_ == item_i['id']) { if (item_i['url'] != 'null' && item_i['url'] != '') { if (memberid_.indexOf("_search") > 0) { /* 先去掉 "[搜索]" ,解决 norm 菜单条里的 菜单名带 "[搜索]" 的问题。Lin menu.addNewChild(currTopPid, index, item_['id'], item_['name'] + '[搜索]', false, "null.png"); */ console.log(" + '[搜索]':1"); menu.addNewChild(currTopPid, index, item_['id'], item_['name'], false, "null.png"); } else { menu.addNewChild(currTopPid, index, item_['id'], item_['name'], false, "null.png"); } if(item_i['url'].indexOf("javascript")!=0){ menu.setHref(item['id'], "javascript:wd.base.win2FitHeight('"+MenuSetting.target+"','"+item_i['url']+"')", target); }else{ menu.setHref(item['id'], item_i['url'], target); } //menu.setHref(item_['id'], item_i['url'], target); index++; break; } } } // } } } if (!has_menu_item) { // if (!item['tplj'] || 'null' == item['tplj']) { // menu.addNewChild(currTopPid, index, item['id'], item['name'], false, "null.png"); // } else { // menu.addNewChild(currTopPid, index, item['id'], item['name'], false, item['tplj']); // } for (var ii = 0; ii < mi.length; ii++) { var item_ = mi[ii]; if (item['id'] == item_['id']) { has_menu_item = true; if (item_['url'] != 'null' && item_['url'] != '') { var memberid_ = item_['id'].replace(/sub#[0-9]+?#/, ""); for (var iii = 0; iii < mi.length; iii++) { var item_i = mi[iii]; if (memberid_ == item_i['id']) { if (item_i['url'] != 'null' && item_i['url'] != '') { if (memberid_.indexOf("_search") > 0) { /* 先去掉 "[搜索]" ,解决 norm 菜单条里的 菜单名带 "[搜索]" 的问题。Lin menu.addNewChild(currTopPid, index, item_['id'], item_['name'] + '[搜索]', false, "null.png"); */ console.log(" + '[搜索]':2"); menu.addNewChild(currTopPid, index, item_['id'], item_['name'], false, "null.png"); } else { if (!item['tplj'] || 'null' == item['tplj']) { menu.addNewChild(currTopPid, index, item_['id'], item_['name'], false, "null.png"); } else { menu.addNewChild(currTopPid, index, item_['id'], item_['name'], false, item['tplj']); } // menu.addNewChild(currTopPid, index, item_['id'], item_['name'], false, "null.png"); } if(item_i['url'].indexOf("javascript")!=0){ menu.setHref(item['id'], "javascript:wd.base.win2FitHeight('"+MenuSetting.target+"','"+item_i['url']+"')", target); }else{ menu.setHref(item['id'], item_i['url'], target); } //menu.setHref(item_['id'], item_i['url'], target); index++; break; } } } } } } } } } //编辑菜单,菜单模板 function showEditMenuWindow(gf) { if (!MenuSetting.needEditMenu) return var windowId = 8888 //为了加关闭按钮而修改; var w = 800; var h = 500; var x = 0; var y = 0; var url = '/main/yonghu/editMenu.jsp?bjId=' + MenuSetting.bjId var dhxWins = new dhtmlXWindows(); dhxWins.enableAutoViewport(true); var win = dhxWins.createWindow(windowId, x, y, w, h); win.keepInViewport(true); win.center(); win.setText('编辑菜单'); if (gf == 'gf') { url = '/main/sheji/gfCd.do?bjId=' + MenuSetting.bjId; win.setText('编辑菜单模板'); } win.attachURL(url); win.setModal(true); top.shortCutMenuDhxWins = dhxWins; //为了加关闭按钮而修改 } var menuDiv = document.getElementById(menuPrefix + MenuSetting.bjId); if (menuPrefix.indexOf("menuObj") == 0) { if((menu_.width+"").indexOf("%")>-1){ menuDiv.style.width = menu_.width; }else{ menuDiv.style.width = menu_.width + "px"; } console.log(menuDiv.style.width) } var menuID_ = key + MenuSetting.bjId; var menu = window["menu_" + menuID_] = new dhtmlXMenuObject(menuID_, "dhx_black"); menu.setIconsPath(MenuSetting.IconsPath); menu.setParentTitleObject(MenuSetting.ParentTitleObject); menu.setWzBjName('mbwz'); var target = MenuSetting.target; var menuitem = new Array(); var maxRootCount = 0; for (var i = 0; i < mi.length; i++) { if (mi[i] && mi[i].isRoot == '1') maxRootCount++; } // var maxTopMenuCount = menu_.max || MenuSetting.maxTopMenuCount; // if (maxTopMenuCount < maxRootCount) // maxTopMenuCount -= 2; var currTopMenuCount = 0; var index = 0; var currTopPid = 'dhxWebMenuTopId'; /**** * 查询id是否在按钮集合中 * 用来隐藏没有权限的菜单 */ function inMenuTree(id) { // console.log(mt) for (var i = 0; i < mt.length; i++) { // console.log(mt[i][0]==id) if (mt[i][0] == id) return true; } return false; } if (menuDiv.children[0]) { menuDiv.children[0].style.width = 'max-content'; } sortMenuInfo(mi); var isRoot_i = 0, isMore, createMore; var Menu_has_plugin_item=[]; for (var i = 0; i < mi.length; i++) { var item = mi[i]; if (item['id'] && item['id'].indexOf("plugin_") != -1) { var has_pid=false; if(Menu_has_plugin_item.length>0){ Menu_has_plugin_item.forEach(function(menu_div){ if(menu_div==item['pid']){ has_pid=true; } }); } if(has_pid==false){ Menu_has_plugin_item.push(item['pid']); } } } for (var i = 0; i < mi.length; i++) { var item = mi[i]; if (undefined == item); else { var change_menu_name=false; var change_menu_id=""; if(recordVal4Menu.div_plugin_menus.length>0){ recordVal4Menu.div_plugin_menus.forEach(function(menu_div){ if(menu_div.pid==item['id']){ item['name']=item['name'].replace('',""); item['name']=menu_div.name+''; change_menu_name=true; change_menu_id = menu_div.id; } }); } if(change_menu_name==false&&Menu_has_plugin_item.length>0){ Menu_has_plugin_item.forEach(function(menu_div){ if(menu_div==item['id']){ item['name']=item['name'].replace('',""); item['name']=item['name']+''; } }); } //个性菜单 if ('1' == item['isRoot']) { //console.log(item) if (!inMenuTree(item.id) && "null" != item.url) { continue }; //计算按钮所占宽度 var chs = ( menuDiv.children[0] || { children: [] }).children, width = 90; for (var i_ = 0; i_ < chs.length; i_++) { // width += getElementWidth(chs[i_]); if (i < mi.length - 1 && i_ == chs.length - 1) { //加上预判下一个按钮的位置 width += getElementWidth(chs[i_]); } } if (isMore && menuRootName != item['id']) { //出现了“更多”按钮的情况 setMenuItem(item); index++; } else if (createMore && menuRootName != item['id']) { isMore = true; createMore = false; menu.addNewSibling(currTopPid, 'more', '更多'); currTopPid = 'more'; index = 0; currTopMenuCount++; setMenuItem(item); index++; } else { //没出现“更多”按钮的情况 // if (currTopMenuCount < maxTopMenuCount - 1) { //没超过最多项 if (menuRootName == item['id']) { currTopPid = null }; // setMenuItem(item); if (menuPrefix != 'menuObj') { if (isRoot_i == 0) { currTopPid = null; isRoot_i = 1; } for (var ii = 0; ii < mi.length; ii++) { var item_ = mi[ii]; var item_id; if(change_menu_name==false){ item_id=item['id']; }else{ item_id=change_menu_id; } if (item_id == item_['id']) { if (item_['url'] != 'null' && item_['url'] != '') { menu.addNewSibling(currTopPid, item['id'], item['name']); currTopPid = item['id']; index = 0; currTopMenuCount++; if(item_['url'].indexOf("javascript")!=0){ menu.setHref(item['id'], "javascript:wd.base.win2FitHeight('"+MenuSetting.target+"','"+item_['url']+"')", target); }else{ menu.setHref(item['id'], item_['url'], target); } // menu.setHref(item['id'], item_['url'], target); break; } } } if (item['pid'] == '' && item['id'].indexOf("_search") < 0 && item['id'].indexOf("_add") < 0) { menu.addNewSibling(currTopPid, item['id'], item['name'], false); currTopPid = item['id']; } } else { // if (item['id'].indexOf("_search") > 0) { // menu.addNewSibling(currTopPid, item['id'], item['name'] + '[搜索]'); // } else { // menu.addNewSibling(currTopPid, item['id'], item['name']); // } for (var ii = 0; ii < mi.length; ii++) { var item_ = mi[ii]; var item_id; // if(change_menu_name==false){ item_id=item['id']; // }else{ // item_id=change_menu_id; // } if (item_id == item_['id']) { if (item_['url'] != 'null' && item_['url'] != '') { // menu.addNewSibling(currTopPid, item['id'], item['name']); // currTopPid = item['id']; index = 0; currTopMenuCount++; if (item['id'].indexOf("_search") > 0) { /* 先去掉 "[搜索]" ,解决 norm 菜单条里的 菜单名带 "[搜索]" 的问题。Lin menu.addNewSibling(currTopPid, item['id'], item['name'] + '[搜索]'); */ console.log(" + '[搜索]':3"); menu.addNewSibling(currTopPid, item['id'], item['name']); } else { menu.addNewSibling(currTopPid, item['id'], item['name']); } // if(item_['pid']=="admin"){ // var url_admin = item_['url']; // menu.setHref(item['id'], "javascript:wd.base.win2FitHeight('"+MenuSetting.target+"','"+url_admin+"')", target); // //menu.setHref(item['id'], url_admin, target); // }else{ if(item_['url'].indexOf("javascript")!=0){ menu.setHref(item['id'], "javascript:wd.base.win2FitHeight('"+MenuSetting.target+"','"+item_['url']+"')", target); }else{ menu.setHref(item['id'], item_['url'], target); } currTopPid = item['id']; // } // menu.setHref(item['id'], item_['url'], target); } else if(menuRootName == item['id']){ menu.addNewSibling(currTopPid, item['id'], item['name']); currTopPid = item['id']; } else { var has_item_sub = false; for (var iii = 0; iii < mi.length; iii++) { var item_sub = mi[iii]; if (item_id == item_sub['pid']) { var item_id_sub = item_sub['id'].replace(/sub#[0-9]+?#/, ""); for (var iiii = 0; iiii < mi.length; iiii++) { var item_sub_ = mi[iiii]; if (item_id_sub == item_sub_['id']) { if (item_sub_['url'] != 'null' && item_sub_['url'] != '') { if (item['id'].indexOf("_search") > 0) { /* 先去掉 "[搜索]" ,解决 norm 菜单条里的 菜单名带 "[搜索]" 的问题。Lin menu.addNewSibling(currTopPid, item['id'], item['name'] + '[搜索]'); */ console.log(" + '[搜索]':4"); menu.addNewSibling(currTopPid, item['id'], item['name']); } else { menu.addNewSibling(currTopPid, item['id'], item['name']); } has_item_sub=true; currTopPid = item['id']; break; } } } if(has_item_sub){ break; } } } } break; } } // currTopPid = item['id']; // index = 0; // currTopMenuCount++; } // } else { // if (!item['tplj'] || 'null' == item['tplj']) { // menu.addNewChild(currTopPid, index, item['id'], item['name']); // } else { // menu.addNewChild(currTopPid, index, item['id'], item['name'], false, item['tplj']); // } // index++; // // currTopMenuCount++; } } else { //2叶子2 // console.log(item) if ('shortcutMenu' != item['id'] && 'editMenu' != item['id'] && menuRootName == item['pid'] && item['tplj'] != "null") { // console.log(item) if (item['id'] == "editSYMb") { // editDesktopDef,这里应该不用改 -- sys.menu.xml 已经写了 url。Lin item['url'] = "javascript:wd.topWindow.gxhymWindow.userEdit('gf');"; } menu.addNewChild(item['pid'], index, item['id'] + "xxx", item['name'], false, item['tplj']); if ('1' == item['isLeaf']) { if ('editMenu' == item['id']) { menu.setHref(item['id'] + "xxx", item['url'], '_self'); } else { if(item['url'].indexOf("javascript")!=0){ menu.setHref(item['id']+"xxx", "javascript:wd.base.win2FitHeight('"+MenuSetting.target+"','"+item['url']+"')", target); }else{ menu.setHref(item['id']+"xxx", item['url'], target); } //menu.setHref(item['id'] + "xxx", item['url'], target); } } index++; //编辑菜单 } else if ('editMenu' == item['id']) { // console.log(item) if (!item['tplj'] || 'null' == item['tplj']) { menu.addNewChild(item['pid'], index, item['id'], item['name'], false, "null.png"); menu.addNewSeparator(item['id']); } else { menu.addNewChild(item['pid'], index, item['id'], item['name'], false, item['tplj']); menu.addNewSeparator(item['id']); } index++; } else if ('shortcutMenu' == item['id']) { // console.log(item) if (!item['tplj'] || 'null' == item['tplj']) { menu.addNewChild(item['pid'], index, item['id'], item['name'], false, "null.png"); } else { menu.addNewChild(item['pid'], index, item['id'], item['name'], false, item['tplj']); } index++ } } //加href if ('1' == item['isLeaf']) { if (menuPrefix == 'menuObj') { if ('editMenu' == item['id']) { menu.setHref(item['id'], item['url'], '_self'); } else if (item['id'].indexOf("_search") > 0) { for (var ii = 0; ii < mi.length; ii++) { var item_ = mi[ii]; if (item['id'] == item_['id']) { if (item_['url'] != 'null' && item_['url'] != '' && item_['url'] != '111111111') { if(item_['url'].indexOf("javascript")!=0){ menu.setHref(item['id'], "javascript:wd.base.win2FitHeight('"+MenuSetting.target+"','"+item_['url']+"')", target); }else{ menu.setHref(item['id'], item_['url'], target); } //menu.setHref(item['id'], item_['url'], target); break; } } } } else { if(item['url'].indexOf("javascript")!=0){ for (var ii = 0; ii < mia.length; ii++) { var item_ = mia[ii]; if (item['id'] == item_['id']) { if (item_['url'] != 'null' && item_['url'] != '' && item_['url'] != '111111111') { if(item_['url'].indexOf("javascript")!=0){ menu.setHref(item['id'], "javascript:wd.base.win2FitHeight('"+MenuSetting.target+"','"+item_['url']+"')", target); }else{ menu.setHref(item['id'], item_['url'], target); } //menu.setHref(item['id'], item_['url'], target); break; } } } // menu.setHref(item['id'], "javascript:wd.base.win2FitHeight('"+MenuSetting.target+"','"+item['url']+"')", target); }else{ menu.setHref(item['id'], item['url'], target); } //menu.setHref(item['id'], item['url'], target); } } } //获取最后一个元素 if (menuDiv.children[0] && menuDiv.children[0].children.length > 0 && !isMore) { var itemWrapper = menuDiv.children[0]; var childs = itemWrapper.children; var menuBound = itemWrapper.getBoundingClientRect(), endOfs = menuDiv.getBoundingClientRect().right; if (menuDiv.querySelector("." + menuSepartorClass)) { endOfs = menuDiv.querySelector("." + menuSepartorClass).getBoundingClientRect().left; } else if (menuDiv.querySelector(".largeIcon-search")) { endOfs = menuDiv.querySelector(".largeIcon-search").getBoundingClientRect().left; } else if (menuDiv.querySelector(".largeIcon-start")) { endOfs = menuDiv.querySelector(".largeIcon-start").getBoundingClientRect().left; } endOfs -= 10; //平铺div var oriCss = itemWrapper.style.cssText; itemWrapper.style.width = menuBound.width * 10 + "px"; for (var _i_ = childs.length - 1; _i_ > 0; _i_--) { var _ele_ = childs[_i_], eBound = _ele_.getBoundingClientRect(); if (eBound.right >= endOfs || (createMore && eBound.right + 80 >= endOfs)) { //超过宽度或者是更多按钮 console.log("remove__" + item['id']) _ele_.style.display = "none"; // menu.removeItem(item['id']); createMore = true; //创建more按钮 i--; //回退一个菜单初始化 } } itemWrapper.style.cssText = oriCss; } } } for (var i = 0; i < mi.length; i++) { var item = mi[i]; if (item['id'] && item['id'].indexOf("plugin_") != -1) { var itemname=item['name']; if(item['tips']!=null){ itemname="
" + item['name'] + "
"; }else{ itemname="
" + item['name'] + "
"; } // itemname+=''; if (!item['tplj'] || 'null' == item['tplj']) { menu.addNewChild(item['pid'], index, item['id'], itemname, false, "null.png"); } else { menu.addNewChild(item['pid'], index, item['id'], itemname, false, item['tplj']); } menu.setHref(item['id'], item['url'], '_self'); if(item['tips']!=null&&(Menu_has_plugin_tips==""||Menu_has_plugin_tips=="null"||Menu_has_plugin_tips=="1")){ menu.setTooltip(item['id'], item['tips']); } } } //初始化快捷菜單下拉 for (var index in scmi) { var value = scmi[index]["members"]; if (index != "menuRoot") { var menupid; var menuchilenum = 0; for (i in value) { var memberid = value[i]["memberId"]; var havepermission = false; var memberid_ = memberid.replace(/#[0-9]+?#/, ""); for (var j = 0; j < mia.length; j++) { if (memberid_ == mia[j]["id"]) { havepermission = true; break; } } if (havepermission) { if (menuPrefix == 'menuObj' && memberid_.indexOf("_search") == -1) { for (var ii = 0; ii < mia.length; ii++) { var item_ = mia[ii]; if (memberid_ == item_['id']) { if (menuPrefix == 'menuObj' && memberid_.indexOf("_search") > 0) { /* 先去掉 "[搜索]" ,解决 norm 菜单条里的 菜单名带 "[搜索]" 的问题。Lin menu.addNewChild(scmi[index]["groupId"], 999, value[i]["memberId"], value[i]["name"] + '[搜索]', false, "null.png"); */ console.log(" + '[搜索]':5"); menu.addNewChild(scmi[index]["groupId"], 999, value[i]["memberId"], value[i]["name"], false, "null.png"); } else { menu.addNewChild(scmi[index]["groupId"], 999, value[i]["memberId"], value[i]["name"], false, "null.png"); } menuchilenum++; if(item_['url'].indexOf("javascript")!=0){ menu.setHref(value[i]["memberId"], "javascript:wd.base.win2FitHeight('"+MenuSetting.target+"','"+item_['url']+"')", target); }else{ menu.setHref(value[i]["memberId"], item_['url'], target); } //menu.setHref(value[i]["memberId"], item_["url"], target); break; } } } else { for (var ii = 0; ii < mi.length; ii++) { var item_ = mi[ii]; if (memberid_ == item_['id']) { if (menuPrefix == 'menuObj' && memberid_.indexOf("_search") > 0) { /* 先去掉 "[搜索]" ,解决 norm 菜单条里的 菜单名带 "[搜索]" 的问题。Lin menu.addNewChild(scmi[index]["groupId"], 999, value[i]["memberId"], value[i]["name"] + '[搜索]', false, "null.png"); */ console.log(" + '[搜索]':6"); menu.addNewChild(scmi[index]["groupId"], 999, value[i]["memberId"], value[i]["name"], false, "null.png"); } else { menu.addNewChild(scmi[index]["groupId"], 999, value[i]["memberId"], value[i]["name"], false, "null.png"); } menuchilenum++; if(item_['url'].indexOf("javascript")!=0){ menu.setHref(value[i]["memberId"], "javascript:wd.base.win2FitHeight('"+MenuSetting.target+"','"+item_['url']+"')", target); }else{ menu.setHref(value[i]["memberId"], item_['url'], target); } // menu.setHref(value[i]["memberId"], item_["url"], target); break; } } } // menu.addNewChild(scmi[index]["groupId"], 999, value[i]["memberId"], value[i]["name"]); } } if (menuchilenum == 0) { menu.removeItem(scmi[index]["groupId"]); } } } // try { // // 编辑首页模板 // for (var i = mi.length - 1; i >= 0; i--) { // item = mi[i]; // if (undefined == item); // else { // if ('shortcutMenu' != item['id'] && 'editMenu' != item['id'] && menuRootName == item['pid'] && 'null' != item['tplj']) { // //console.log(item); // try { // menu.addNewSeparator(item['id']); // } catch (e) { // console.log(e); // } // break; // } // } // } // } catch (e) { // console.log(e) // } var n = 0; var jsonString = JSON.stringify(scmi); if (jsonString == "{}") { for (var i = 0; i < mi.length; i++) { var item = mi[i]; if (undefined == item); else { if (menuRootName != item['id'] && 'null' == item['tplj']) { var tem = 0; for (var ii = 0; ii < mia.length; ii++) { var item2 = mia[ii]; if (item2['pid'] == item['id']) { if (tem == 0) { menu.addNewSibling(menuRootName, item2['id'], item2['name'], false); tem = item2['id'] } else { menu.addNewSibling(tem, item2['id'], item2['name'], false); tem = item2['id'] } menuitem[n] = item2['id']; n++; if ('1' == item2['isLeaf']) { if ('editMenu' == item2['id']) { menu.setHref(item2['id'], item2['url'], '_self'); } else { if(item2['url'].indexOf("javascript")!=0){ menu.setHref(item2['id'], "javascript:wd.base.win2FitHeight('"+MenuSetting.target+"','"+item2['url']+"')", target); }else{ menu.setHref(item2['id'], item2['url'], target); } // menu.setHref(item2['id'], item2['url'], target); } } var pso = 0; for (var i3 = 0; i3 < mia.length; i3++) { if (tem != 0) { if (item2['id'] == mia[i3]['pid']) { menu.addNewChild(item2['id'], pso, mia[i3]['id'], mia[i3]['name']); pso++; if(mia[i3]['url'].indexOf("javascript")!=0){ menu.setHref(mia[i3]['id'], "javascript:wd.base.win2FitHeight('"+MenuSetting.target+"','"+mia[i3]['url']+"')", target); }else{ menu.setHref(mia[i3]['id'], mia[i3]['url'], target); } // menu.setHref(mia[i3]['id'], mia[i3]['url'], target); } } } } } break; } } } } } catch (e) { console.log(e) } menuDiv.style.display = "inline-block"; menuDiv.style.overflow = "hidden"; if (menuPrefix.indexOf("menu") == 0) { menuDiv.style.width = menu_.width || "50%"; if (scmi.menuRoot && !$.isEmptyObject(scmi.menuRoot.members)) { initHandle(menuDiv); menuDiv.style.minWidth = "100px"; } else { menuDiv.style.width = "auto"; } window.updateMenuSize = function () { // if (!$.isEmptyObject(scmi)) { // menuDiv.style.minWidth = "50px"; // } if (menuDiv.childNodes.length>0&&menuDiv.childNodes[0].childNodes.length <= 1) { $(menuDiv).find("." + menuSepartorClass).hide(); $(menuDiv).css({ "width": "", "min-width": "" }); } else { $(menuDiv).find("." + menuSepartorClass).show(); } var chs = menuDiv.parentNode.children; for (var i = 0; i < chs.length; i++) { var ch = chs[i]; if(ch.nodeName=="DIV"){ if (ch == menuDiv) continue; if (ch.getAttribute("id").indexOf(recordVal4Menu.state.value) < 0) { ch.style.display = "none"; } var s = ch.style; s.position = "absolute"; s.top = "0"; s.bottom = "0"; s.right = "0"; s.left = getElementWidth(menuDiv); } } } window.updateMenuSize(); } else { } menu.attachEvent("onClick", function (id) { //console.log("click") if (id == 'shortcutMenu') { var ifrArr = document.getElementsByTagName('IFRAME'); for (var aa = 0; aa < ifrArr.length; aa++) { var ifr = ifrArr[aa]; if (ifr.getAttribute('oriSrc') != null) { ifr.src = ifr.getAttribute('oriSrc'); } } }; try { if (id == 'shortcutMenu') { if ('undefined' != wd.topWindow.gxhymWindow.SYBJCTRL.exitMB && wd.topWindow.gxhymWindow.SYBJCTRL.exitMB) { wd.topWindow.gxhymWindow.SYBJCTRL.exitMB(); } }; } catch (e) { console.log(e) } var n = 0; var selfpid; for (var k = 0; k < mi.length; k++) { if (mi[k]['id'] == id) { selfpid = mi[k]['pid'] break; } } if (selfpid == menuRootName) { for (var k = 0; k < mi.length; k++) { var item = mi[k] //console.log(item) if ('shortcutMenu' != item['id'] && 'editMenu' != item['id'] && menuRootName == item['pid'] && !item['tplj']) { // menu.removeItem(mi[k]['id']+"xxx") } if (mi[k]['isRoot'] == '1' && mi[k]['id'] != menuRootName) { menu.removeItem(mi[k]['id']) } } if (menuitem.length > 0) { for (var j = 0; j < menuitem.length; j++) { //console.log(menuitem[j]) menu.removeItem(menuitem[j]); }; } menu.removeItem("more"); // // for(var i=0;i 0; if (flag) { initSwitchBtn(menuDiv) } else { // recordVal4Menu.state.value = menuDiv.id.replace(/\d+/, ""); recordVal4Menu.state.value = menuDiv.id.replace(MenuSetting.bjId, ""); saveMenuInfo(); } })(menuKey); } document.getElementById(recordVal4Menu.state.value + MenuSetting.bjId).style.display = ""; } initMenuTotally() function getElementWidth(element) { var thisDisplay = element.style.display; element.style.display = thisDisplay == "none" ? "inline-block" : thisDisplay; var style = window.getComputedStyle(element); var width = parseFloat(style.marginLeft) + parseFloat(style.width) + parseFloat(style.marginRight); element.style.display = thisDisplay; return width; } function initSwitchBtn(menuDiv) { var b ; try{ b = menus[recordVal4Menu.state.value].btn; }catch(e){ b = menus[recordVal4Menu.state.value.replace(MenuSetting.bjId, "")].btn; } var btn = document.createElement("div"); btn.className = b.className; btn.title = b.text; btn.innerHTML = " "; btn.onclick = function () { // console.log(recordVal4Menu.state.value + ":" + (recordVal4Menu.state.value == "searchMenu")) if (recordVal4Menu.state.value == "searchMenu") { recordVal4Menu.state.value = 'startMenu'; } else { recordVal4Menu.state.value = "searchMenu"; } // console.log(recordVal4Menu.state.value) saveMenuInfo(); initMenuTotally(); } var style = btn.style; style.height = "100%"; style.cursor = 'pointer'; //取代 style.float = "right"; style.position = "absolute"; style.right = "20px"; menuDiv.appendChild(btn); } //初始化调整把手 function initHandle(div_) { var handle = document.createElement("span"); div_.appendChild(handle); handle.setAttribute("class", menuSepartorClass); handle.style.position = "absolute"; handle.style.right = parseFloat(window.getComputedStyle(handle).borderWidth) * 2 + "px"; middleHeight(handle); window.addEventListener("mousedown", function (e) { if (e.target == handle) { handle.isMouseDown = true; handle.startPoint = e.clientX; handle.parentWidth = parseFloat(window.getComputedStyle(handle.parentNode).width); handle.parentMin = parseFloat(window.getComputedStyle(handle.parentNode).minWidth); } }); window.addEventListener("mouseup", function (e) { document.getElementsByClassName(menuSepartorClass)[0].classList.remove("menu-draggingSplit"); if (handle && handle.isMouseDown) { // zhi.maxLeft.value = getMaxItemCount(handle.parentNode); // zhi.maxRight.value = getMaxItemCount("menuGroup"); saveMenuInfo(); initMenuTotally(); } if (handle) handle.isMouseDown = false; if (handle) handle.startPoint = null; }); window.addEventListener("mousemove", function (e) { if (handle && handle.isMouseDown && handle.startPoint != null) { // document.body.style.cursor = "pointer"; // document.body.style = document.body.style + ";cursor: url(/zzfb_/theme/EasyUses/image/menu_separator.cur), default !important"; // document.body.classList.add("menu-draggingSplit"); document.getElementsByClassName(menuSepartorClass)[0].classList.add("menu-draggingSplit"); var node = handle.parentNode; var srcWidth = handle.parentWidth, newWidth = srcWidth + (e.clientX - handle.startPoint); if (newWidth > 0 && (newWidth > handle.parentMin) && (newWidth < parseFloat(window.getComputedStyle(node.parentNode).width))) { if (srcWidth - newWidth != 0) { node.style.width = newWidth + "px"; window.updateMenuSize && window.updateMenuSize(); } } else { document.body.style.cursor = "not-allowed"; } } else { document.body.style.cursor = ""; } }); } function updateMenuInfo() { var zhi = recordVal4Menu; zhi.indexs = zhi.indexs || {}; var maxWidth = parseFloat(window.getComputedStyle(document.getElementById("menuObj" + MenuSetting.bjId)).width); zhi.width.value = maxWidth; for (var k in menus) { var mendiv = document.querySelector("#" + k + MenuSetting.bjId); if (mendiv.children.length > 0) { for (var _i = 0; _i < mendiv.children[0].children.length; _i++) { console.log(mendiv.children[0].children[_i]) if (mendiv.children[0].children[_i].style.display == "none") { break; } zhi.indexs[k] = _i; } console.log(zhi) } } } function saveMenuInfo(callback) { updateMenuInfo(); $.ajax({ method: "post", url: "/service", data: { ssServ: 'insertRecords', // wdService: 'insertRecords',。Lin bjid: MenuSetting.bjId, zhi: JSON.stringify(recordVal4Menu) }, async: false, success: function () { if (callback) callback(); }, error: function (e) { console.error("个人选值保存失败"); // initMenuTotally(); } }); } function middleHeight(element) { if (element.style.position == "absolute") { var par = element.parentNode, parStyle = window.getComputedStyle(par), parHeight = parseFloat(parStyle.height), eStyle = window.getComputedStyle(element), eheight = parseFloat(eStyle.height), eBoeder = parseFloat(eStyle.borderTopWidth), top = (parHeight - eheight - eBoeder) / 2; element.style.top = top; } } //判断对象是否为空 function is_empty(obj) { var hasOwnProperty = Object.prototype.hasOwnProperty; if (obj.length && obj.length > 0) return false; for (var key in obj) { if (hasOwnProperty.call(obj, key)) return false; } return true; } //菜单点击事件 function initialMenuPath() { wd.display.setHomeIconName("个人首页"); } function change_menu_name(el){ var div_menu_change={}; div_menu_change.id=$(el).attr("wdId"); div_menu_change.pid=$(el).attr("wdPid"); div_menu_change.name=$(el).html(); var is_has=false; if(recordVal4Menu.div_plugin_menus.length>0){ recordVal4Menu.div_plugin_menus.forEach(function(menu_div){ if(menu_div.pid==div_menu_change.id){ is_has=true; } }); } if(!is_has){ recordVal4Menu.div_plugin_menus.push(div_menu_change); saveMenuInfo(); initMenuTotally(); console.log(div_menu_change); } // var id=$(el).parent().parent().parent().parent().parent().parent().attr('id'); // var div =$("#"+id.replace("polygon_","")); // div.children().html($(el).html()); } if(Menu_has_plugin_tips=="0"){ $("div[name='plugin_tips']").parent().parent().parent(".menu-item").mousedown(function (e) { if (3 == e.which) { console.log($(this).html()); console.log($(this).find("div[name='plugin_tips']").attr("wdTitle")); this.title = $(this).find("div[name='plugin_tips']").attr("wdTitle"); } }) $("div[name='plugin_tips']").parent().parent().parent(".menu-item").mouseleave(function (e) { this.title = ""; }) }