组织机构树

实体类

public class TreeVO {

    private String id;
    private String text;
    private String state;
    private String parentId;
    private Map<String, Object> attributes;// 其他参数
    private List<TreeVO> children = new ArrayList<TreeVO>();
    private boolean checked;

Action :

    public String companyUI(){
        List list = new ArrayList();
        list = findOrgTreeList();
        JSONArray jsonArray = JSONArray.fromObject(list);
        System.out.println(list.toString()+"====="+jsonArray);
        request.setAttribute("orgTreeList", jsonArray.toString());
        return "companyUI";
    }

public List findOrgTreeList() {
        List<TreeVO> tree = new ArrayList<TreeVO>();
        try {
            String puuid = UserUtil.getPersonUuid();
            Map person = getPersonOrg(puuid);
            String unitCode = "";
            String unitName = "";
            unitCode = (String) person.get("UNIT_CODE");
            unitName = (String) person.get("UNIT_NAME");
            
            TreeVO vo = new TreeVO();
            vo.setId(unitCode);
            vo.setText(unitName);
            vo.setChecked(false);
            List<TreeVO> children = findOrgTreeChildList(unitCode);
            if (children!=null&&children.size() > 0) {
                vo.setState("closed");
                vo.setChildren(children);
            } else {
                vo.setState("opened");
            }
            tree.add(vo);
        } catch (Exception e) {
            LogUtil.error(e);
            e.printStackTrace();
        }
        return tree;
    }

 

private List<TreeVO> findOrgTreeChildList(String orgCode) {
        List<Map> list = getOrg(orgCode);
        List<TreeVO> tree = new ArrayList<TreeVO>();
        for (Map m : list) {
            String c_orgCode = m.get("ORG_CODE").toString();
            String c_orgName = m.get("ORG_NAME").toString();
            TreeVO vo = new TreeVO();
            vo.setId(c_orgCode);
            vo.setText(c_orgName);
            vo.setChecked(false);
            List<TreeVO> children = findOrgTreeChildList(c_orgCode);
            if (children!=null&&children.size() > 0) {
                vo.setState("closed");
                vo.setChildren(children);
            } else {
                vo.setState("opened");
            }
            tree.add(vo);
        }
        return tree;
    }

 

 

BaseAction:

/** 调用例子:
        List list = getOrg("10340001");
     */
    public List getOrg(String parentOrgCode){
        List list = null;
        try{
            list = sqlSessionTemplate.selectList("BaseBean.getOrg",parentOrgCode);
        }catch(Exception ex){
            LogUtil.error(ex);
        }
        return list;
    }

jsp

 

<!-- 组织机构树选择 -->
        <textarea id="orgTreeList" style="display:none;">${orgTreeList }</textarea>
        <input type="hidden" id="orgCode" />
        <input type="hidden" id="orgName" />

 

<td align="left" width="210px;" >&nbsp;省(市):
                            <input id="orgTree" style="width:150px;height:32px;vertical-align: middle;"/> 
                        </td>

js

/*组织结构树*/
function _initOrgTree(data) {
    //alert(data);
    
    var isFirst = true;
    $('#orgTree').combotree({
        panelHeight:'160',
        panelWidth:'160',
        data:data,
        onLoadSuccess:function(node, data) {
            if(isFirst){
                var root = $("#orgTree").combotree('tree').tree('getRoot');
                $('#orgTree').combotree('setValue',root.id);
                isFirst = false;
                
                _initDataGrid();
            }
        },
        onSelect:function(node) {
            $('#orgCode').val(node.id);
            $('#orgName').val(node.text);
        }
    });
}

function _initDataGrid(){
    //初始化datagrid数据
    $('#tt').datagrid({
        queryParams: {
            orgCode:$('#orgCode').val(),
            companyName:$('#companyName').val(),
            companyClassify:$('#companyClassify').combobox('getValue')
            //companyType:$('#companyType').combobox('getValue')
        }
    });
}

 

数据库

<select id="getOrg" parameterType="string" resultType="java.util.HashMap">
        select org_code,parent_org_code, org_name,org_type, org_type_name,orgLevelCode
        from n_m_org
        where parent_org_code = #{parentOrgCode} AND ORG_TYPE = '1' and org_level in ('0','1','2')
        order by org_code
    </select>

 

 

效果图:http://pan.baidu.com/s/1kVnv5pP

转载于:https://my.oschina.net/u/3053442/blog/823277

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值