当前位置: 首页 > news >正文

基于若依的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、效果图如下:

相关文章:

  • 基于物联网、大数据、云计算、人工智能等技术的智慧工地源码(Java+Spring Cloud +UniApp +MySql)
  • GNU 链接器(ld) -ldmain.c的执行过程
  • Postgresql的ddl在事务中可以回滚,truncate时relfilenode在当前会话会改变
  • Apache ActiveMQ RCE漏洞复现(CNVD-2023-69477)
  • Windows上配置IP端口转发
  • css矩形盒子实现虚线流动边框+css实现step连接箭头
  • MySQL WITH AS及递归查询
  • 数据结构和算法——用C语言实现所有排序算法
  • C# WPF: Imag图片填充方式有哪些?
  • Docker 容器服务的注册、发现及Docker安全
  • 十八、模型构建器(ModelBuilder)快速提取城市建成区——批量掩膜提取夜光数据、夜光数据转面、面数据融合、要素转Excel(基于参考比较法)
  • 10.25verilog复习,代码规范复盘,触发器复习
  • Day 4 登录页及路由 (二) -- Vue状态管理
  • 边缘计算技术的崭新篇章:赋能未来智能系统
  • 在Spring boot中 使用JWT和过滤器实现登录认证
  • “大数据应用场景”之隔壁老王(连载四)
  • angular2 简述
  • C++11: atomic 头文件
  • create-react-app项目添加less配置
  • css属性的继承、初识值、计算值、当前值、应用值
  • Debian下无root权限使用Python访问Oracle
  • go append函数以及写入
  • JSDuck 与 AngularJS 融合技巧
  • LeetCode29.两数相除 JavaScript
  • Linux后台研发超实用命令总结
  • PHP面试之三:MySQL数据库
  • php中curl和soap方式请求服务超时问题
  • uva 10370 Above Average
  • Web Storage相关
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 跨域
  • 悄悄地说一个bug
  • 如何学习JavaEE,项目又该如何做?
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 一些关于Rust在2019年的思考
  • 找一份好的前端工作,起点很重要
  • ​flutter 代码混淆
  • !!Dom4j 学习笔记
  • #《AI中文版》V3 第 1 章 概述
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • (42)STM32——LCD显示屏实验笔记
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (附源码)php新闻发布平台 毕业设计 141646
  • (附源码)ssm高校实验室 毕业设计 800008
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (一)python发送HTTP 请求的两种方式(get和post )
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • ***检测工具之RKHunter AIDE
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .NET Framework .NET Core与 .NET 的区别