lowflow-design:低代码流程设计器,让流程搭建更简单!

嗨,大家好,我是小华同学,关注我们获得“最新、最全、最优质”开源项目和高效工作学习方法

简介

lowflow-design 是一个基于 Vue3、Vite、TypeScript、Element-Plus 等技术栈开发的,适用于低代码或无代码开发平台的流程设计器。它让普通人也能通过简单配置快速搭建流程,并提供了将 json 转换为 xml 的后端代码:lowflow-design-converter。

在线预览
  • lowflow-design: https://tsai996.github.io/lowflow-design/

  • 成品案例: https://demo.lowflow.vip/

项目源码
  • 后端源码 (lowflow-design-converter):
    • github: https://github.com/tsai996/lowflow-design-converter

    • 码云: https://gitee.com/cai_xiao_feng/lowflow-design-converter

  • 前端源码 (lowflow-design):
    • github: https://github.com/tsai996/lowflow-design

    • 码云: https://gitee.com/cai_xiao_feng/lowflow-design

lowflow-design
  1. 克隆 lowflow-design 项目代码:git clone https://github.com/tsai996/lowflow-design.git

  2. 安装依赖:npm install

  3. 启动开发服务器:npm run dev

  4. 访问 http://localhost:3000/,开始使用 lowflow-design 设计流程

示例图

节点项

属性面板

特性
  • 节点: 支持多种节点类型,包括审批人、抄送人、互斥分支、计时等待、消息通知等。

  • 状态: 所有节点都支持状态配置,可以根据不同的状态进行不同的处理。

  • 描述: 可以对每个节点进行描述,方便理解节点的作用。

  • 审批人: 支持单人、多人、角色、部门、发起人、上级领导、自定义审批人等多种审批人类型。

  • 抄送人: 支持单人、多人、角色、部门、发起人、上级领导、自定义抄送人等多种抄送人类型。

  • 互斥分支: 支持或/且条件组,条件组组合,可以灵活配置分支条件。

  • 计时等待: 支持秒、分、时、天、周、月、自定义时间等待,可以满足各种时间等待需求。

  • 消息通知: 支持站内、邮件、企业微信、钉钉、飞书、短信、自定义通知内容,可以满足各种通知需求。

目录结构
├── public
├── src
│   ├── api                                     # 接口
│   │   ├── index.ts                            # 接口统一管理
│   │   ├── modules                             # 接口模块
│   │   │   ├── role.ts                         # 角色接口
│   │   │   ├── user.ts                         # 用户接口
│   │   │   └── model.ts                        # 流程模型接口
│   ├── assets                                  # 静态资源
│   │   ├── logo.png
│   │   └── ...
│   ├── components                              # 公共组件
│   │   ├── AdvancedFilter                      # 高级条件筛选
│   │   ├── Render                              # 组件渲染器
│   │   ├── RoleSelector                        # 角色选择器
│   │   ├── SvgIcon                             # svg图标
│   │   ├── UserSelector                        # 用户选择器
│   │   └── ...
│   ├── mock                                    # mock模拟数据
│   │   ├── index.ts
│   │   ├── role.ts                             # 角色接口
│   │   ├── user.ts                             # 用户接口
│   │   └── ...
│   ├── router                                  # 路由
│   │   ├── index.ts
│   │   └── ...
│   ├── stores                                  # 状态管理
│   │   ├── index.ts
│   │   └── ...
│   ├── styles                                  # 全局样式
│   │   ├── index.scss
│   │   └── ...
│   ├── typings                                 # 全局类型
│   │   ├── index.scss
│   │   └── ...
│   ├── views     
│   │   ├── flowDesign                          # 流程设计器     
│   │   │   ├── nodes                           # 流程节点  
│   │   │   │   ├── Add.vue                     # 添加节点
│   │   │   │   ├── ApprovalNode.vue            # 审批人节点
│   │   │   │   ├── CcNode.vue                  # 抄送人节点
│   │   │   │   ├── ConditionNode.vue           # 条件节点
│   │   │   │   ├── EndNode.vue                 # 结束节点
│   │   │   │   ├── ExclusiveNode.vue           # 互斥分支节点
│   │   │   │   ├── GatewayNode.vue             # 网关节点
│   │   │   │   ├── Node.vue                    # 节点
│   │   │   │   ├── StartNode.vue               # 开始节点
│   │   │   │   ├── NotifyNode.vue              # 消息通知节点
│   │   │   │   ├── TimerNode.vue               # 计时等待节点
│   │   │   │   ├── TreeNode.vue                # 节点树
│   │   │   │   └── type.ts                     # 节点类型
│   │   │   ├── panels                          # 属性面板  
│   │   │   │   ├── ApprovalPanel.vue           # 审批人配置面板
│   │   │   │   ├── CcPanel.vue                 # 抄送人配置面板
│   │   │   │   ├── ConditionPanel.vue          # 条件配置面板
│   │   │   │   ├── index.vue                   # 属性面板抽屉
│   │   │   │   ├── StartPanel.vue              # 开始配置面板
│   │   │   │   ├── NotifyPanel.vue             # 消息通知配置面板
│   │   │   │   └── TimerPanel.vue              # 计时等待配置面板
│   │   ├── home                                # 首页
│   │   └── ...
│   ├── App.vue
│   ├── main.ts
│   └── shims-vue.d.ts
├── .gitignore
├── package.json
├── README.md
├── unocss.config.ts
└── vite.config.ts
应用场景

lowflow-design可以应用于以下场景:

  • 企业内部流程管理: 例如请假流程、报销流程、采购流程等。

  • 在线办公平台: 例如OA系统、CRM系统、ERP系统等。

  • 低代码/无代码开发平台: 作为低代码/无代码开发平台的流程设计组件。

同类项目
  • Activiti: Activiti 是一个开源的工作流和业务流程管理 (BPM) 平台,用于构建企业级应用程序。它支持 BPMN 2.0 标准,并提供了一套丰富的功能,包括流程设计、流程引擎、任务管理、用户管理等。

  • Flowable: Flowable 是一个轻量级的工作流和业务流程管理 (BPM) 平台,用于构建企业级应用程序。它支持 BPMN 2.0 标准,并提供了一套丰富的功能,包括流程设计、流程引擎、任务管理、用户管理等。

  • Camunda: Camunda 是一个开源的工作流和决策自动化平台,用于构建企业级应用程序。它支持 BPMN 2.0 和 DMN 1.1 标准,并提供了一套丰富的功能,包括流程设计、流程引擎、任务管理、用户管理、决策管理等。

总结

lowflow-design 是一个功能强大且易于使用的低代码流程设计器,可以帮助您快速构建各种流程应用。它具有丰富的节点类型、灵活的配置选项和友好的用户界面,是您构建流程应用的理想选择。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值