getPageContext("MenuList").bind("initfn",{},function(){ var isBranch = true; var bbbrId=0; var c = $(this); var addBtn = $("#addModuleBtn", c); var editBtn = $('#editModuleBtn', c); var delBtn = $('#delModuleBtn', c); addBtn.parent().hide(); var rMenu = $("#rMenu", c); var zTreeObj = null; var addBranchBtn = $("#addBranch", c); var editBranchBtn = $("#editBranch", c); var delBranchBtn = $("#delBranch", c); var rightGrid = $("#MenuListGrid",c); var selectedBranchId = ""; var selectedBranchName = ""; var sortableArray = ["bbprName"]; var setting = { view: {dblClickExpand: false}, data: { simpleData: { enable: true, idKey: "id", pIdKey: "PId", rootPId: "-1" }, key: {name: "name"} }, callback: { onClick: OnClick, onRightClick: OnRightClick } }; function OnClick(event, treeId, treeNode) { updateGrid(treeNode.id); }; function openTreeNode(node) { if (!node.open) { zTreeObj.expandNode(node); } } function closeTreeNode(node) { if (node.open) { zTreeObj.expandNode(node); } } function loadTreeContent(id){ SysModuleManager.getTreeValue({ callback:function(selectCodeData){ var branchTreeArray = eval(selectCodeData); if (!branchTreeArray) { branchTreeArray = []; } zTreeObj = $.fn.zTree.init($("#moduleTree",c), setting, branchTreeArray); zTreeObj.expandAll(true); openTreeNode(zTreeObj.getNodeByParam("id", 0, null)); var nodes = zTreeObj.getNodes(); if(nodes.length<=0){ return; } updateGrid(id); }, async:false }); } function OnRightClick(event, treeId, treeNode) { var zTree = $.fn.zTree.getZTreeObj("moduleTree",c); if (!treeNode && event.target.tagName.toLowerCase() != "button" && $(event.target).parents("a").length == 0) { zTree.cancelSelectedNode(); showRMenu("root", event.clientX, event.clientY-85); } else if (treeNode && !treeNode.noR) { zTree.selectNode(treeNode); updateGrid(treeNode.id); selectedBranchId = treeNode.id; showRMenu("node", event.clientX, event.clientY-85); } } function showRMenu(type, x, y) { if (type=="root") { return; } $("#rMenu ul").show(); if (type=="root") { $("#m_del").hide(); $("#m_check").hide(); $("#m_unCheck").hide(); } else { $("#m_del").show(); $("#m_check").show(); $("#m_unCheck").show(); } rMenu.css({"top":y+"px", "left":x+"px", "visibility":"visible"}); $("body").bind("mousedown", onBodyMouseDown); } function hideRMenu() { if (rMenu) rMenu.css({"visibility": "hidden"}); $("body").unbind("mousedown", onBodyMouseDown); } function onBodyMouseDown(event){ if (!(event.target.id == "rMenu" || $(event.target).parents("#rMenu").length>0)) { rMenu.css({"visibility" : "hidden"}); } } addBranchBtn.bind("click", function() { rMenu.css({"visibility" : "hidden"}); var nodes = zTreeObj.getSelectedNodes(); if (nodes.length > 0) { var currentNode = nodes[0]; if (!currentNode.isParent) { updateGrid(currentNode.id); var rowData = rightGrid.jqGrid('getRowData'); if (rowData.length > 0) { prompt(currentNode.name+" 功能下已有操作信息, 不能添加子功能."); return; } } $.landydialog.openByUrl({ autoOpen: false, height: 245, width: "50%", modal: true, title:"新增模块", buttons:{ }, open:function(event, ui) { var dc = $.landydialog.getDialogContext(); $("#bbbrPName", dc).val(nodes[0].name); $("#symoPid", dc).val(selectedBranchId); $("#cancelModuleBtn", dc).bind("click", function(){ $.landydialog.closeDialog(); }); dc.keyup(function (evnet) { if (evnet.keyCode == '13') { $("#saveModuleBtn", dc).trigger('click'); } }); $("#saveModuleBtn", dc).bind("click", function(){ if($("#HospitalForm",dc).validationEngine({returnIsValid:true}) == true){ var model = LandyJquery.data.getFormValues('ModuleForm',dc); SysModuleManager.save(model,"新增模块",{ callback:function(data){ if(data==null){ prompt("保存失败!"); return; } $.landydialog.closeDialog(); loadTreeContent(data.symoId); updateGrid(data.symoId); } }); }else{ prompt("录入错误"); } }); $("#symoExcludeNames", dc).bind("click", function(){ $("#symoExcludeNamesSpan", dc).click(); }); $("#symoExcludeNamesSpan", dc).bind("click", function(){ var symoExcludeIds = $("#symoExcludeIds", dc).val(); var initSelectNodeArray = []; if (symoExcludeIds) { symoExcludeIds = symoExcludeIds.replaceAll("-",""); initSelectNodeArray = symoExcludeIds.split("|"); } var callback = function(branch) { $("#symoExcludeIds", dc).val(branch.hid); $("#symoExcludeNames", dc).val(branch.hName); }; openHospitalCategoryTree(dc, "syusLocationid", "scmhName", callback,"array","query",true, initSelectNodeArray); }); $("#clearExcludeBtn", dc).bind("click", function(){ $("#symoExcludeNames", dc).val(""); $("#symoExcludeIds", dc).val(""); }); } },"system/menu/menu_add.jsp"); } }); editBranchBtn.bind("click", function() { rMenu.css({"visibility" : "hidden"}); var nodes = zTreeObj.getSelectedNodes(); if (nodes.length > 0) { var id = nodes[0].id; if (id == 0) { prompt("全部功能模块节点不能修改"); return; } var parentNodeId = nodes[0].PId; var parentNode = zTreeObj.getNodeByParam("id", parentNodeId, null); var currentNode = nodes[0]; $.landydialog.openByUrl({ autoOpen: false, height: 245, width: "50%", modal: true, title: "修改类别", buttons: { }, open:function(event, ui) { symoId = selectedBranchId; var dc = $.landydialog.getDialogContext(); $("#bbbrName", dc).val(selectedBranchName); if(isNotNull(symoId,true)){ SysModuleManager.get(symoId,{ callback:function(model){ LandyJquery.data.setFormValues('ModuleForm', model, dc); } }); } $("#symoPid", dc).val(selectedBranchId); $("#saveModuleBtn", dc).bind("click",function(){ if($("#ModuleForm",dc).validationEngine({returnIsValid:true}) != true){ prompt("录入错误"); return; } var model = LandyJquery.data.getFormValues("ModuleForm",dc); SysModuleManager.save(model,"修改模块",{ callback:function(data){ $.landydialog.closeDialog(); loadTreeContent(selectedBranchId); updateGrid(selectedBranchId); } }); }); $('#cancelModuleBtn', dc).bind('click',function(){ dc.dialog("close"); }); $("#symoExcludeNames", dc).bind("click", function(){ $("#symoExcludeNamesSpan", dc).click(); }); $("#symoExcludeNamesSpan", dc).bind("click", function(){ var symoExcludeIds = $("#symoExcludeIds", dc).val(); var initSelectNodeArray = []; if (symoExcludeIds) { symoExcludeIds = symoExcludeIds.replaceAll("-",""); initSelectNodeArray = symoExcludeIds.split("|"); } var callback = function(branch) { $("#symoExcludeIds", dc).val(branch.hid); $("#symoExcludeNames", dc).val(branch.hName); }; openHospitalCategoryTree(dc, "syusLocationid", "scmhName", callback,"array","query",true, initSelectNodeArray); }); $("#clearExcludeBtn", dc).bind("click", function(){ $("#symoExcludeNames", dc).val(""); $("#symoExcludeIds", dc).val(""); }); } },"system/menu/menu_add.jsp"); } }); delBranchBtn.bind("click", function() { rMenu.css({"visibility" : "hidden"}); var nodes = zTreeObj.getSelectedNodes(); if (nodes.length > 0) { if (nodes[0].id == 0) { prompt("功能节点不能删除"); return; } if (nodes[0].isParent) { prompt("有子分类不能删除"); return; } LandyJquery.dialog.confirm('确认删除吗?', function() { var bbbrId = nodes[0].id; var pId = nodes[0].PId; var Module="Module"; SysModuleManager.removeByModuleId(bbbrId, { callback:function(){ prompt("删除成功!"); loadTreeContent(pId); updateGrid(pId); },async:false }); }); } }); function updateGrid(treeNodeId) { var treeNode = zTreeObj.getNodeByParam("id", treeNodeId, null); zTreeObj.selectNode(treeNode); openTreeNode(treeNode); bbbrId = treeNode.id; if (treeNode.isParent) { rightGrid.jqGrid('clearGridData'); addBtn.parent().hide(); } else { selectedBranchId = treeNode.id; selectedBranchName = treeNode.name; rightGrid.landyjgrid().trigger("reloadGrid"); addBtn.parent().show(); } } rightGrid.landyjgrid( { colNames : ['ID','symoPid','操作名称','编码','顺序','是否有效','限制'], colModel : [ {name : 'symoId',index : 'symoId',width : 100,hidden : true}, {name : 'symoPid',index : 'symoPid',width : 100,hidden : true}, {name : 'symoName',index : 'symoName',width : 350,align:'center'}, {name : 'symoSn',index : 'symoSn',width : 350,align:'center'}, {name : 'symoOrder',index : 'symoOrder',width : 350,align:'center'}, {name : 'symoFlag',index : 'symoFlag',width : 350,align:'center'}, {name : 'symoExcludeNames',index : 'symoExcludeNames',width : 350,align:'center'} ], rowNum : 100, rowList : [ 20, 50, 100,500 ], pager : '#MenuListGridPager', sortname : '', viewrecords : true, sortorder : "", shrinkToFit : true, queryType : "ModuleTreeQuery", autoLoad : false, multiselect : true, excelCaption:"功能明细", onBeforeQueryDataChanged:function(){ return true; }, caption :$("#ModuleCaption",c).html(), onBuildAdditionQueryFields : function() { $(this).clearCondition(); var condition=LandyJquery.grid.buildGridSearchConditionsByForm("branchForm", c); var newCondition = []; if (selectedBranchId) { var condition1 = {}; condition1.fieldName = "symoPid"; condition1.fieldStringValue = selectedBranchId; condition1.fieldType = "int"; newCondition.push(condition1); } newCondition.push({fieldName:'symoType',fieldType:'string',fieldStringValue:"button"}); $(this).addConditions(newCondition); } }); loadTreeContent(0); addBtn.bind("click", function() { if (bbbrId <= 0) { prompt("请先选择类别"); return; } $.landydialog.openByUrl({ autoOpen: false, height: 275, width: "50%", modal: true, title:"新增数据项", buttons:{ }, open:function(event, ui) { var dc = $.landydialog.getDialogContext(); $("#bbbrName", dc).val(selectedBranchName); $("#symoPid", dc).val(selectedBranchId); var symoOrder = rightGrid.jqGrid('getRowData').length; if (!symoOrder) { symoOrder = 1; } else { symoOrder++; } $("#symoOrder", dc).val(symoOrder); $("#saveModuleBtn", dc).bind("click",function() { if($("#ModuleForm",dc).validationEngine({returnIsValid:true}) == true){ var model = LandyJquery.data.getFormValues('ModuleForm',dc); model.symoBbbrId = selectedBranchId; SysModuleManager.save(model,"添加功能管理数据项", { callback : function(data) { prompt("添加成功"); updateGrid(bbbrId); LandyJquery.data.clearFormValues("ModuleForm", dc); $.landydialog.closeDialog(); },asyac:false }); }else{ prompt("录入错误"); } }); $('#cancelModuleBtn',dc).bind('click',function(){ dc.dialog("close"); }); $("#symoExcludeNames", dc).bind("click", function(){ $("#symoExcludeNamesSpan", dc).click(); }); $("#symoExcludeNamesSpan", dc).bind("click", function(){ var symoExcludeIds = $("#symoExcludeIds", dc).val(); var initSelectNodeArray = []; if (symoExcludeIds) { symoExcludeIds = symoExcludeIds.replaceAll("-",""); initSelectNodeArray = symoExcludeIds.split("|"); } var callback = function(branch) { $("#symoExcludeIds", dc).val(branch.hid); $("#symoExcludeNames", dc).val(branch.hName); }; openHospitalCategoryTree(dc, "syusLocationid", "scmhName", callback,"array","query",true, initSelectNodeArray); }); $("#clearExcludeBtn", dc).bind("click", function(){ $("#symoExcludeNames", dc).val(""); $("#symoExcludeIds", dc).val(""); }); } },"system/menu/button_add.jsp?symoId="); }); editBtn.bind('click',function(event,data){ var symoId = ""; if(isNotNull(data)&&isNotNull(data.id)){ symoId=data.id; }else{ var rid = rightGrid.getGridParam('selrow'); if(rid == null){ rid=""; } if(rid.length==0){ prompt("请选中记录"); return; } symoId=rightGrid.getRowDataByRowId(rid)['symoId']; } $.landydialog.openByUrl({ autoOpen: false, height: 300, width: "50%", modal: true, title:"编辑数据项", buttons:{ }, open:function(event, ui) { var dc = $.landydialog.getDialogContext(); $("#bbbrName", dc).val(selectedBranchName); if(isNotNull(symoId,true)){ SysModuleManager.get(symoId,{ callback:function(model){ LandyJquery.data.setFormValues('ModuleForm',model,dc); $("#bbbrName", dc).val(selectedBranchName); $("#symoPid", dc).val(selectedBranchId); } }); } $("#symoPid", dc).val(selectedBranchId); $("#saveModuleBtn", dc).bind("click",function(){ if($("#ModuleForm",dc).validationEngine({returnIsValid:true}) != true){ prompt("录入错误"); return; } var model = LandyJquery.data.getFormValues("ModuleForm",dc); SysModuleManager.save(model,"编辑功能管理数据项",{ callback:function(data){ $.landydialog.closeDialog(); updateGrid(selectedBranchId); } }); }); $('#cancelModuleBtn', dc).bind('click',function(){ dc.dialog("close"); }); $("#symoExcludeNames", dc).bind("click", function(){ $("#symoExcludeNamesSpan", dc).click(); }); $("#symoExcludeNamesSpan", dc).bind("click", function(){ var symoExcludeIds = $("#symoExcludeIds", dc).val(); var initSelectNodeArray = []; if (symoExcludeIds) { symoExcludeIds = symoExcludeIds.replaceAll("-",""); initSelectNodeArray = symoExcludeIds.split("|"); } var callback = function(branch) { $("#symoExcludeIds", dc).val(branch.hid); $("#symoExcludeNames", dc).val(branch.hName); }; openHospitalCategoryTree(dc, "syusLocationid", "scmhName", callback,"array","query",true, initSelectNodeArray); }); $("#clearExcludeBtn", dc).bind("click", function(){ $("#symoExcludeNames", dc).val(""); $("#symoExcludeIds", dc).val(""); }); } },"system/menu/button_add.jsp?symoId="+symoId); }); delBtn.bind('click',function(){ var rid = rightGrid.getGridParam('selarrrow'); var ids = []; if(rid == null){ rid=""; } for ( var i = 0; i < rid.length; i++) { ids.push(rightGrid.getRowDataByRowId(rid[i])['symoId']); } if (rid.length > 0) { LandyJquery.dialog.confirm('确认删除吗?', function() { SysModuleManager.removeAllByPk(ids, { callback : function() { prompt('成功删除' + rid.length + '条数据!'); rightGrid.landyjgrid().trigger("reloadGrid"); } }); }); } else { prompt('请选择需要删除的数据'); } }); c.bind('resizeTab',{},function(){ $(".pageContent",c).css("height",$('.tabContent:visible').height()); $("#branchZtree", c).css("height",$('.tabContent:visible').height()); rightGrid.setGridWidth($("#tableCont",c).width()); $("#queryConditions",c).height(0); rightGrid.setGridHeight($('.tabContent:visible').height()-$("#queryBut",c).height()-$("#queryConditions",c).height()-52); }); });