当前位置: 代码网 > 服务器>软件设计>开源 > 二.Flowable自带Demo(Flowable-UI)超详细体验

二.Flowable自带Demo(Flowable-UI)超详细体验

2024年08月03日 开源 我要评论
如果需要通过该组件的值做判断或者展示,需要将id设置成自己业务相关内容,如流程中可能通过请假天数的值来判断走哪个流程,这个时候就可用${num>3}来做判断保存表单,创建完毕支持创建和导入已有流程。

问题反馈

如有问题可通过微信公众号假装正经的程序员”反馈

flowable-ui是什么

flowable-ui是flowable自带的一套供开发人员体验的系统,它通过后台的ui建模,让开发人员了解flowable的工作流程,同时它部署简单,只需要将对应的war包丢到tomcat后启动即可。

它主要提供如下功能:

  • flowable admin: 管理应用。让具有管理员权限的用户可以查询 bpmn、dmn、form 及 content 引擎,并提供了许多选项用于修改流程实例、任务、作业等。管理应用通过 rest api 连接至引擎,并与 flowable task 应用及 flowable rest 应用一同部署。
  • flowable idm: 身份管理应用。为所有 flowable ui 应用提供单点登录认证功能,并且为拥有 idm 管理员权限的用户提供了管理用户、组与权限的功能。
  • flowable modeler: 建模器应用。让具有建模权限的用户可以创建流程模型、表单、选择表与应用定义。
  • flowable task: 任务应用。提供了启动流程实例、编辑任务表单、完成任务,以及查询流程实例与任务的功能。

如何安装启动

1.下载地址(自行选择版本):https://github.com/flowable/flowable-engine/releases

2.解压之后会获取到flowable-rest.war和flowable-ui.war

3.将上述两个war包丢进tomcat的webapps目录下,启动tomcat

4.出现如下,即表示启动成功

登录

输入http://localhost:8080/flowable-ui进行体验

用户名:admin

密码:test

创建表单

设置表单key

创建好表单名和表单key后会进入到如下界面:

将左侧组件拖入到右侧后会出现如下,通过右下角的笔头可以编辑组件显式内容

自定义组件id

如果需要通过该组件的值做判断或者展示,需要将id设置成自己业务相关内容,如流程中可能通过请假天数的值来判断走哪个流程,这个时候就可用${num>3}来做判断

保存表单,创建完毕

创建用户

创建用户组

创建用户

添加组成员

注意:新增用户后可能存在一定的延迟,另外此处的搜索要搜索的是用户的名称,否则可能搜索不到

授予权限

注意:如果新增的用户没有授予权限,那么该用户登录后会什么都不展示

这个时候登录lisi的账户就会出现任务应用程序了

定义流程

创建、导入流程

支持创建和导入已有流程

绘制流程

左侧流程组件可按需拖入,

详细组件内容后面会出专门的文章说明

节点关联表单

选择之前绘制的表单

分配审批用户

可以选择单个用户,也可以选择按组分配,这些都源于我们之前创建的用户

设置流程条件

流程校验

绘制完毕后,可以通过自带的流程校验器来进行流程的准确性校验

这个错误的意思是连接目标无效

连线时需要连接到对应的小红点上,经过排查发现上述错误是因为此处之前没有连上小红点

保存模型

导出bpmn文件

bpmn内容

<?xml version="1.0" encoding="utf-8"?>
<definitions xmlns="http://www.omg.org/spec/bpmn/20100524/model" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:flowable="http://flowable.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/bpmn/20100524/di" xmlns:omgdc="http://www.omg.org/spec/dd/20100524/dc" xmlns:omgdi="http://www.omg.org/spec/dd/20100524/di" typelanguage="http://www.w3.org/2001/xmlschema" expressionlanguage="http://www.w3.org/1999/xpath" targetnamespace="http://www.flowable.org/processdef" exporter="flowable open source modeler" exporterversion="6.7.2">
  <process id="my_holiday" name="myholiday" isexecutable="true">
    <startevent id="startevent1" name="开始" flowable:formkey="1" flowable:formfieldvalidation="true"></startevent>
    <usertask id="sid-90a1ee7d-0917-45b6-82df-824dcac24745" name="部门主管审批" flowable:candidateusers="zhangsan,lisi" flowable:formkey="2" flowable:formfieldvalidation="true">
      <extensionelements>
        <modeler:user-info-email-zhangsan xmlns:modeler="http://flowable.org/modeler"><![cdata[zhangsan@qq.com]]></modeler:user-info-email-zhangsan>
        <modeler:user-info-firstname-zhangsan xmlns:modeler="http://flowable.org/modeler"><![cdata[zhangsan]]></modeler:user-info-firstname-zhangsan>
        <modeler:user-info-firstname-lisi xmlns:modeler="http://flowable.org/modeler"><![cdata[lisi]]></modeler:user-info-firstname-lisi>
        <modeler:activiti-idm-candidate-user xmlns:modeler="http://flowable.org/modeler"><![cdata[true]]></modeler:activiti-idm-candidate-user>
        <modeler:initiator-can-complete xmlns:modeler="http://flowable.org/modeler"><![cdata[false]]></modeler:initiator-can-complete>
      </extensionelements>
    </usertask>
    <usertask id="sid-36efe8f0-ba14-429c-8b74-c3b1065aec41" name="申请" flowable:assignee="admin" flowable:formkey="1" flowable:formfieldvalidation="true">
      <extensionelements>
        <modeler:activiti-idm-assignee xmlns:modeler="http://flowable.org/modeler"><![cdata[true]]></modeler:activiti-idm-assignee>
        <modeler:assignee-info-email xmlns:modeler="http://flowable.org/modeler"><![cdata[test-admin@example-domain.tld]]></modeler:assignee-info-email>
        <modeler:assignee-info-firstname xmlns:modeler="http://flowable.org/modeler"><![cdata[test]]></modeler:assignee-info-firstname>
        <modeler:assignee-info-lastname xmlns:modeler="http://flowable.org/modeler"><![cdata[administrator]]></modeler:assignee-info-lastname>
        <modeler:initiator-can-complete xmlns:modeler="http://flowable.org/modeler"><![cdata[false]]></modeler:initiator-can-complete>
      </extensionelements>
    </usertask>
    <sequenceflow id="sid-c3388d53-833b-4d07-a5fc-b2286032fc41" sourceref="startevent1" targetref="sid-36efe8f0-ba14-429c-8b74-c3b1065aec41"></sequenceflow>
    <usertask id="sid-0e218782-7fe2-4693-8e01-29c4fb882eed" name="主管审批" flowable:candidategroups="test_group" flowable:formkey="2" flowable:formfieldvalidation="true">
      <extensionelements>
        <modeler:group-info-name-test_group xmlns:modeler="http://flowable.org/modeler"><![cdata[测试组]]></modeler:group-info-name-test_group>
        <modeler:activiti-idm-candidate-group xmlns:modeler="http://flowable.org/modeler"><![cdata[true]]></modeler:activiti-idm-candidate-group>
        <modeler:initiator-can-complete xmlns:modeler="http://flowable.org/modeler"><![cdata[false]]></modeler:initiator-can-complete>
      </extensionelements>
    </usertask>
    <usertask id="sid-90c02dc7-900a-477a-bb79-b525966ec27b" name="经理审批" flowable:assignee="wangwu" flowable:formkey="2" flowable:formfieldvalidation="true">
      <extensionelements>
        <modeler:activiti-idm-assignee xmlns:modeler="http://flowable.org/modeler"><![cdata[true]]></modeler:activiti-idm-assignee>
        <modeler:assignee-info-email xmlns:modeler="http://flowable.org/modeler"><![cdata[wangwu@qq.com]]></modeler:assignee-info-email>
        <modeler:assignee-info-firstname xmlns:modeler="http://flowable.org/modeler"><![cdata[wangwu]]></modeler:assignee-info-firstname>
        <modeler:initiator-can-complete xmlns:modeler="http://flowable.org/modeler"><![cdata[false]]></modeler:initiator-can-complete>
      </extensionelements>
    </usertask>
    <endevent id="sid-5f37dd3b-a592-4f3a-a003-c3674700dec9"></endevent>
    <sequenceflow id="sid-6bd1b471-e03d-4508-ab82-a4f5d2fa09eb" name="不通过" sourceref="sid-0e218782-7fe2-4693-8e01-29c4fb882eed" targetref="sid-36efe8f0-ba14-429c-8b74-c3b1065aec41">
      <conditionexpression xsi:type="tformalexpression"><![cdata[${approve=='拒绝'}]]></conditionexpression>
    </sequenceflow>
    <exclusivegateway id="sid-9fbe069f-c126-4897-b91c-e1a9531a763d"></exclusivegateway>
    <sequenceflow id="sid-440d1438-7682-4e99-b3a0-1ab02d4c0da3" name="通过" sourceref="sid-0e218782-7fe2-4693-8e01-29c4fb882eed" targetref="sid-5f37dd3b-a592-4f3a-a003-c3674700dec9">
      <conditionexpression xsi:type="tformalexpression"><![cdata[${approve=='同意'}]]></conditionexpression>
    </sequenceflow>
    <sequenceflow id="sid-d7a6b9f8-e554-49a5-afda-03f079d7ffa3" name="通过" sourceref="sid-90c02dc7-900a-477a-bb79-b525966ec27b" targetref="sid-5f37dd3b-a592-4f3a-a003-c3674700dec9">
      <conditionexpression xsi:type="tformalexpression"><![cdata[${approve=='同意'}]]></conditionexpression>
    </sequenceflow>
    <sequenceflow id="sid-3c1b19b5-f174-4fe4-9b55-dbe84fc23cdd" name="通过" sourceref="sid-90a1ee7d-0917-45b6-82df-824dcac24745" targetref="sid-90c02dc7-900a-477a-bb79-b525966ec27b">
      <conditionexpression xsi:type="tformalexpression"><![cdata[${approve=='同意'}]]></conditionexpression>
    </sequenceflow>
    <sequenceflow id="sid-b2e18218-db07-4079-a55e-60b581457b3c" name="不通过" sourceref="sid-90c02dc7-900a-477a-bb79-b525966ec27b" targetref="sid-36efe8f0-ba14-429c-8b74-c3b1065aec41">
      <conditionexpression xsi:type="tformalexpression"><![cdata[${approve=='拒绝'}]]></conditionexpression>
    </sequenceflow>
    <sequenceflow id="sid-7f7f0c70-725f-4080-9865-c76b2dc28968" name="不通过" sourceref="sid-90a1ee7d-0917-45b6-82df-824dcac24745" targetref="sid-36efe8f0-ba14-429c-8b74-c3b1065aec41">
      <conditionexpression xsi:type="tformalexpression"><![cdata[${approve=='拒绝'}]]></conditionexpression>
    </sequenceflow>
    <sequenceflow id="sid-f419372d-19e2-4912-9dc8-756290b9fc83" sourceref="sid-36efe8f0-ba14-429c-8b74-c3b1065aec41" targetref="sid-9fbe069f-c126-4897-b91c-e1a9531a763d"></sequenceflow>
    <sequenceflow id="sid-48f90825-6079-49e1-991a-1fe011d8755b" name="大于3天" sourceref="sid-9fbe069f-c126-4897-b91c-e1a9531a763d" targetref="sid-90a1ee7d-0917-45b6-82df-824dcac24745">
      <conditionexpression xsi:type="tformalexpression"><![cdata[${num>3}]]></conditionexpression>
    </sequenceflow>
    <sequenceflow id="sid-b12fa2f5-ce8f-44ae-9e11-5c711f5df114" name="小于等于3天" sourceref="sid-9fbe069f-c126-4897-b91c-e1a9531a763d" targetref="sid-0e218782-7fe2-4693-8e01-29c4fb882eed">
      <conditionexpression xsi:type="tformalexpression"><![cdata[${num<=3}]]></conditionexpression>
    </sequenceflow>
  </process>
  <bpmndi:bpmndiagram id="bpmndiagram_my_holiday">
    <bpmndi:bpmnplane bpmnelement="my_holiday" id="bpmnplane_my_holiday">
      <bpmndi:bpmnshape bpmnelement="startevent1" id="bpmnshape_startevent1">
        <omgdc:bounds height="30.0" width="30.0" x="105.0" y="160.0"></omgdc:bounds>
      </bpmndi:bpmnshape>
      <bpmndi:bpmnshape bpmnelement="sid-90a1ee7d-0917-45b6-82df-824dcac24745" id="bpmnshape_sid-90a1ee7d-0917-45b6-82df-824dcac24745">
        <omgdc:bounds height="80.0" width="100.0" x="554.9999917298557" y="132.9999980181456"></omgdc:bounds>
      </bpmndi:bpmnshape>
      <bpmndi:bpmnshape bpmnelement="sid-36efe8f0-ba14-429c-8b74-c3b1065aec41" id="bpmnshape_sid-36efe8f0-ba14-429c-8b74-c3b1065aec41">
        <omgdc:bounds height="80.0" width="100.0" x="210.0" y="135.0"></omgdc:bounds>
      </bpmndi:bpmnshape>
      <bpmndi:bpmnshape bpmnelement="sid-0e218782-7fe2-4693-8e01-29c4fb882eed" id="bpmnshape_sid-0e218782-7fe2-4693-8e01-29c4fb882eed">
        <omgdc:bounds height="80.0" width="100.0" x="555.0" y="285.0"></omgdc:bounds>
      </bpmndi:bpmnshape>
      <bpmndi:bpmnshape bpmnelement="sid-90c02dc7-900a-477a-bb79-b525966ec27b" id="bpmnshape_sid-90c02dc7-900a-477a-bb79-b525966ec27b">
        <omgdc:bounds height="80.0" width="100.0" x="719.9999785423283" y="132.9999960362912"></omgdc:bounds>
      </bpmndi:bpmnshape>
      <bpmndi:bpmnshape bpmnelement="sid-5f37dd3b-a592-4f3a-a003-c3674700dec9" id="bpmnshape_sid-5f37dd3b-a592-4f3a-a003-c3674700dec9">
        <omgdc:bounds height="28.0" width="28.0" x="884.9999868124726" y="158.9999976307154"></omgdc:bounds>
      </bpmndi:bpmnshape>
      <bpmndi:bpmnshape bpmnelement="sid-9fbe069f-c126-4897-b91c-e1a9531a763d" id="bpmnshape_sid-9fbe069f-c126-4897-b91c-e1a9531a763d">
        <omgdc:bounds height="40.0" width="40.0" x="418.5" y="153.0"></omgdc:bounds>
      </bpmndi:bpmnshape>
      <bpmndi:bpmnedge bpmnelement="sid-c3388d53-833b-4d07-a5fc-b2286032fc41" id="bpmnedge_sid-c3388d53-833b-4d07-a5fc-b2286032fc41" flowable:sourcedockerx="15.0" flowable:sourcedockery="15.0" flowable:targetdockerx="50.0" flowable:targetdockery="40.0">
        <omgdi:waypoint x="134.9499990675947" y="175.0"></omgdi:waypoint>
        <omgdi:waypoint x="210.0" y="175.0"></omgdi:waypoint>
      </bpmndi:bpmnedge>
      <bpmndi:bpmnedge bpmnelement="sid-6bd1b471-e03d-4508-ab82-a4f5d2fa09eb" id="bpmnedge_sid-6bd1b471-e03d-4508-ab82-a4f5d2fa09eb" flowable:sourcedockerx="50.0" flowable:sourcedockery="40.0" flowable:targetdockerx="50.0" flowable:targetdockery="40.0">
        <omgdi:waypoint x="605.0" y="364.95000000000005"></omgdi:waypoint>
        <omgdi:waypoint x="605.0" y="396.0"></omgdi:waypoint>
        <omgdi:waypoint x="260.0" y="396.0"></omgdi:waypoint>
        <omgdi:waypoint x="260.0" y="214.95000000000002"></omgdi:waypoint>
      </bpmndi:bpmnedge>
      <bpmndi:bpmnedge bpmnelement="sid-d7a6b9f8-e554-49a5-afda-03f079d7ffa3" id="bpmnedge_sid-d7a6b9f8-e554-49a5-afda-03f079d7ffa3" flowable:sourcedockerx="50.0" flowable:sourcedockery="40.0" flowable:targetdockerx="14.0" flowable:targetdockery="14.0">
        <omgdi:waypoint x="819.9499779958626" y="172.99999665366704"></omgdi:waypoint>
        <omgdi:waypoint x="884.9999867883963" y="172.99999745767713"></omgdi:waypoint>
      </bpmndi:bpmnedge>
      <bpmndi:bpmnedge bpmnelement="sid-7f7f0c70-725f-4080-9865-c76b2dc28968" id="bpmnedge_sid-7f7f0c70-725f-4080-9865-c76b2dc28968" flowable:sourcedockerx="50.0" flowable:sourcedockery="40.0" flowable:targetdockerx="75.0" flowable:targetdockery="1.0">
        <omgdi:waypoint x="604.4117612833849" y="132.9999980181456"></omgdi:waypoint>
        <omgdi:waypoint x="604.0" y="105.0"></omgdi:waypoint>
        <omgdi:waypoint x="283.5" y="105.0"></omgdi:waypoint>
        <omgdi:waypoint x="284.9516129032258" y="135.0"></omgdi:waypoint>
      </bpmndi:bpmnedge>
      <bpmndi:bpmnedge bpmnelement="sid-48f90825-6079-49e1-991a-1fe011d8755b" id="bpmnedge_sid-48f90825-6079-49e1-991a-1fe011d8755b" flowable:sourcedockerx="20.0" flowable:sourcedockery="20.0" flowable:targetdockerx="50.0" flowable:targetdockery="40.0">
        <omgdi:waypoint x="458.4440128419785" y="172.99999976193936"></omgdi:waypoint>
        <omgdi:waypoint x="554.9999916606904" y="172.99999861270194"></omgdi:waypoint>
      </bpmndi:bpmnedge>
      <bpmndi:bpmnedge bpmnelement="sid-f419372d-19e2-4912-9dc8-756290b9fc83" id="bpmnedge_sid-f419372d-19e2-4912-9dc8-756290b9fc83" flowable:sourcedockerx="50.0" flowable:sourcedockery="40.0" flowable:targetdockerx="20.0" flowable:targetdockery="20.0">
        <omgdi:waypoint x="309.9499999999995" y="174.43977591036415"></omgdi:waypoint>
        <omgdi:waypoint x="418.72160664819944" y="173.22105263157894"></omgdi:waypoint>
      </bpmndi:bpmnedge>
      <bpmndi:bpmnedge bpmnelement="sid-b12fa2f5-ce8f-44ae-9e11-5c711f5df114" id="bpmnedge_sid-b12fa2f5-ce8f-44ae-9e11-5c711f5df114" flowable:sourcedockerx="20.0" flowable:sourcedockery="20.0" flowable:targetdockerx="50.0" flowable:targetdockery="40.0">
        <omgdi:waypoint x="438.56540983606556" y="192.87809633027524"></omgdi:waypoint>
        <omgdi:waypoint x="439.0" y="325.0"></omgdi:waypoint>
        <omgdi:waypoint x="555.0" y="325.0"></omgdi:waypoint>
      </bpmndi:bpmnedge>
      <bpmndi:bpmnedge bpmnelement="sid-b2e18218-db07-4079-a55e-60b581457b3c" id="bpmnedge_sid-b2e18218-db07-4079-a55e-60b581457b3c" flowable:sourcedockerx="50.0" flowable:sourcedockery="40.0" flowable:targetdockerx="50.0" flowable:targetdockery="40.0">
        <omgdi:waypoint x="769.5604275155658" y="132.9999960362912"></omgdi:waypoint>
        <omgdi:waypoint x="769.0" y="82.0"></omgdi:waypoint>
        <omgdi:waypoint x="260.0" y="82.0"></omgdi:waypoint>
        <omgdi:waypoint x="260.0" y="135.0"></omgdi:waypoint>
      </bpmndi:bpmnedge>
      <bpmndi:bpmnedge bpmnelement="sid-3c1b19b5-f174-4fe4-9b55-dbe84fc23cdd" id="bpmnedge_sid-3c1b19b5-f174-4fe4-9b55-dbe84fc23cdd" flowable:sourcedockerx="50.0" flowable:sourcedockery="40.0" flowable:targetdockerx="50.0" flowable:targetdockery="40.0">
        <omgdi:waypoint x="654.9499897468008" y="172.9999974175836"></omgdi:waypoint>
        <omgdi:waypoint x="719.9999785423283" y="172.99999663625266"></omgdi:waypoint>
      </bpmndi:bpmnedge>
      <bpmndi:bpmnedge bpmnelement="sid-440d1438-7682-4e99-b3a0-1ab02d4c0da3" id="bpmnedge_sid-440d1438-7682-4e99-b3a0-1ab02d4c0da3" flowable:sourcedockerx="50.0" flowable:sourcedockery="40.0" flowable:targetdockerx="14.0" flowable:targetdockery="14.0">
        <omgdi:waypoint x="654.9499999999999" y="325.0"></omgdi:waypoint>
        <omgdi:waypoint x="898.0" y="325.0"></omgdi:waypoint>
        <omgdi:waypoint x="898.9078847167215" y="186.94970208387926"></omgdi:waypoint>
      </bpmndi:bpmnedge>
    </bpmndi:bpmnplane>
  </bpmndi:bpmndiagram>
</definitions>

发布流程

创建应用程序

关联流程

发布流程

保存好上述应用程序后,点击该应用程序进行发布

发起流程

启动流程

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com