基于若依的ruoyi-nbcio流程管理系统增加仿钉钉流程设计(一)

2023-10-31 02:12

本文主要是介绍基于若依的ruoyi-nbcio流程管理系统增加仿钉钉流程设计(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

更多ruoyi-nbcio功能请看演示系统

gitee源代码地址

前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio

演示地址:RuoYi-Nbcio后台管理系统

       仿钉钉的开源项目网上也不少,而且很多功能已经也比较完善了,但大部分都不是MIT协议,所以都被我放弃了,最后找到approvalFlow项目,虽然这个项目只是简单的做了一个仿钉钉的流程图,功能很多也不完善,但也没办法,那我还是基于这个项目来扩展,满足我的ruoyi-nbcio所需要的通过仿钉钉流程来实现原先bpmn实现的流程设计。

     1、建立imdd目录

   

   把相应的组件custom放到相应目录里,如上。

  根据自己需要,仿钉钉流程主页修改如下:

<template><div class="page"><section class="page__content" v-if="mockData"><Processref="processDesign":conf="mockData.processData"tabName="processDesign"@startNodeChange="onStartChange"/></section><div class="publish"><el-button size="mini" type="primary" @click="preview"><i class="el-icon-view"></i>预览</el-button><el-button size="mini" type="primary" @click="publish"><i class="el-icon-s-promotion"></i>发布</el-button></div></div>
</template>

      数据也暂时用原先的json数据,后续用api后端数据,其它内容也不做修改,后续根据需要再修改。

   2、在FlowCard里的增加节点里增加三个新功能,就是并行分支,延迟等待与触发器,以后需要增加相应的功能也可以在这里增加。

    

function addNodeButton(ctx, data, h, isBranch = false) {// 只有非条件节点和条件分支树下面的那个按钮 才能添加新分支树console.log("addNodeButton data,isBranch",data,isBranch);//let couldAddBranch = !hasConditionBranch(data) || isBranch;let isEmpty = data.type === "empty";if (isEmpty && !isBranch) {return "";}return (<div class="add-node-btn-box flex  justify-center"><div class="add-node-btn"><el-popover placement="right" trigger="click" width="400"><div class="condition-box"><div><div class="condition-icon" onClick={ctx.eventLancher.bind( ctx, "addApprovalNode",  data, isBranch )} ><i class="el-icon-s-check iconfont"></i></div>审批人</div><div><div class="condition-icon" onClick={ctx.eventLancher.bind( ctx, "addCopyNode",  data, isBranch )} ><i class="el-icon-s-promotion iconfont" style="vertical-align: middle;"></i></div>抄送人</div><div><div class="condition-icon" onClick={this.eventLancher.bind(ctx, "appendBranch", data, isBranch)}><i class="el-icon-share iconfont" style="color:rgb(21, 188, 131);"></i></div>条件分支</div><div><div class="condition-icon" onClick={this.eventLancher.bind(ctx, "addConcurrentBranch", data, isBranch)}><i class="el-icon-s-operation iconfont" style="color:rgb(21, 188, 131);"></i></div>并行分支</div><div><div class="condition-icon" onClick={this.eventLancher.bind(ctx, "addDelayNode", data, isBranch)}><i class="el-icon-time iconfont" style="color:rgb(21, 188, 131);"></i></div>延迟等待</div><div><div class="condition-icon" onClick={this.eventLancher.bind(ctx, "addTriggerNode", data, isBranch)}><i class="el-icon-set-up iconfont" style="color:rgb(21, 188, 131);"></i></div>触发器</div></div><button class="btn" type="button" slot="reference"><i class="el-icon-plus icon"></i></button></el-popover></div></div>);
}

3、一些界面上的样式修改

   因为在新的环境与界面下面,所以相应的样式根据现有界面需要进行修改与调整。

  主要调整下面的界面,包括背景。

4、效果图如下:

这篇关于基于若依的ruoyi-nbcio流程管理系统增加仿钉钉流程设计(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/312102

相关文章

SpringBoot整合Flowable实现工作流的详细流程

《SpringBoot整合Flowable实现工作流的详细流程》Flowable是一个使用Java编写的轻量级业务流程引擎,Flowable流程引擎可用于部署BPMN2.0流程定义,创建这些流程定义的... 目录1、流程引擎介绍2、创建项目3、画流程图4、开发接口4.1 Java 类梳理4.2 查看流程图4

java Long 与long之间的转换流程

《javaLong与long之间的转换流程》Long类提供了一些方法,用于在long和其他数据类型(如String)之间进行转换,本文将详细介绍如何在Java中实现Long和long之间的转换,感... 目录概述流程步骤1:将long转换为Long对象步骤2:将Longhttp://www.cppcns.c

MyBatis设计SQL返回布尔值(Boolean)的常见方法

《MyBatis设计SQL返回布尔值(Boolean)的常见方法》这篇文章主要为大家详细介绍了MyBatis设计SQL返回布尔值(Boolean)的几种常见方法,文中的示例代码讲解详细,感兴趣的小伙伴... 目录方案一:使用COUNT查询存在性(推荐)方案二:条件表达式直接返回布尔方案三:存在性检查(EXI

spring-gateway filters添加自定义过滤器实现流程分析(可插拔)

《spring-gatewayfilters添加自定义过滤器实现流程分析(可插拔)》:本文主要介绍spring-gatewayfilters添加自定义过滤器实现流程分析(可插拔),本文通过实例图... 目录需求背景需求拆解设计流程及作用域逻辑处理代码逻辑需求背景公司要求,通过公司网络代理访问的请求需要做请

使用JavaConfig配置Spring的流程步骤

《使用JavaConfig配置Spring的流程步骤》JavaConfig是Spring框架提供的一种基于Java的配置方式,它通过使用@Configuration注解标记的类来替代传统的XML配置文... 目录一、什么是 JavaConfig?1. 核心注解2. 与 XML 配置的对比二、JavaConf

CentOS7增加Swap空间的两种方法

《CentOS7增加Swap空间的两种方法》当服务器物理内存不足时,增加Swap空间可以作为虚拟内存使用,帮助系统处理内存压力,本文给大家介绍了CentOS7增加Swap空间的两种方法:创建新的Swa... 目录在Centos 7上增加Swap空间的方法方法一:创建新的Swap文件(推荐)方法二:调整Sww

Java对接Dify API接口的完整流程

《Java对接DifyAPI接口的完整流程》Dify是一款AI应用开发平台,提供多种自然语言处理能力,通过调用Dify开放API,开发者可以快速集成智能对话、文本生成等功能到自己的Java应用中,本... 目录Java对接Dify API接口完整指南一、Dify API简介二、准备工作三、基础对接实现1.

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

SpringBoot项目使用MDC给日志增加唯一标识的实现步骤

《SpringBoot项目使用MDC给日志增加唯一标识的实现步骤》本文介绍了如何在SpringBoot项目中使用MDC(MappedDiagnosticContext)为日志增加唯一标识,以便于日... 目录【Java】SpringBoot项目使用MDC给日志增加唯一标识,方便日志追踪1.日志效果2.实现步

Spring AI ectorStore的使用流程

《SpringAIectorStore的使用流程》SpringAI中的VectorStore是一种用于存储和检索高维向量数据的数据库或存储解决方案,它在AI应用中发挥着至关重要的作用,本文给大家介... 目录一、VectorStore的基本概念二、VectorStore的核心接口三、VectorStore的