前一个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>
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>
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;
};


评一波