1. 功能介绍

    实现区域树的选择,让用户灵活选择他可以访问到的区域,可以和部门树,员工查询组件组合使用来实现权限控制,也可以自定义区域树,而不用该组件方式。

  2. 参数说明

    参数名 参数类型 是否必须 默认值 描述
    value java.lang.String   默认为当前登录区域 地区编码
    textName java.lang.String   默认是POP_控件名 描述值名称,默认是POP_控件名
    root java.lang.String   当前登陆区域 弹出区域树形控件时指定的区域根结点
    depatName java.lang.String     弹出区域树形控件绑定的部门组件名称
    staffName java.lang.String     弹出区域树形控件绑定的部门组件名称
    beforeAction java.lang.String     弹出窗口前执行的javascript方法;
    afterAction java.lang.String     弹出窗口后执行的javascript方法;
    opean boolean   按权限获取数据 是否开放权限,默认按权限获取数据
    readOnly boolean     如果是true,则为只读,不能修改,如果是false,则可以修改
    disabled boolean     如果是true,则不能修改,不能修改,如果是false,则可以修改
    fieldName java.lang.String     自定义控件名,若设置了该参数,jwcid=name@..的名称不生效,适合在foreach自定义名称或重名组件使用
    skin java.lang.String     风格定义,默认通过统一配置风格
    editable boolean     是否可编辑,默认控件的显示框是只读的,虽然是可编辑,但该组件还是会有隐藏框和显示框
    enterAction java.lang.String     绑定回车事件,一般需要editable="true"时,在输入框输入值回车后触发的事件,如enterAction="alert('keydown')"
    showImg boolean   true 是否加载图标
    holdAction boolean   false 是否保留图标的动作,通过点击输入框触发
    dataMode java.lang.String simple|sqlstore simple 数据模式,默认为框架提供.若指定为sqlstore,则通过TD_S_SQLSTORE表执行相应的SQL来生成区域树数据
    sqlRef java.lang.String   false 当dataMode为sqlstore时,该参数有效.该值为TD_S_SQLSTORE里的SQL_REF字段;SQL_STMT字段值需参数后面的示例
    source java.lang.Object(目前支持IData|List对象)     参数集,如执行sqlRef所需的参数
  3. 注意事项

    1. 与弹出控件无关的弹出窗口或单独的树形控件页面(调用org.AreaTree的loadAreaTree方法即可)
      如:<input type="text" jwcid="AREA_CODE@wade:PopupField" value="ognl:info.AREA_CODE" text="ognl:info.AREA_NAME" action="popupPage('AREA_CODE', 'component.org.AreaTree', 'loadAreaTree', null, '区域选择', '400', '400')"/>
      注:如果需要指定root_id,可以在popupPage方法中写上&root_id="xxx"
    2. 支持区域树数据自定义,用dataMode=sqlstore + sqlRef的方式即可实现
  4. 代码片段

    1. HTML写法

      1. 写法一:

        <input
        	type="text"
        	jwcid="AREA_CODE@component:AreaField"
        	value="ognl:info.SCHE_CONTENT"
        />
        
      2. 写法二:

        <input 
        	type="text" 
        	jwcid="AREA_FIELD1@component:AreaField" 
        	value="ognl:info.AREA_FIELD1" 
        	source="ognl:pageData.getData()"
        	dataMode="sqlstroe" 
        	sqlRef="QRY_AREA_BYPARENT_ID"
        	desc="区域选择" 
        	class="e_input"
        />
        
    2. SQL写法(仅做参考)

      select area.AREA_CODE,
             area.AREA_NAME,
             area.ORDER_NO,
             area.AREA_CODE || '|' || area.AREA_NAME AREA_TEXT,
             area.PARENT_AREA_CODE,
             area.AREA_FRAME,
             decode(childs.NODE_COUNT, null, 0, childs.NODE_COUNT) NODE_COUNT,
             decode(childs.NODE_COUNT, null, 0, 1) EXPAND_NODE
        from TD_M_AREA area,
             (select PARENT_AREA_CODE, count(AREA_CODE) node_count
      	   from TD_M_AREA
      	   group by PARENT_AREA_CODE) childs
       where area.AREA_CODE = childs.PARENT_AREA_CODE(+)
         and area.VALIDFLAG = '0'
         and area.PARENT_AREA_CODE = :AREA_CODE
       order by EXPAND_NODE desc, area.AREA_CODE