EOS学习四

<script>
    var mainflow = "com.primeton.example.orgtree.OrgManager.flow?_eosFlowAction=";
    var tstr = "&_ts="+(new Date()).getTime();
    //防止IE缓存,在每次打开时加个时间差的参数,并且可以作为判断是否弹出窗口的标志
    
    //初始化
    eventManager.add(window,"load",custInit);
    //--初始化树的高度-------------------------------------
	function custInit(){
        var height = document.body.clientHeight - 22;
        var tree = $id("orgTree");
		tree.style.height =height;		
	}
    //移动做的准备工作
    
    var isMoveOrCopy = null;    
    function getMoveInitParam(){
      return "<act>"+isMoveOrCopy+"</act>";
    }
    function _nmCallBack(m,mt){
       function callbackImpl(arg){
           if( arg == "cancel" ) {
               isMoveOrCopy = null ;
	        }else{    
	           isMoveOrCopy = arg;
	           $id("orgTree").moveNode(m, mt);
	        }
           
       }
       return callbackImpl;
    }
    function getInitParam(){
      $id("orgTree").beforeMove = function(m,mt) {
		     var url = mainflow+"options"+tstr;
		     showModalCenter(url, "", _nmCallBack(m,mt), 280, 120, '移动方式选择'); 	   	     
		     return ret;
	    }
     return "";
	}
    
	function callBack(){
	    $id("orgTree").getSelectNode().reloadChild();
	}
    
    
    //增加节点
    function addOrg(node){
        var param = "";
        var orgid = node.getProperty("orgid");
        if(!node.isRootNode()){
           param+="&org/organization/orgid="+orgid;
        } 
        pop("orgInfo",param,"增加子机构");
    }
    function addPos(node){
        var param ="";        
        var orgid = node.getProperty("orgid");
        var positionid = node.getProperty("positionid");
        if(positionid==null||positionid==''){   
           param+="&pos/organization/orgid="+orgid;
        }else{
           param+="&pos/position/positionid="+positionid;
        }
        pop("posInfo",param,"增加子岗位");
    }
     function addEmp(node){
        var param = "";     
        var orgid = node.getProperty("orgid");
        var positionid = node.getProperty("positionid");
        if(positionid==null||positionid==''){   
           param+="&partytype=organization&partyid="+orgid;
        }else{
           param+="&partytype=position&partyid="+positionid;
        }
        pop("empInfo",param,"增加人员");
    }
    //往岗位上增加人员
    function addEmpToPos(node){
        var param="&pos/positionid=";       
        var positionid = node.getProperty("positionid");
        var orgid = node.getProperty("organization/orgid");              
            param+=positionid+"&pos/organization/orgid="+orgid;      
            pop("assignEmps",param,"增加人员");
    }
    //删除节点
    function removeNode(node){
        if(confirm("确定要删除此节点?选择删除所有子节点将被删除!取消则放弃删除!"))
        var orgObj = node.getParent();
        var empid = node.getProperty("empid");
        var positionid = node.getProperty("positionid");
        var orgid = node.getProperty("orgid");
        var pposid = orgObj.getProperty("positionid");
        var porgid = orgObj.getProperty("orgid");
        var ajax = new Ajax("com.primeton.example.orgtree.OrgTree.removeNode.biz");        
        if(empid!=null&&empid!=''){
           ajax.addParam("id",empid);
           ajax.addParam("type","employee")
        }else if(positionid!=null&&positionid!=''){
           ajax.addParam("id",positionid);
           ajax.addParam("type","position")
        }else{
           ajax.addParam("id",orgid);
           ajax.addParam("type","organization")
        }
        
        if(pposid!=null&&pposid!=''){  
           ajax.addParam("parentid",pposid);
           ajax.addParam("parenttype","position");         
        }else{
          ajax.addParam("parentid",porgid);
          ajax.addParam("parenttype","organization");         
        }
        ajax.submit();
        if(ajax.isSuccess() && ajax.getValue("root/data/ret")>=0){
            reloadSubNode(orgObj);
            alert("删除成功!");            
        }else{
            alert("删除失败!");
        }
    }
    
     //刷新
	function reloadSubNode(node){
		node.reloadChild();
	}
	function show(act,params){
	     var url = mainflow+act;
	     if(params!=null){ 
	        url +=params; 
	     }
	     $id("info").src = url; 
 	}
 	function pop(act,params,title){
 	   var url = mainflow + act +tstr+params;     
 	   showModalCenter(url,window,callBack,570,400,title);
 	}
    //点击节点
    function orgInfo(node){
        show("orgInfo","&org/orgid="+node.getProperty("orgid"));
    }
    
    function posInfo(node){
        show("posInfo","&pos/positionid="+node.getProperty("positionid"));
    }
    
    function empInfo(node){
        show("empInfo","&emp/empid="+node.getProperty("empid"));
    }
</script>

在jsp前台使用Ajax技术的代码

在节点上没有传递数据,使用node.getProperty("字段名称")

在页面上操作 使用异步方式进行页面操作  可以减少页面等待时间

在前台进行JS操作后,需要使用构件进行DB操作

使用show和showModelCenter进行显示时,要注意显示的位置不同,所传递的参数也不相同。如果显示在同一页面的话,要使用iframe进行控制显示


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值