vue2人力资源项目5组织架构的增删改查

编辑表单回显

父组件:这里用到了父亲调子组件的方法和同步异步先后方法的处理

//methods里else if (type === 'edit') {this.showDialog = true// 显示弹层this.currentNodeId = id// 记录id,要用它获取数据// 在子组件中获取数据// 父组件调用子组件的方法来获取数据// 这里因为同步异步的问题,需要使用$nextTickthis.$nextTick(() => {this.$refs.addDept.getDepartmentDatail()// this.$refs.addDept等同于子组件的this})}}

子组件 

 // 获取组织的详情async  getDepartmentDatail() {this.formData = await getDepartmentDetail(this.currentNodeId)}

利用d区分·是编辑还是增加(注意let)

 let result = await getDepartment()if (this.formData.id) {result = result.filter(item => item.id !== this.formData.id)}if (result.some(item => item.name === value)) {callback(new Error('已经有了'))} else {callback()}

编辑表单的确认和取消

1.业务逻辑

2.先封装接口, 在用id区分编辑和新增,在调用接口

 // 点击确定时调用btnOk() {this.$refs.addDept.validate(async(isOk) => {if (isOk) {// formData里的前四个都有值,最后一个没有,所以把currentNodeId 的值赋给pid// 调用接口一定要记得加await和asyncif (this.formData.id) {// 调用编辑接口,传入数据await updateDepartment(this.formData)} else {// 调用新增接口await addDepartment({ ...this.formData, pid: this.currentNodeId })}

3.通知父组件(这里编辑与新增是相同的)

    // 完成await之后,通知父组件更新this.$emit('updateDepartment')

4.重置表单,关闭弹层

5.更改提示信息

设置变量  let msg = '新增'

 if (isOk) {let msg = '新增'// formData里的前四个都有值,最后一个没有,所以把currentNodeId 的值赋给pid// 调用接口一定要记得加await和asyncif (this.formData.id) {msg = '更新'// 调用编辑接口,传入数据await updateDepartment(this.formData)} else {// 调用新增接口await addDepartment({ ...this.formData, pid: this.currentNodeId })}// 完成await之后,通知父组件更新this.$emit('updateDepartment')// 提示消息this.$message.success(`${msg}+部门成功`)// 提示消息// 调用close方法,重置和关闭表单this.close()

6.弹框标题更改

定义了computed

 computed: {showTitle() {return this.formData.id ? '编辑部门' : '新增部门'}},

给标题绑定

<el-dialog :title="show-title" :visible="showDialog" @close="close">

同时置空表单

 close() {// 修改父组件的值 子传父this.formData = {code: '', // 部门编码introduce: '',managerId: '',name: '',pid: ''}// 重置表单// resetFields只能重置在模板中绑定的数据this.$refs.addDept.resetFields()// 修改父组件的值,子传父this.$emit('update:showDialog', false)},

删除功能

 封装api

// 删除·部门·接口·
export function delDepartment(id) {return request({method: 'delete',url: `/company/department/${id}`})
}

调用接口,提示信息,回显,注意使用this

 this.$confirm('您确定要删除吗').then(async() => {await delDepartment(id)// 删除成功,弹出提示框this.$message.success('删除部门成功')// 调用方法重新显示数据this.getDepartment()

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

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

相关文章

Go语言流程控制(一)

分支结构 if...else...语句 Go 语言中的 if...else 语句是一种基本的流程控制结构&#xff0c;用于根据条件执行不同的代码块。下面是关于 Go 语言中 if...else 语句的详细介绍&#xff1a; 基本语法 if 条件表达式 {// 当条件表达式为 true 时执行的代码 } else {// 当条件…

零基础代码随想录【Day27】|| 39. 组合总和,40.组合总和II, 131.分割回文串

目录 DAY27 39. 组合总和 解题思路&代码 40.组合总和II 解题思路&代码 131.分割回文串 解题思路&代码 DAY27 39. 组合总和 力扣题目链接(opens new window) 给定一个无重复元素的数组 candidates 和一个目标数 target &#xff0c;找出 candidates 中所有…

MySQL日志机制【undo log、redo log、binlog 】

前言 SQL执行流程图文分析&#xff1a;从连接到执行的全貌_一条 sql 执行的全流程?-CSDN博客文章浏览阅读1.1k次&#xff0c;点赞20次&#xff0c;收藏12次。本文探讨 MySQL 执行一条 SQL 查询语句的详细流程&#xff0c;从连接器开始&#xff0c;逐步介绍了查询缓存、解析 S…

Prompt提示词教程 | 提示工程指南 | 提示词示例 入门篇

在上一节中&#xff0c;我们介绍并给出了如何赋能大语言模型的基本示例。如果还没看而且是刚入门的同学建议看下&#xff0c;有个基本概念。 Prompt提示词教程 | 提示工程指南 | 提示工程简介https://blog.csdn.net/HRG520JN/article/details/138523705在本节中&#xff0c;我…

基于springboot+vue+Mysql的教师人事档案管理系统

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

Ansible自动化运维工具---Playbook

一、playbook playbook是剧本的意思 通过 task 调用 ansible 的模块将多个 play 组织在一 个playbook中运行。 playbook本身由以下各部分组成&#xff1a; Tasks: 任务&#xff0c;即调用模块完成的某操作Variables: 变量Templates: 模板Handlers: 处理器&#xff0c;当某条…

力扣刷题--数组--第二天

今天仍然做二分查找相关的题目。先来回顾一下二分查找的方法和使用的条件。二分查找是在数组中查找目标值的一种方法&#xff0c;通过边界索引确定中间索引&#xff0c;判断中间索引处的元素值和目标值的大小&#xff0c;来不断缩小查找区间。使用二分查找有如下一些限制&#…

深度剖析muduo网络库1.1---面试提问(阻塞、非阻塞、同步、异步)

在面试过程中&#xff0c;如果被问到关于IO的阻塞、非阻塞、同步、异步时&#xff0c;我们应该如何回答呢&#xff1f; 结合最近学习的课程&#xff0c;我作出了以下的总结&#xff0c;希望能与大家共同探讨&#xff01; 先给出 陈硕大神原话&#xff1a;在处理IO的时候&…

Macbook Pro 2017 安装 Sonoma 简述版(带问题解决操作)

详细原因已经写在之前的记录中了&#xff0c;可转去查看&#xff1a; 记录Macbook Pro 2017 使用Opencore安装sonoma_macbookpro2017升级sonoma-CSDN博客 下面是最近整理可用的方法简述版本&#xff0c;只记录安装要点&#xff0c;最后说明一下不按步骤安装可能会出现的问题。…

【Hugging Face】编写 shell 脚本在 huggingface 镜像站快速下载模型文件

前言 我们使用 Git LFS 和 wget 结合的方法&#xff0c;小文件使用 Git 下载&#xff0c;大文件使用 wget 下载 Git 下载的优缺点&#xff1a; 优点&#xff1a;相当简单 缺点&#xff1a;不支持断点续传 直接 wegt 下载比较稳定&#xff0c;但是欠缺优雅 我们可以将这两…

GaussianTalker 学习笔记

目录 巴塞尔面部模型 01_MorphableModel.mat 下载地址: 数据准备转换BFM 缺少diff_gaussian_rasterization.py

Backblaze发布2024 Q1硬盘故障质量报告-2

截至2024年第一季度末&#xff0c;我们正在跟踪279,572块正在运行的硬盘。硬盘型号在2024年第一季度末必须拥有500块或更多的硬盘&#xff0c;并在整个使用寿命期间累积超过100,000个硬盘工作日&#xff0c;达到这个条件的所有型号盘的故障率趋势表现如下&#xff1a; 除了三种…

JAVA两个线程交替打印实现

方案1 Semaphore 机制 通过信息号机制来 协调两个线程&#xff0c;一个线程打印后&#xff0c;给另一个线程释放一个信号量 Semaphore semaphorea new Semaphore(1);Semaphore semaphoreb new Semaphore(0);Thread threada new Thread(new Runnable() {Overridepublic void…

11.Netty简单认识

介绍 Netty是一个异步的&#xff0c;基于事件驱动&#xff08;采用多路复用技术Selector&#xff09;的网络应用框架。用于快速开发可维护、高性能的网络服务器和客户端。 IO事件发生时才会进行相应的处理。可连接&#xff0c;可读&#xff0c;可写事件。 Netty的异步 这里…

W801学习笔记十八:古诗学习应用——中

现在我们加入交互逻辑——对用户选择的判断。 1、定义游戏的相关变量&#xff0c;如记录正确和错误的数量&#xff0c;运行时间等等。这些都可以作为游戏应用的私有属性。 u8 isFinished0;u16 correntCount 0;u16 wrongCount 0;u32 totalTime0; 2、处理交互。 根据前边定义…

python画折线图(一图多线)

python画折线图&#xff08;一图多线&#xff09; import matplotlib.pyplot as plt import seaborn as snsx ["0cm", "10cm", "20cm", "30cm", "40cm", "50cm", "60cm"] //x轴 RBF [] //Y轴对应的数…

20240430,类模板案例-数组类封装,STL初识,STRING容器(构造函数,赋值)

我真的碎掉了&#xff0c;主要是我很缺那点钱啊现在&#xff0c;我真的碎掉了我碎掉了碎掉了碎掉了 目录 0.8 类模板案例-数组类封装 myarray.hpp a.cpp 一&#xff0c;STL初识 1.1 STL基本概念 1.2 vector 存放内置数据 1.3 vector存放自定义数据(及指针类型&#xf…

JavaScript逆向技术

JavaScript逆向之旅&#xff1a;深入解析与实践 在数字时代&#xff0c;前端技术的迅速发展使得Web应用变得更加丰富和复杂。JavaScript&#xff0c;作为前端的核心语言&#xff0c;其安全性和隐私保护问题也逐渐浮出水面。JavaScript逆向&#xff0c;作为一种从前端代码中提取…

ros安装cartographer

安装 当然是先去看cartograpger官方文档了&#xff0c;照着说明一步步下来。 执行以下语句会报错&#xff0c; wstool merge -t src https://raw.githubusercontent.com/cartographer-project/cartographer_ros/master/cartographer_ros.rosinstall wstool update -t src参看…

c/c++:山顶元素

题目描述(题目链接) 从键盘输入一个整型二维数组&#xff0c;遍历二维数组中的每个元素&#xff0c;如果此元素比其上下左右的数字都大&#xff0c;即为山顶元素。 输入格式 一个≥1的整数&#xff0c;表名是几行几列的二维数组&#xff0c;一个整型二维数组&#xff0c;数据…