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

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

gitee源代码地址

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

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

这个部门主要是修改审批人的指定用户选择,这里就要采用ruoyi的用户体系。

这里主要是修改PropPanel.vue文件的内容修改

1、对于指定用户的选择修改如下:

<div v-else class="option-box"><div class="element-drawer__button"><el-button size="mini" type="primary" icon="el-icon-plus" @click="onSelectUsers()">添加用户</el-button></div><el-tag v-for="userText in selectedUser.text" :key="userText" effect="plain">{{userText}}</el-tag></div>

2、增加用户选择窗口

<!-- 候选用户弹窗 --><el-dialog title="候选用户" :visible.sync="userOpen" width="60%" append-to-body><el-row type="flex" :gutter="20"><!--部门数据--><el-col :span="7"><el-card shadow="never" style="height: 100%"><div slot="header"><span>部门列表</span></div><div class="head-container"><el-inputv-model="deptName"placeholder="请输入部门名称"clearablesize="small"prefix-icon="el-icon-search"style="margin-bottom: 20px"/><el-tree:data="deptOptions":props="deptProps":expand-on-click-node="false":filter-node-method="filterNode"ref="tree"default-expand-all@node-click="handleNodeClick"/></div></el-card></el-col><el-col :span="17"><el-table ref="multipleTable" height="600" :data="userTableList" border @selection-change="handleSelectionChange"><el-table-column type="selection" width="50" align="center" /><el-table-column label="用户名" align="center" prop="nickName" /><el-table-column label="部门" align="center" prop="dept.deptName" /></el-table><pagination:total="userTotal":page.sync="queryParams.pageNum":limit.sync="queryParams.pageSize"@pagination="getUserList"/></el-col></el-row><div slot="footer" class="dialog-footer"><el-button type="primary" @click="handleTaskUserComplete">确 定</el-button><el-button @click="userOpen = false">取 消</el-button></div></el-dialog>

3、增加相应的变量

selectedUser: {ids: [],text: []},userOpen: false,deptName: undefined,deptOptions: [],deptProps: {children: "children",label: "label"},deptTempOptions: [],userTableList: [],userTotal: 0,selectedUserDate: [],roleOptions: [],roleIds: [],deptTreeData: [],deptIds: [],// 查询参数queryParams: {deptId: undefined},

4、增加相应的方法如下:

    onSelectUsers() {this.selectedUserDate = []this.$refs.multipleTable?.clearSelection();this.getDeptOptions();this.userOpen = true;},/*** 清空选项数据*/clearOptionsData() {this.selectedUser.ids = [];this.selectedUser.text = [];this.roleIds = [];this.deptIds = [];},/** 查询用户列表 */getUserList() {listUser(this.addDateRange(this.queryParams, this.dateRange)).then(response => {this.userTableList = response.rows;this.userTotal = response.total;});},/*** 查询部门下拉树结构*/getDeptOptions() {return new Promise((resolve, reject) => {if (!this.deptOptions || this.deptOptions.length <= 0) {deptTreeSelect().then(response => {this.deptTempOptions = response.data;this.deptOptions = response.data;resolve()})} else {reject()}});},/*** 查询部门下拉树结构(含部门前缀)*/getDeptTreeData() {function refactorTree(data) {return data.map(node => {let treeData = { id: `DEPT${node.id}`, label: node.label, parentId: node.parentId, weight: node.weight };if (node.children && node.children.length > 0) {treeData.children = refactorTree(node.children);}return treeData;});}return new Promise((resolve, reject) => {if (!this.deptTreeData || this.deptTreeData.length <= 0) {this.getDeptOptions().then(() => {this.deptTreeData = refactorTree(this.deptOptions);resolve()}).catch(() => {reject()})} else {resolve()}})},/*** 查询部门下拉树结构*/getRoleOptions() {if (!this.roleOptions || this.roleOptions.length <= 0) {listRole().then(response => this.roleOptions = response.rows);}},/** 查询用户列表 */getUserList() {listUser(this.addDateRange(this.queryParams, this.dateRange)).then(response => {this.userTableList = response.rows;this.userTotal = response.total;});},// 筛选节点filterNode(value, data) {if (!value) return true;return data.label.indexOf(value) !== -1;},// 节点单击事件handleNodeClick(data) {this.queryParams.deptId = data.id;this.getUserList();},// 多选框选中数据handleSelectionChange(selection) {this.selectedUserDate = selection;},handleTaskUserComplete() {if (!this.selectedUserDate || this.selectedUserDate.length <= 0) {this.$modal.msgError('请选择用户');return;}console.log("handleTaskUserComplete this.selectedUserDate",this.selectedUserDate);this.orgCollection.user = this.selectedUserDate;this.approverForm.text = this.selectedUserDate.map(k => k.nickName).join() || null;this.selectedUser.text = this.selectedUserDate.map(k => k.nickName) || [];this.userOpen = false;},

5、效果图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/155053.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

景联文科技:专业数据标注公司赋能高质量医学数据,助力AI医疗大模型突破数据瓶颈

AI医疗大模型在近年来逐渐受到关注&#xff0c;亿欧在《2023AI大模型医疗健康场景应用研究预热》中指出&#xff0c;目前在医疗行业&#xff0c;不管是从模型本身还是数据&#xff0c;生成式大模型与国外相比还是存在着较大的差距。核心的问题就是缺乏优质数据&#xff0c;从而…

Linux之线程池

线程池 线程池概念线程池的应用场景线程池实现原理单例模式下线程池实现STL、智能指针和线程安全其他常见的各种锁 线程池概念 线程池&#xff1a;一种线程使用模式。 线程过多会带来调度开销&#xff0c;进而影响缓存局部性和整体性能。而线程池维护着多个线程&#xff0c;等待…

人工智能基础_机器学习007_高斯分布_概率计算_最小二乘法推导_得出损失函数---人工智能工作笔记0047

这个不分也是挺难的,但是之前有详细的,解释了,之前的文章中有, 那么这里会简单提一下,然后,继续向下学习 首先我们要知道高斯分布,也就是,正太分布, 这个可以预测x在多少的时候,概率最大 要知道在概率分布这个,高斯分布公式中,u代表平均值,然后西格玛代表标准差,知道了 这两个…

4.多层感知机-2简化版

#pic_center R 1 R_1 R1​ R 2 R^2 R2 目录 知识框架No.1 多层感知机一、感知机1、感知机2、训练感知机3、图形解释4、收敛定理5、XOR问题6、总结 二、多层感知机1、XOR2、单隐藏层3、单隐藏层-单分类4、为什么需要非线性激活函数5、Sigmoid函数6、Tanh函数7、ReLU函数8、多类分…

【httpd】 Apache http服务器目录显示不全解决

文章目录 1. 文件名过长问题1.1 在centos中文件所谓位置etc/httpd/conf.d/httpd-autoindex.conf1.2 在配置文件httpd-autoindex.conf中的修改&#xff1a;1.3 修改完成后重启Apache&#xff1a; 1. 文件名过长问题 1.1 在centos中文件所谓位置etc/httpd/conf.d/httpd-autoindex…

Linux | 进程终止与进程等待

目录 前言 一、进程终止 1、进程终止的几种可能 2、exit 与 _exit 二、进程等待 1、为什么要进程等待 2、如何进行进程等待 &#xff08;1&#xff09;wait函数 &#xff08;2&#xff09;waitpid函数 3、再次深刻理解进程等待 前言 我们前面介绍进程时说子进程退出…

【机器学习合集】模型设计之分组网络 ->(个人学习记录笔记)

文章目录 分组网络1. 什么是分组网络1.1 卷积拆分的使用1.2 通道分离卷积的来源1.3 GoogLeNet/Inception1.4 从Inception到Xception(extreme inception)1.5 通道分组卷积模型基准MobileNet 2. 不同通道分组策略2.1 打乱重组的分组2.2 多尺度卷积核分组2.3 多分辨率卷积分组2.4 …

CDN加速技术海外与大陆优劣势对比

内容分发网络&#xff08;CDN&#xff09;是一项广泛应用于网络领域的技术&#xff0c;旨在提高网站和应用程序的性能、可用性和安全性。CDN是一种通过将内容分发到全球各地的服务器来加速数据传输的服务。本文将探讨使用CDN的优势以及国内CDN和海外CDN之间的不同优势和劣势。 …

【Proteus仿真】【Arduino单片机】简易电子琴

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器&#xff0c;使用无源蜂鸣器、按键等。 主要功能&#xff1a; 系统运行后&#xff0c;按下K1-K7键发出不同音调。 二、软件设计 /* 作者&#xff1a;嗨小易&a…

【Docker】如何查看之前docker run命令启动的参数

个人主页&#xff1a;金鳞踏雨 个人简介&#xff1a;大家好&#xff0c;我是金鳞&#xff0c;一个初出茅庐的Java小白 目前状况&#xff1a;22届普通本科毕业生&#xff0c;几经波折了&#xff0c;现在任职于一家国内大型知名日化公司&#xff0c;从事Java开发工作 我的博客&am…

十大排序算法(C语言)

参考文献 https://zhuanlan.zhihu.com/p/449501682 https://blog.csdn.net/mwj327720862/article/details/80498455?ops_request_misc%257B%2522request%255Fid%2522%253A%2522169837129516800222848165%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&…

[Unity][VR]透视开发系列4-解决只看得到Passthrough但看不到Unity对象的问题

【视频资源】 视频讲解地址请关注我的B站。 专栏后期会有一些不公开的高阶实战内容或是更细节的指导内容。 B站地址: https://www.bilibili.com/video/BV1Zg4y1w7fZ/ 我还有一些免费和收费课程在网易云课堂(大徐VR课堂): https://study.163.com/provider/480000002282025/…