EasyUI ComboTree SpringMVC

1、涉及技术:

  EasyUI

  Spring MVC

2、jsp前端代码:

  

<select id="workUser" class="easyui-combotree" style="width: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、具体效果

  

  

时间: 2024-10-21 02:35:26

EasyUI ComboTree SpringMVC的相关文章

EasyUI ComboTree数据绑定树形分类显示

承接上篇博文[LINQ获取树形分类的层数].在上文中,笔者只分享了层数,在这里我把完整的实现贴出来,欢迎批评指正. 先附上效果图: 首先是Tree公共类 public class Tree { public int ModuleID { get; set; } public int ParentID { get; set; } public int ModulePath { get; set; } public string ModuleName { get; set; } } 接下来就是Tre

easyui combotree不让父级选中

easyui combotree不让父级选中? <ul id="combotree"></ul> $(function () { $("#combotree").combotree({ width: 300, data: [{ "id": 1, "text": "My Documents", "children": [{ "id": 11, &

表单(上)EasyUI Form 表单、EasyUI Validatebox 验证框、EasyUI Combobox 组合框、EasyUI Combo 组合、EasyUI Combotree 组合树

EasyUI Form 表单 通过 $.fn.form.defaults 重写默认的 defaults. 表单(form)提供多种方法来执行带有表单字段的动作,比如 ajax 提交.加载.清除,等等.当提交表单时,调用 'validate' 方法来检查表单是否有效. 用法 创建一个简单的 HTML 表单.构建表单并给 id.action.method 赋值. <form id="ff" method="post"> <div> <lab

EasyUI Combotree只选择叶子节点

EasyUI Combotree的方法拓展自Combo和Tree.而Tree有一个onBeforSelect事件来帮助我们实现只选择叶子节点的功能. Tree事件需要 'node' 参数,它包括下列属性: id:绑定到节点的标识值. text:要显示的文本. iconCls:用来显示图标的 css class. checked:节点是否被选中. state:节点状态,'open' 或 'closed'. attributes:绑定到节点的自定义属性. target:目标的 DOM 对象. onB

解决Easyui Combotree的SetValue方法无效

今天在写代码的时候,遇到个很奇怪的问题: $('#department_parent').combotree('setValue', row.id); AjaxForProvince(); $('#province').combobox('setValue', row.province_id); AjaxForCity(row.province_id); $('#city').combobox('setValue', row.city_id); AjaxForZone(row.city_id);

Jquery EasyUI Combotree根据选中的值展开所有父节点

Jquery EasyUI Combotree根据选中的值展开所有父节点  Jquery EasyUI Combotree 展开父节点, Jquery EasyUI Combotree根据子节点选中的值,展开前面所有父节点, Jquery EasyUI Combotree获取选中的值 ================================ ?Copyright 蕃薯耀 2018年5月7日 http://www.cnblogs.com/fanshuyao/ 一.Combotree获取父节

easyui combotree combobox 使用例子

一:引入easyui 二:使用例子 <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <link href="Resurces/themes/easyui.css" rel="stylesheet" /> <link href="Resur

easyui.combotree.search.js

(function ($) { //combotree可编辑,自定义模糊查询 $.fn.combotree.defaults.editable = true; $.extend($.fn.combotree.defaults.keyHandler, { query: function (q) { var t = $(this).combotree('tree'); t.tree("search", q); } }); $.extend($.fn.tree.methods, {     

EasyUI ComboTree(树形下拉框) 简单实例

前台: <input id="cc">   <script type="text/javascript"> $('#cc').combotree({ required: true }).combotree("tree").tree({ url: 'tree.ashx?id=0&state=closed', checkbox: false, onBeforeExpand: function (node, param)