我的任务
My Tasks 视图显示当前用户的激活任务。任务树按分配类型、流程和任务名称进行分组。
高级任务列表视图
在应用程序中,可以创建标准的任务列表视图并进行定制。新创建的视图不会替换标准的 My Tasks 视图。
-
页面左侧是一个过滤器组件,支持按任务名称、流程名称、分配人进行过滤。
-
右侧显示用户任务的列表。
创建高级任务列表视图
在 Jmix Studio 的 视图向导 中,选择 BPM: Advanced Task List View 模板。
Studio 会自动生成视图 XML 以及 Java 控制器,并带有注释解释如何定制。
访问权限
与项目中的其他视图一样,用户需要特定权限才能访问任务列表视图和相关实体。可以为用户分配合适的 资源角色。
下面的 BpmProcessTaskPerformerRole 给予了特定许可:
import io.jmix.bpm.entity.*;
import io.jmix.security.model.*;
import io.jmix.security.role.annotation.EntityAttributePolicy;
import io.jmix.security.role.annotation.EntityPolicy;
import io.jmix.security.role.annotation.ResourceRole;
import io.jmix.securityflowui.role.annotation.MenuPolicy;
import io.jmix.securityflowui.role.annotation.ViewPolicy;
@ResourceRole(name = "BPM: process task performer", code = BpmProcessTaskPerformerRole.CODE, scope = SecurityScope.UI)
public interface BpmProcessTaskPerformerRole {
String CODE = "bpm-process-task-performer";
@ViewPolicy(viewIds = {
"AdvancedTaskListView", (1)
"bpm_DefaultStartProcessForm",
"bpm_DefaultTaskProcessForm",
"bpm_InputDialogStartProcessForm",
"bpm_InputDialogTaskProcessForm"
})
@MenuPolicy(menuIds = {
"AdvancedTaskListView" (2)
})
@EntityPolicy(entityClass = ContentStorage.class, actions = {EntityPolicyAction.READ})
@EntityPolicy(entityClass = ProcessDefinitionData.class, actions = {EntityPolicyAction.READ})
@EntityPolicy(entityClass = TaskData.class, actions = {EntityPolicyAction.READ})
@EntityAttributePolicy(entityClass = ContentStorage.class, attributes = "*", action = EntityAttributePolicyAction.VIEW)
@EntityAttributePolicy(entityClass = ProcessDefinitionData.class, attributes = "*", action = EntityAttributePolicyAction.VIEW)
@EntityAttributePolicy(entityClass = TaskData.class, attributes = "*", action = EntityAttributePolicyAction.VIEW)
void bpmProcessTaskPerformer();
}
| 1 | 指定生成的视图 id。 |
| 2 | 提供该视图的菜单项 id。 |
本页是否有帮助?
感谢您的反馈