前一个orgSelectPC下拉内容显示非人员的组织数据,后一个orgSelectPC下拉内容只显示人员的数据,前一个下拉修改了选择数据,使后一个的orgselctPC下拉内容发生改变,就可以显示部门人员级联下拉

可以在部门的orgSelectPC的onUpdateValue事件中给人员的orgSelectPC下拉区域的data设置filter,然后在人员orgSelectPC的onShowOption事件中调用data的刷新就可以使内容发生变化
当然在部门的orgSelectPC修改选择数据后,人员的orgSelectPC的数据也要清空,同样在部门的orgSelectPC的onUpdateValue事件操作

控制orgSelectPC只显示什么类型的组织数据可以通过includeOrgKind属性控制
部门orgSelectPC的定义如下:


<div class="x-gridSelect" component="$UI/system/components/justep/org/orgSelectPC" xid="orgSelectPC1" bind-ref='$model.data2.ref("fDeptID")' bind-labelRef='$model.data2.ref("fDept")' onUpdateValue="orgSelectPC1UpdateValue" multiselect="false" includeOrgKind="ogn,dpt,pos"> 

<div component="$UI/system/components/justep/data/bizData" autoLoad="false" xid="bizData3" limit="-1"> 
                  <treeOption xid="default14" delayLoad="false"/>
                </div>

  
<option xid="option8" value="SA_OPOrg" label="sName"> 
                  <columns xid="columns3"> 
                    <column name="sName" xid="column8"/>
                  </columns> 
                </option>
              </div>

 

deptOrgSelect
部门orgSelectPC的onUpdateValue事件的代码:

	Model.prototype.orgSelectPC1UpdateValue = function(event){
		var data = this.comp("data2");
		var deptID = data.getValue("fDeptID");
		data.setValue("fPsmID","");
		data.setValue("fPsm", "");
		this.comp('bizData4').setFilter('person_filter', "SA_OPOrg.sParent='" + deptID + "'");
		this.isReload = true;
	};

人员orgSelectPC的定义如下:


<div class="x-gridSelect" component="$UI/system/components/justep/org/orgSelectPC" xid="orgSelectPC2" bind-ref='$model.data2.ref("fPsmID")' bind-labelRef='$model.data2.ref("fPsm")' onShowOption="orgSelectPC2ShowOption" includeOrgKind="psm"> 

<div component="$UI/system/components/justep/data/bizData" autoLoad="false" xid="bizData4"> 
                  <treeOption xid="default15" rootFilter="1=1"/>
                </div>

  
<option xid="option7" value="SA_OPOrg" label="sName"> 
                  <columns xid="columns2"> 
                    <column name="sName" xid="column9"/>
                  </columns> 
                </option>
              </div>

 

psmOrgSelect
人员orgSelectPC的onShowOption事件的代码:

	Model.prototype.orgSelectPC2ShowOption = function(event){
		if (this.isReload) {
			this.comp('bizData4').refreshData();
			this.isReload = false;
		}
	};

js中用的是this.isReload是在model中定义的实例变量

var Model = function() {
    this.callParent();
    var isReload = false;
};