JimmyJin
          走在架構(gòu)師的大道上,學(xué)習(xí)的樂趣就在于將知識應(yīng)用于具體實踐中,在實戰(zhàn)中實現(xiàn)知識的價值。
          posts - 4,comments - 0,trackbacks - 0

          public class TProjectSub 
          { private String id;// 項目子項id
           private String project;// 業(yè)務(wù)流水號
           private String projectSubName;// 子項目名稱
           private String projectCode;//項目編號
          ...
          }
          ViewAction.class
          public ActionForward execute(ActionMapping actionMapping,
             ActionForm actionForm, HttpServletRequest request,
             HttpServletResponse response) throws Exception {
          ... 
          request.setAttribute("projects", subProjects);
          }
          <script type="text/javascript">
             
          function subproject(id,pid,name,code){
           this.id=id;
           this.pid=pid;
           this.name=name;
           this.projectCode=code;
           
          }

          subproject.prototype.toString=function(){
           alert("name===>"+this.name+" id===>"+this.id+"  pid=>"+this.pid);

          var demo=new Array();
            
          <c:forEach var="item" items="${projects}">
           var project=new subproject
            (
             '<c:out value="${item.id}"/>',
             '<c:out value="${item.project}"/>',
             '<c:out value="${item.projectSubName}"/>',
             '<c:out value="${item.projectCode}"/>'
            );
           demo.push(project);
          </c:forEach>

          var res="";
          function treeNode(array,bean,tree,code){
           var codeId=code;
          //  var a =new WebFXTreeItem(bean.name,"javaScript:showDiv(this,"+"'"+bean.id+"','"+bean.pid+"');");
          for(var j=0;j<array.length;j++){
            var sub=demo[j];
          // var b =new WebFXTreeItem(sub.name,"javaScript:showDiv(this"+",'"+sub.id+"','"+sub.pid+"');");
            if(sub.pid==bean.id){
             var b ="var b"+sub.id+"=new WebFXTreeItem('"+sub.name+"',";
               b+="\"";
               b+="javaScript:showDiv(this,";
               b+="'"+sub.id+"',";
               b+="'"+sub.pid+"');\");";
             
             if(sub.pid=='<c:out value="${topTreeId}"/>'){
              res+=b;
              res+="tree.add(b"+sub.id+");";
              codeId="b"+sub.id;
             }else{

             if(res.indexOf(codeId)<0){
              var a ="var "+codeId+"=new WebFXTreeItem('"+bean.name+"',";
               a+="\"";
               a+="javaScript:showDiv(this,";
               a+="'"+bean.id+"',";
               a+=""+bean.pid+"');\");";
               res+=a;
              }

             var b ="var a"+sub.id+"=new WebFXTreeItem('"+sub.name+"',";
               b+="\"";
               b+="javaScript:showDiv(this,";
               b+="'"+sub.id+"',";
               b+="'"+sub.pid+"');\");"; 
               res+=b;

            if(res.indexOf(("a"+sub.pid))>-1){
             codeId="a"+sub.pid;
            }
               res+=""+codeId+".add(a"+sub.id+");";
               if(sub.pid!=codeId.substr(1,codeId.length)){
                codeId="a"+sub.id;
               }
             }
             treeNode(array,sub,tree,codeId);
            } 
           }  
             return res;
          }

           


          if (document.getElementById) {
           var tree = new WebFXTree('<c:out value="${topTreeName}"/>',"javaScript:showDiv(this,'<c:out value="${topTreeId}"/>','-1','');");
           tree.setBehavior('classic');
            var bean=new subproject
             (
              '<c:out value="${topTreeId}"/>',
              '-1',
              '<c:out value="${topTreeName}"/>'
             );
           eval(treeNode(demo,bean,tree,""));


          //實際
           document.write(tree);
          }
           

          var ID,parentID,projectCode,temp;

          function addCallBack(data)//data是后臺返回的值,名字自取,也可省略,因為JS允許
             {
               if(data>0){
             alert("子項目分解成功 "); //處理方法……;如果callBack()沒有寫明返回值,可以通過argments[0]拿到
             tree.getSelected().add(new WebFXTreeItem(dwr.util.getValue("projectSubName"),"javaScript:showDiv(this,"+"'"+ID+"','"+parentID+"','"+projectCode+"');"));
                closeDiv();
                tree.getSelected().expand(); 
           }else{
                alert("子項目分解失敗");
           }
            
             }

           function editCallBack(data){
           //處理方法……;如果callBack()沒有寫明返回值,可以通過argments[0]拿到
           if(data>0){
            alert("項目修改成功");
            document.getElementById(tree.getSelected().id+"-anchor").innerHTML=dwr.util.getValue("projectSubName");
              closeDiv();
           
           }else{
           alert("項目修改失敗");
           }
           }

          function delCallBack(data){

           if(data>0){
            alert("有子節(jié)點,不允許刪除"); 
           }else{
            alert("刪除成功");
            if (tree.getSelected()) {
             tree.getSelected().remove();
             closeDiv();
             }
           };
          }

          function addNode() {
          var pname=dwr.util.getValue("projectSubName");
          alert(pname);

           if (tree.getSelected()) {
            var level;
            if(tree.getSelected().text=='<c:out value="${topTreeName}"/>'){
              level=1;
              projectCode="none";
               }else{
               level=tree.getSelected()._level+1;
             }
           var totalChildren=tree.getSelected().childNodes.length;
           
           if(totalChildren>=1){  
            var sAction=tree.getSelected().childNodes[totalChildren - 2].action;
            projectCode=sAction.substr(24,20);
           }  
             
            if(level>=3){
             alert("最多只能分為3個層級");
            }else{ 
             alert("ID"+ID);
                  // alert("parentID=>"+ID+" projectCode=>"+projectCode+" level"+level);
               zdxmfjDeal.doAdd(pname,ID,projectCode,level,addCallBack); 
               }
           }
          }

          function editNode() {
           if (tree.getSelected()) {
               zdxmfjDeal.doEdit(ID,dwr.util.getValue("projectSubName"),editCallBack);//回調(diào)函數(shù)callBack()
            }
          }

          function delNode() {
          zdxmfjDeal.doDelChild(ID,delCallBack);
          }


          function showDiv(obj,id,pid,code) {
           ID=id;
           parentID=pid;
           projectCode=code;
           // alert(id+ " parentID" +pid+"projectCode"+code)
           document.all.inputNameDiv.style.display="";
           document.all.projectSubName.value="";
           document.all.inputNameDiv.style.top=document.getElementById(tree.getSelected().id+"-anchor").offsetTop+15;
           document.all.inputNameDiv.style.left=document.getElementById(tree.getSelected().id+"-anchor").offsetLeft;

          }
          function closeDiv() {
           document.all.inputNameDiv.style.display="none";
          }

          </script>

          posted on 2009-09-04 10:22 jimmy2009 閱讀(511) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 宁乡县| 罗定市| 江山市| 松桃| 邮箱| 齐河县| 旬邑县| 瓦房店市| 唐海县| 安徽省| 博白县| 葫芦岛市| 余干县| 闸北区| 临沭县| 固镇县| 锡林郭勒盟| 龙岩市| 临漳县| 宜君县| 信阳市| 喀喇沁旗| 昌平区| 望城县| 湖州市| 澄城县| 阳山县| 西乌珠穆沁旗| 临海市| 全州县| 宣化县| 永安市| 安龙县| 体育| 南皮县| 松江区| 鹤岗市| 桐庐县| 渑池县| 瓮安县| 同德县|