首页 > 其他分享 >lowflow-design:低代码流程设计器,让流程搭建更简单!

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

时间:2024-09-28 14:19:39浏览次数:10  
标签:vue 流程 ts 节点 design lowflow

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

简介

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

标签:vue,流程,ts,节点,design,lowflow
From: https://blog.csdn.net/leeit/article/details/142456071

相关文章

  • RocksDB代码分析——写入流程
    分析均基于v6.27.3。以下流程为了方便理解均经过了简化。首先,我们通过调用DB::Open来创建数据库,它返回了一个DB*。DB::Open内部调用了DBImpl::Open,在里面构造了一个DBImpl*并转换成DB*返回。所以我们拿到的DB*其实是DBImpl*。然后我们调用DB::Put来写入数据。DB::Put是个virtual......
  • RocksDB代码分析——Flush流程
    这里从DBImpl::MaybeScheduleFlushOrCompaction开始讲起。DBImpl::MaybeScheduleFlushOrCompaction可能会scheduleDBImpl::BGWorkFlush和DBImpl::BGWorkCompaction。这里主要看Flush。Compaction部分见:{%post_linkStorage/'RocksDB代码分析——Compaction流程'%}DBImpl::BGWo......
  • RocksDB代码分析——Compaction流程
    这里从DBImpl::MaybeScheduleFlushOrCompaction开始讲起。DBImpl::MaybeScheduleFlushOrCompaction可能会scheduleDBImpl::BGWorkFlush和DBImpl::BGWorkCompaction。这里主要看Compaction。Flush部分见{%post_linkStorage/'RocksDB代码分析——Flush流程'%}DBImpl::BGWorkCo......
  • StampDesign_v3.7.3 印章设计与制作
     软件简介StampDesign是一款印章设计与制作的软件。完全免费、无任何广告。其特点:1 使用方便:通过本软件,只要输入印章的文字,然后根据需要,简单修改一些设置,即可快速生成印章。2 风格多样:姓名章与闲文章,圆形、方形、异形多种形状,水平排列与垂直排列,文字正序与倒序、阴文与阳文......
  • 微服务JSR303解析部署使用全流程
    目录1、什么是JSR303校验2、小试牛刀【2.1】添加依赖【2.2】添加application.yml配置文件修改端口【2.3】创建实体类User【2.4】创建控制器【2.5】创建启动类【注意】不必创建前端页面3、规范返回值格式:3.1添加ResultCode工具类3.2添加Result类3.3添加ValidationEx......
  • 开源电商系统启航电商ERP系统几个核心流程的设计说明
    1、订单拉取流程开放平台拉取订单模块消息队列订单处理模块拉取订单请求订单数据发送订单通知......
  • Ant-design-vue Table 自定义列斑马纹效果
    在AntDesignVue的`Table`组件中,要实现自定义列的斑马纹效果,可以通过设置`rowClassName`属性来实现。以下是一个示例:```html<template> <a-table:data-source="data":rowClassName="rowClassName">  <a-table-columnv-for="columnincolumns":k......
  • 智慧充电平台/充电桩管理系统/小程序/APP的开发流程
    智慧充电平台开发方案旨在打造一个集充电设施管理、用户服务、数据分析与优化于一体的综合性平台,以提升电动汽车充电的便捷性和效率。以下是一个详细的开发方案概述:一、需求分析‌市场与用户调研‌:了解当前电动汽车充电市场的现状、发展趋势。收集用户对充电设施的需求、使......
  • 智慧停车道闸管理系统开发流程
    智慧停车管理平台开发方案是一个综合性的项目,旨在通过技术手段优化停车资源的分配和管理,提升停车效率和用户体验。以下是一个详细的开发方案概述:一、需求分析‌市场与用户调研‌:首先进行市场调研,了解当前智慧停车市场的现状、用户需求、竞争对手情况等信息。同时,通过问卷调......
  • Android拨号流程
    Android拨号流程是一个涉及多个组件和层级的复杂过程,从用户点击拨号按钮开始,直到电话被拨出并显示在通话界面上。以下是Android拨号流程的主要步骤:1.用户交互阶段用户通过Dialer应用(如Phone应用)的拨号界面输入电话号码,并点击拨号按钮。这一操作会触发DialpadFragment中的onClick事......