欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > 基于jeecgboot-vue3的Flowable流程仿钉钉流程设计器-抄送服务处理

基于jeecgboot-vue3的Flowable流程仿钉钉流程设计器-抄送服务处理

2025/6/18 22:16:45 来源:https://blog.csdn.net/qq_40032778/article/details/140639793  浏览:    关键词:基于jeecgboot-vue3的Flowable流程仿钉钉流程设计器-抄送服务处理

因为这个项目license问题无法开源,更多技术支持与服务请加入我的知识星球。

1、因为仿钉钉设计器里抄送人是一个服务任务,所以要根据这个服务任务进行处理

2、前端就是一个抄送,选择人

3、这里用了jeecg的选择人组件

<el-form-item prop="users" label="指定人员" v-if="activeData.assigneeType === 'user'"><div style="width:100%"><j-select-user-by-dept :zIndex="3000"v-model:value="activeData.users" :multi="true" :placeholder="`请选择${type}人`"@getSelectResult="handleSelectUsers"></j-select-user-by-dept></div></el-form-item>

4、后端对这个处理如下:

public class CcNode extends AssigneeNode {// 表单属性private List<FormProperty> formProperties = new ArrayList<>();// 操作权限private Map<String, Boolean> operations = new LinkedHashMap<>();@Overridepublic List<FlowElement> convert() {ArrayList<FlowElement> elements = new ArrayList<>();// 服务节点ServiceTask serviceTask = new ServiceTask();serviceTask.setId(this.getId());serviceTask.setName(this.getName());// serviceTask.setAsynchronous(true);serviceTask.setImplementationType(ImplementationType.IMPLEMENTATION_TYPE_CLASS);serviceTask.setImplementation("org.jeecg.modules.flowable.ServiceTask.ccDelegate");//增加扩展属性 add by nbachengMap<String, List<ExtensionElement>> extensionElements = new HashMap<String, List<ExtensionElement>>();ExtensionElement extensionElementTotal = new ExtensionElement();extensionElementTotal.setName("flowable:properties"); ExtensionElement extensionElement = new ExtensionElement();extensionElement.setName("flowable:property");ExtensionAttribute extensionAttributeName = new ExtensionAttribute();extensionAttributeName.setName("name");extensionAttributeName.setValue("ccUserList");extensionElement.addAttribute(extensionAttributeName);ExtensionAttribute extensionAttributeValue = new ExtensionAttribute();extensionAttributeValue.setName("value");extensionAttributeValue.setValue(StringUtils.join(this.getUsers(), ","));extensionElement.addAttribute(extensionAttributeValue);extensionElementTotal.addChildElement(extensionElement);extensionElements.put("ccUserList", CollUtil.newArrayList(extensionElementTotal));serviceTask.setExtensionElements(extensionElements);elements.add(serviceTask);// 下一个节点的连线Node child = this.getChild();SequenceFlow sequenceFlow = this.buildSequence(child);elements.add(sequenceFlow);// 下一个节点if (Objects.nonNull(child)) {child.setBranchId(this.getBranchId());List<FlowElement> flowElements = child.convert();elements.addAll(flowElements);}return elements;}}

4、实际的效果图与xml

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词