角色表tb_role,这个表用于存取系统中的角色
字段 类型 默认值 备注     
COL_ID VARCHAR2(50) 角色主健
COL_ROLENAME Varchar2(50) 角色名字
COL_MEMO Varchar2(50) 说明,用于这种角色的说明
COL_OWNER VARCHAR2(50) 创建人
COL_CREATETIME DATE sysdate 创建时间
COL_UPDATETIME date sysdate 修改时间 tb_userByrole表,用于存取用户和角色的关系
字段 类型 默认值 备注   审核人
COL_ID VARCHAR2(50) tb_userByrole表主健
COL_USERID VARCHAR2(50) 这个是用户的id
COL_ROLEID VARCHAR2(50) 用于存取这个用户所对应的角色 .模块表(tb_module) ,这个表用于存取系统中模块对应的路径
字段 类型 默认值 备注
COL_ID VARCHAR2(50) id号
COL_NAME VARCHAR2(100) 模块名称
COL_MEMO VARCHAR2(1000) 备注
COL_INDEX NUMBER(5) 这个字段可以用来以后同级别的模块可以换前后顺序
COL_OWNER VARCHAR2(50) 创建者
COL_CREATETIME DATE sysdate 创建日期
COL_UPDATETIME DATE sysdate 更新日期
COL_STATUS VARCHAR2(1) ‘0’ 状态 在增加三个字段
COL_PATH VARCHAR2(200) 这个字段用于存取该模块对应的路径
COL_PARENTID VARCHAR2(50) 这个用于存取它的父节点
COL_DEPTH NUMBER(5) 这个字段表示节点的深度,从0开始往后加
tb_roleModule表,用于存取角色和模块表 tb_module 的关系
字段 类型 默认值 备注
COL_ID VARCHAR2(50)     tb_roleModule表主健
COL_ROLEID VARCHAR2(50) 这个对应相应的角色
COL_COLID VARCHAR2(50) 这个对应相应的模块表的id
COL_RIGHTS VARCHAR2(50) 增(0)删(1)改(2)查(3)审核(4)权限
tb_roleModule表 这个表为了减少数据的冗余,所以在存数据的过程中老板只能要我们在这个表中存叶子树的根和父节点只能到模块表(tb_module)中去加载,这样一来就导致了在加载这棵树的时间只能从叶子开始加载      现在的要求就是要从叶子开始加载  或者那个能给一种算法能解决这个问题   我在网上找了许多的果js控件都是 从根开始加载的树控件    那个能给我一个从叶子开始加载的控件    100分送上   谢谢

解决方案 »

  1.   

    dTree.prototype.mix=function(){
          var after= this.getCheckedNodes();
          var savedata = after;
          var array = [];
          for(var i=0;i<after.length;i++){
               for (var j=0;j<this.aNodesData.length;j++){
            var oneNode=this.aNodesData[j];
                if(oneNode.id == after[i]) {
                    for(var n=0;n<savedata.length;n++){
                           if(oneNode.pid == savedata[n]){
                              array[array.length] = after[i];
                              break;
                            }   
                    }
                    break; 
                }
          }
          }
    for(var j=0;j<array.length;j++){
       for(var i=0;i<after.length;i++){
           if(array[j] == after[i]){
           after.splice(i, 1);
           break;
       }
     }
    }
          return after;
    }
    //去掉所有没有叶子节点的节点
    dTree.prototype.rid=function(){
          var array = [];
          DWREngine.setAsync(false);
           for (var j=0;j<this.aNodesData.length;j++){
            var oneNode=this.aNodesData[j];
                  ZoneDwr.queryLeafage(oneNode.id,function callback(data){
                  if(data && "0"!= oneNode.id) array[array.length] = oneNode.id;
                  });
          }
      DWREngine.setAsync(true); alert(array);
        if(0<array.length){
           for(var k=0;k<array.length;k++){
                for (var j=0;j<this.aNodesData.length;j++){
                 var oneNode=this.aNodesData[j];
                     if(oneNode.id == array[k]) {this.aNodesData.splice(j,1);break;}
            }
           }
        }  
    }