248 lines
8.1 KiB
JavaScript
248 lines
8.1 KiB
JavaScript
var sysrootid=103;
|
||
//
|
||
$(function(){
|
||
initloyout();
|
||
//控制编辑面板,默认为编辑根节点
|
||
setEditPanel("root");
|
||
//载入树形菜单的数据
|
||
$().SoapAjax("Depart","DepartOrder",{result:""},funcc,loading,unloading);
|
||
});
|
||
//页面初始化布局
|
||
function initloyout(){
|
||
$("input[type='text']").addClass("TextBox");
|
||
//$("textarea").addClass("TextBox");
|
||
//页面可控布局
|
||
var cont=$(".pageWinContext");
|
||
//左侧菜单树区域
|
||
var left=$("#MenuTreePanel");
|
||
var h=document.documentElement.clientHeight;
|
||
left.height(h-120);
|
||
//右侧编辑区域
|
||
var right=$("#Panel");
|
||
var h=document.documentElement.clientHeight;
|
||
right.height(h-153);
|
||
|
||
//右侧编辑区事件
|
||
$("#EditPanelTitle div").click(function(){
|
||
var type=$(this).attr("type");
|
||
//设置权限
|
||
if(type=="purview"){
|
||
var target=$(this).attr("target");
|
||
var id=$(this).attr("id");
|
||
if(id=="purviewTitle"){
|
||
OpenWin(target+"?id="+$(this).attr("nodeId")+"&type=depart","设置院系管理权限",1024,600);
|
||
return;
|
||
}
|
||
if(id=="artPurTitle"){
|
||
OpenWin(target+"?id="+$(this).attr("nodeId")+"&type=depart","设置院系文章编辑权限",90,90);
|
||
return;
|
||
}
|
||
}
|
||
setEditPanel(type);
|
||
});
|
||
//保存按钮
|
||
$("input[name$='btnEnter']").click(function(){
|
||
//提交编辑数据
|
||
UpdateNodeEvent();
|
||
return false;
|
||
});
|
||
|
||
}
|
||
//数据载入完成后的事件
|
||
//data:完整数据源,webservice输出
|
||
function funcc(data){
|
||
window.treeDataSource=data;
|
||
var tree=new Tree("#MenuTreePanel");
|
||
Tree.RootClick=editroot;
|
||
Tree.NodeClick=editNode;
|
||
//
|
||
Tree.RootId=sysrootid;
|
||
Tree.onChangeOrder=changeOrder;
|
||
Tree.onDelNode=delNode;
|
||
//生成菜单
|
||
tree.BuildMenu(data);
|
||
//$("#MenuTreePanel").html(rootHtml);
|
||
editroot();
|
||
}
|
||
//点击根节点
|
||
function editroot(){
|
||
$("#MenuEditPanel").find("#addNodeParent").text("无(顶级)");
|
||
var tit=$("#editTitle");
|
||
tit.hide();
|
||
var tit=$("#purviewTitle");
|
||
tit.hide();
|
||
$("#artPurTitle").hide();
|
||
setEditPanel("add");
|
||
}
|
||
//点击子节点时
|
||
function editNode(node){
|
||
var data=window.treeDataSource;
|
||
var panel=$("#MenuEditPanel");
|
||
var id=node.attr("nodeId");
|
||
//“编辑”选项卡显示
|
||
$("#editTitle").show();
|
||
$("#purviewTitle").show();
|
||
$("#artPurTitle").show();
|
||
$("#purviewTitle").attr("nodeId",id);
|
||
$("#artPurTitle").attr("nodeId",id);
|
||
var edit=$("#EditPanel");
|
||
setEditPanel("edit");
|
||
var nodes=data.find("Depart");
|
||
nodes.each(function(){
|
||
var n=Number($(this).find("Dep_Id").text().toLowerCase());
|
||
//生成当前菜单节点的节点对象
|
||
if(n==id)node=new Node($(this),data);
|
||
});
|
||
//当前节点信息
|
||
panel.find("span[edit='id']").text(node.Id);
|
||
panel.find("span[edit='pid']").text(node.PatId);
|
||
panel.find("span[edit='tax']").text(node.Tax);
|
||
panel.find("span[edit='addpid']").text(node.Id);
|
||
panel.find("input[name='name']").val(node.Name);
|
||
panel.find("#addNodeParent").text(node.Name);
|
||
panel.find("input[name='CnAbbr']").val(node.CnAbbr);
|
||
panel.find("input[name='enname']").val(node.EnName);
|
||
panel.find("input[name='EnAbbr']").val(node.EnAbbr);
|
||
panel.find("input[name='code']").val(node.Code);
|
||
panel.find("textarea[name='func']").text(node.Intro);
|
||
var cbshow=panel.find("input[type='checkbox'][name='cbIsShow']");
|
||
node.IsShow ? cbshow.prop("checked","checked") : cbshow.removeAttr("checked");
|
||
var cbuse=panel.find("input[type='checkbox'][name='cbIsUse']");
|
||
node.IsUse ? cbuse.prop("checked","checked") : cbuse.removeAttr("checked");
|
||
panel.find("input[name='phone']").val(node.Phone);
|
||
panel.find("input[name='fax']").val(node.Fax);
|
||
panel.find("input[name='email']").val(node.Email);
|
||
panel.find("input[name='msn']").val(node.Msn);
|
||
panel.find("input[name='WorkAddr']").val(node.WorkAddr);
|
||
//当前节点父节点信息
|
||
var p=new Node(node.Parent,data);
|
||
panel.find("#editNodeParent").text(p.Id==0 ? "无(顶级)" : p.Name);
|
||
}
|
||
//开始载入时的预载
|
||
function loading(){
|
||
$("#loadingBar").show();
|
||
var mask=$("#screenMask");
|
||
mask.remove();
|
||
mask=null
|
||
delete mask;
|
||
var html="<div id=\"screenMask\"/>";
|
||
$("body").append(html);
|
||
mask=$("#screenMask");
|
||
mask.css("position","absolute").css("z-index","100");
|
||
var h=document.documentElement.clientHeight;
|
||
mask.css("width","100%").css("height",h-0);
|
||
mask.css("top",0).css("left",5);
|
||
mask.css("background-color","#ffffff");
|
||
mask.css("filter","Alpha(Opacity=60)");
|
||
mask.css("display","block");
|
||
mask.css("-moz-opacity",0.6);
|
||
mask.css("opacity",0.6);
|
||
mask.fadeIn("slow");
|
||
}
|
||
//载入完成后,清除预载效果
|
||
function unloading(){
|
||
$("#screenMask").remove();
|
||
$("#loadingBar").hide();
|
||
}
|
||
//控制编辑面板的事件
|
||
//pevent:"edit"为编辑节点,"add"为新增
|
||
function setEditPanel(pevent){
|
||
//编辑区面板
|
||
var panel=$("#MenuEditPanel #Panel");
|
||
panel.children().hide();
|
||
var edit=$("#EditPanel");
|
||
var add=$("#AddPanel");
|
||
$("#EditPanelTitle").children().removeClass("click");
|
||
switch(pevent){
|
||
case "edit":
|
||
add.hide();
|
||
edit.show();
|
||
$("#EditPanelTitle div[type='edit']").addClass("click");
|
||
break;
|
||
case "add":
|
||
edit.hide();
|
||
add.show();
|
||
$("#EditPanelTitle div[type='add']").addClass("click");
|
||
break;
|
||
}
|
||
}
|
||
//修改节点信息的事件方法
|
||
function UpdateNodeEvent(){
|
||
var xml="";
|
||
//如果是编辑状态
|
||
if($("#EditPanel").is(":visible")!=false){
|
||
//修改子节点信息
|
||
if($("#name").val()==""){
|
||
alert("名称不得为空!");
|
||
$("#name").focus();
|
||
return;
|
||
}
|
||
xml = encodeURIComponent(updateNode());
|
||
$().SoapAjax("Depart","DepartUpdate ",{result:xml},funcc,loading,unloading);
|
||
}
|
||
//增加节点信息
|
||
if($("#AddPanel").is(":visible")!=false){
|
||
if($("#addname").val()==""){
|
||
alert("名称不得为空!");
|
||
$("#name").focus();
|
||
return;
|
||
}
|
||
xml = encodeURIComponent(addNode());
|
||
$().SoapAjax("Depart","DepartAdd",{result:xml},funcc,loading,unloading);
|
||
}
|
||
return false;
|
||
}
|
||
//递交子节点信息
|
||
function updateNode(){
|
||
var panel=$("#MenuEditPanel");
|
||
//结果
|
||
var tmp = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>";
|
||
tmp+="<node type=\"edit\" id=\""+$("span[edit='id']").text()+"\" >";
|
||
tmp+="<name>"+$("#name").val()+"</name>";
|
||
tmp+="<CnAbbr>"+$("#CnAbbr").val()+"</CnAbbr>";
|
||
tmp+="<enname>"+$("#enname").val()+"</enname>";
|
||
tmp+="<EnAbbr>"+$("#EnAbbr").val()+"</EnAbbr>";
|
||
tmp+="<code>"+$("#code").val()+"</code>";
|
||
tmp+="<IsShow>"+panel.find("input[type='checkbox'][name='cbIsShow']").prop("checked")+"</IsShow>";
|
||
tmp+="<IsUse>"+panel.find("input[type='checkbox'][name='cbIsUse']").prop("checked")+"</IsUse>";
|
||
tmp+="<func><![CDATA["+panel.find("textarea[name='func']").text()+"]]></func>";
|
||
tmp+="<phone>"+$("#phone").val()+"</phone>";
|
||
tmp+="<fax>"+$("#fax").val()+"</fax>";
|
||
tmp+="<email>"+$("#email").val()+"</email>";
|
||
tmp+="<msn>"+$("#msn").val()+"</msn>";
|
||
tmp+="<WorkAddr>"+$("#WorkAddr").val()+"</WorkAddr>";
|
||
tmp+="</node>";
|
||
return tmp;
|
||
}
|
||
//递交新增子节点信息
|
||
function addNode(){
|
||
var panel=$("#MenuEditPanel");
|
||
//结果
|
||
var tmp = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>";
|
||
tmp+="<node type=\"add\" id=\"-1\" >";
|
||
tmp+="<name>"+$("#addname").val()+"</name>";
|
||
tmp+="<pid>"+panel.find("span[edit='addpid']").text()+"</pid>";
|
||
tmp+="<CnAbbr>"+$("#addCnAbbr").val()+"</CnAbbr>";
|
||
tmp+="<enname>"+$("#addenname").val()+"</enname>";
|
||
tmp+="<EnAbbr>"+$("#addEnAbbr").val()+"</EnAbbr>";
|
||
tmp+="<code>"+$("#addcode").val()+"</code>";
|
||
tmp+="<IsShow>"+panel.find("input[type='checkbox'][name='addcbIsShow']").prop("checked")+"</IsShow>";
|
||
tmp+="<IsUse>"+panel.find("input[type='checkbox'][name='addcbIsUse']").prop("checked")+"</IsUse>";
|
||
tmp+="<func><![CDATA["+panel.find("textarea[name='addfunc']").text()+"]]></func>";
|
||
tmp+="<phone>"+$("#addphone").val()+"</phone>";
|
||
tmp+="<fax>"+$("#addfax").val()+"</fax>";
|
||
tmp+="<email>"+$("#addemail").val()+"</email>";
|
||
tmp+="<msn>"+$("#addmsn").val()+"</msn>";
|
||
tmp+="<WorkAddr>"+$("#addWorkAddr").val()+"</WorkAddr>";
|
||
tmp+="</node>";
|
||
return tmp;
|
||
}
|
||
//更改顺序
|
||
function changeOrder(res){
|
||
$().SoapAjax("Depart","DepartOrder",{result:res},funcc,loading,unloading);
|
||
}
|
||
//删除节点
|
||
function delNode(res)
|
||
{
|
||
$().SoapAjax("Depart","DepartDel",{result:res},funcc,loading,unloading);
|
||
} |