• EasyUI ComboTree SpringMVC


    1、涉及技术:

      EasyUI

      Spring MVC

    2、jsp前端代码:

      

    <select id="workUser" class="easyui-combotree" style="200px;"
                        data-options="url:'/csmis/csmisEquadjust/wswatree.action',required:true" multiple>
    </select>
    

    3、java后台代码

      

    public Object getWsWaTree(HttpServletRequest request, String id) {
            try {
                id = id == null ? "1" : id;//默认加载为pid为‘1’的数据,展开树会传参数id,传的id做为pid继续查询值。
                User user = User.getCurrUser(request);
                String depLevel = user.getOrgLevel();//机构级别
                String depId = depLevel.equals(OrgLevelConstants.ORG_WORKSHOP) ? user.getVcOrgId() : user.getVcParOrgId();//机构id
                String sqlStr = "select pid,id,text,state from(select t1.vc_org$id pid,t1.vc_number id,t1.vc_name text,'open' state  " +
                        " from sys_t_person t1 where t1.vc_org$id in ( " +
                        " select t.vc_org$id from sys_t_org t start with t.vc_org$id = '" + depId + "' " +
                        " connect by t.vc_par$org$id = prior t.vc_org$id)  and t1.vc_del = '0' and t1.vc_server = '" + SystemConstants.SERVER_ID + "' " +
                        " union all " +
                        " select '1' pid,t.vc_org$id id,t.vc_name text,'closed' state from sys_t_org t start with t.vc_org$id = '" + depId + "' " +
                        " connect by t.vc_par$org$id = prior t.vc_org$id and t.vc_del = '0' and t.vc_server = '" + SystemConstants.SERVER_ID + "') " +
                        " where pid = '" + id + "'";
    
                logger.info("sqlStr::: " + sqlStr);
                return jdbcTemplate.query(sqlStr, BeanPropertyRowMapper.newInstance(EasyUIComboTree.class));
            } catch (Exception ex) {
                ex.printStackTrace();
            }
            return null;
        }
    

     4、封装实体类

      

            private String id;
    	private String pid;
    	private String text;
    	private List<EasyUIComboTree> children;
    	private String state = "closed";
    

     5、数据库表数据结构及SQL

      

    1、人员表
    	VC_NUMBER 人员编号
    	VC_ORG$ID 人员所属机构
    	VC_NAME 人员名称
    
    2、组织机构表
    	VC_ORG$ID 机构编号
    	VC_PAR$ORG$ID 父机构编号
    	VC_NAME 机构名称
    
    3、具体SQL
    	select pid, id, text, state
      from (select t1.vc_org$id pid,
                   t1.vc_number id,
                   t1.vc_name text,
                   'open' state
              from sys_t_person t1
             where t1.vc_org$id in
                   (select t.vc_org$id
                      from sys_t_org t
                     start with t.vc_org$id = 'WHBUR_WHSEG_ORG_26'
                    connect by t.vc_par$org$id = prior t.vc_org$id) and t1.vc_del = '0'
            union all
            select '1' pid, t.vc_org$id id, t.vc_name text, 'closed' state
              from sys_t_org t
             start with t.vc_org$id = 'WHBUR_WHSEG_ORG_26'
            connect by t.vc_par$org$id = prior t.vc_org$id and t.vc_del = '0')
     where pid = '1'
    
     4、sql解释
     	1级默认为‘1’,根据一个二级机构编号(WHBUR_WHSEG_ORG_26),获取二级子目录及自己的机    构信息;
     	获取以上机构的所有人员;
     	其中关系形成树形结构;
    

    6、具体效果

      

    7、多选默认选中

      

    $('#workUserId').combotree({
                    onLoadSuccess: function (node,data) {
                         var t = $("#workUserId").combotree('tree');//获取tree  
                         for(var i=0;i<data.length ;i++ ){
                            node= t.tree("find",data[i].id);  
                            t.tree('expandAll',node.target);//展开所有节点  
                         }
    
                         $('#workUserId').combotree('setValues','${map.workUser}');//combotree 多选设置默认值
                    }
                });
    

      

  • 相关阅读:
    文件处理
    字符编码复习
    python小知识点复习
    计算机基础
    前端html/css/script基础
    前端(css引入的3中方式)
    (数据库之pymysql)
    Spring、Spring MVC、Struts2优缺点整理
    Java Web 高性能开发,前端的高性能
    HDFS的工作原理扫扫盲
  • 原文地址:https://www.cnblogs.com/huanzei/p/6383238.html
Copyright © 2020-2023  润新知