Camunda Task List如何实现自动预览/打开分配给当前用户的用户任务
Camunda任务列表自动展示当前用户待办表单实现方案
- 首先保持原有
ng-click="focus($event, task)"绑定不变,不影响用户手动点击打开任务的操作逻辑 - 在任务列表数据的异步请求回调中,加入自动匹配触发逻辑:
- 先获取当前登录用户的唯一ID
- 遍历返回的任务列表,找到首个assignee(执行人)字段与当前用户ID一致的待处理任务
- 匹配到符合要求的任务后,直接调用focus方法即可自动打开对应表单,参考代码如下:
// 任务列表接口请求成功后的处理逻辑 $scope.loadTaskList = function() { $http.get('/api/task/list').then(function(res) { $scope.taskList = res.data; // 获取当前登录用户ID const currentUserId = CamundaForm.authentication.userId; // 匹配分配给当前用户的任务 const nextTask = $scope.taskList.find(task => task.assignee === currentUserId); if (nextTask) { // 若任务列表需要等待DOM渲染完成后触发,可外层包裹$timeout $timeout(function() { $scope.focus(null, nextTask); }, 0); } }) } - 如果你的任务列表有排序规则,调整find方法的匹配逻辑即可定位到你需要的「下一个任务」,不需要修改原有focus函数的内部实现。
内容的提问来源于stack exchange,提问作者Daniel Xav De Oliveira
相关产品推荐
相关产品推荐

