🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 使用场景 例如在销售商机中,选择商机所属部门的时候要求只能选择相关的销售部门,那么这个时候我们就要对部门进行过滤。 > 当然,这里的代码实现不仅限于部门过滤 ,人员过滤同样适用。 * * * * * ## 实现方式 ### 1、打开存储模型,对字段组件进行如下配置 ![](https://box.kancloud.cn/411042cbaf185f0feceb53a78f8c7ce5_828x468.png) > 过滤事件中填写的【com.actionsoft.apps.flights.awsListener.execute.DeptFeeFilter】是二次开发的java代码 ### 2、实现过滤器 ``` package com.actionsoft.apps.flights.awsListener.execute; import com.actionsoft.bpms.org.model.DepartmentModel; import com.actionsoft.bpms.org.model.UserModel; import com.actionsoft.bpms.server.UserContext; import com.actionsoft.bpms.ui.dict.address.base.AddressUIFilterInterface; import com.actionsoft.bpms.ui.dict.address.model.AdvancedAddressModel; import com.actionsoft.sdk.local.SDK; // 这里实现的接口是 AddressUIFilterInterface,地址簿组件过滤器 public class DeptFeeFilter implements AddressUIFilterInterface { public DeptFeeFilter() { // 构造函数实现内容 } @Override public boolean addressUIFlexDepartmentFilter(UserContext arg0, DepartmentModel arg1, AdvancedAddressModel arg2) { // 加入部门过滤逻辑 if (arg1.getName().equals("部门名称")) { return false; // false的时候部门被过滤 } return true; // true的时候部门被过滤 } @Override public boolean addressUIFlexUserFilter(UserContext arg0, UserModel arg1, AdvancedAddressModel arg2) { // 加入人员过滤逻辑 if (arg1.getName().equals("人员名称")) { return false; // false的时候人员被过滤 } return true; } } ``` > 需要注意的是这里两个过滤函数都要实现,但是用的时候部门用部门过滤,人员用人员过滤,互不影响。