vue elementui table编辑表单时,弹框增加编辑明细数据
需求:
 前端进行新增表单时,同时增加表单的明细数据。明细数据部分,通过弹框方式增加或者编辑。
 效果图:
 

代码:
   <!-- 新增主表弹窗 Begin --><el-dialog:title="titleInfo"top="5vh"centerwidth="85%":close-on-click-modal="false":close-on-press-escape="false":visible.sync="dialogVisible"><span><el-formref="form":rules="formRules":model="form"style="margin: 0 auto"label-width="32%"><el-row :gutter="24"><el-col :span="12"><el-form-item label="申请日期:" prop="applyDate"><el-date-pickerv-model="form.applyDate"style="width: 80%"clearabletype="date"value-format="yyyy-MM-dd"placeholder="请选择申请日期"/></el-form-item></el-col><el-col :span="12"><el-col :span="14"><el-form-itemprop="applyDept"label="申请部门:"label-width="30%"><el-selectv-model="form.applyDept"style="width: 80%":disabled="true"><el-optionv-for="item in deptLists":key="item.id":label="item.departName":value="item.orgCode"/></el-select></el-form-item></el-col><el-col :span="10"><el-form-itemprop="applyUsername"label="申请人:"label-width="30%"><el-inputv-model="form.applyUsername"style="width: 70%":disabled="true"/></el-form-item></el-col></el-col></el-row></el-form><el-card><div slot="header"><span style="font-weight: bold">外来人员名单</span><el-buttonstyle="float: right"type="primary"@click="insertExterRow">添加</el-button></div><el-tableref="exterTable"align="center"highlight-cellkeep-sourcestripeborderstyle="width: 100%"max-height="400":data="exterTableData":edit-config="{ trigger: 'click', mode: 'row', showStatus: true }"><el-table-column prop="useUser" label="姓名" align="center" /><el-table-column prop="idCard" label="身份证号" align="center" /><el-table-column prop="phone" label="手机号" align="center" /><el-table-column label="操作" align="center" width="220"><template slot-scope="scope"><el-buttonmode="text"icon="el-icon-edit"@click="editExterRow(scope.$index, scope.row)"/><el-buttonmode="text"icon="el-icon-delete"@click="removeExterRow(scope.$index, scope.row)"/></template></el-table-column></el-table></el-card></span><span slot="footer" class="dialog-footer"><el-button @click="cancel">取消</el-button><el-button type="success" :loading="saveLoading" @click="save">保存</el-button></span></el-dialog><!-- 新增主表弹窗 End --><!-- 外来人员弹窗 Start--><el-dialog:title="exterTitleInfo"top="5vh"centerwidth="50%":close-on-click-modal="false":close-on-press-escape="false":visible.sync="exterDialogVisible"><span><el-formref="exterForm":rules="exterFormRules":model="exterForm"style="margin: 0 auto"label-width="25%"><el-row :gutter="24"><el-col :span="24"><el-form-item label="姓名:" prop="useUser"><el-inputv-model="exterForm.useUser"placeholder="请输入姓名"style="width: 80%"/></el-form-item></el-col></el-row><el-row :gutter="24"><el-col :span="24"><el-form-item label="身份证号:" prop="idCard"><el-inputv-model="exterForm.idCard"placeholder="请输入身份证号"style="width: 80%"/></el-form-item></el-col></el-row><el-row :gutter="24"><el-col :span="24"><el-form-item label="手机号:" prop="phone"><el-inputv-model="exterForm.phone"placeholder="请输入手机号"style="width: 80%"/></el-form-item></el-col></el-row></el-form></span><span slot="footer" class="dialog-footer"><el-button @click="cancelExter">取消</el-button><el-button type="success" :loading="exterSaveLoading" @click="saveExter">保存</el-button></span></el-dialog><!--外来人员弹窗 End-->export default {data() {return {// 表单form: {},exterForm: {},exterTableData: [],//form表单验证规则exterFormRules: {}}},methods: {// 添加一行,外来人员信息insertExterRow() {this.exterTitleInfo = '外来人员信息新增'this.exterForm = {}this.exterDialogVisible = truethis.selectExterRow = nullthis.$nextTick(() => {this.$refs.exterForm.clearValidate() // 移除校验结果})},// 编辑一行,外来人员信息editExterRow(index, row) {this.exterTitleInfo = '外来人员信息编辑'this.exterDialogVisible = truethis.selectExterRow = rowthis.exterForm = Object.assign({}, row)this.$nextTick(() => {this.$refs.exterForm.clearValidate() // 移除校验结果})},// 删除一行,外来人员信息removeExterRow(index, row) {this.$confirm('此操作将永久删除当前信息, 是否继续?', '提示', {confirmButtonText: '确定',cancelButtonText: '取消',type: 'warning',center: true}).then(() => {this.exterTableData.splice(index, 1)}).catch(() => {this.$message({type: 'info',message: '已取消删除'})})},// 保存外来人员信息saveExter() {this.$refs.exterForm.validate((valid) => {if (valid) {this.exterSaveLoading = trueif (this.selectExterRow) {Object.assign(this.selectExterRow, this.exterForm)} else {this.exterTableData.push(this.exterForm)}this.exterSaveLoading = falsethis.exterDialogVisible = false} else {return false}})},cancelExter() {this.exterForm = {}this.exterDialogVisible = false}}
}相关文章:
 
vue elementui table编辑表单时,弹框增加编辑明细数据
需求: 前端进行新增表单时,同时增加表单的明细数据。明细数据部分,通过弹框方式增加或者编辑。 效果图: 代码: <!-- 新增主表弹窗 Begin --><el-dialog:title"titleInfo"top"5vh"centerwidth"…...
springboot集成Redisson做分布式消息队列
这里演示Redisson做分布式消息队列。首先引入 Redisson依赖,官方github <dependency><groupId>org.redisson</groupId><artifactId>redisson-spring-boot-starter</artifactId><version>3.17.6</version> </dependen…...
 
如何通过Lua语言请求接口拿到数据
文章目录 概要http客户端通过请求下载数据 概要 当某个需求是需要在模块内请求接口拿到数据,需要使用http客户端调用接口 http客户端 LuaSOC请求接口官方文档 调用:http.request(method,url,headers,body,opts,ca_file,client_ca, client_key, clien…...
 
Android 13 SystemUI 隐藏下拉快捷面板部分模块(wifi,bt,nfc等)入口
frameworks/base/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSFactoryImpl.java createTileInternal(tileSpec)方法注释想隐藏的模块即可。...
 
自由学习记录(14)
unity操作问题 位置:子物体的位置是相对于父物体的。如果你移动父物体,子物体会保持相对于父物体的相对位置,跟着一起移动。 旋转:子物体的旋转也是相对于父物体的。旋转父物体会导致子物体围绕父物体的原点旋转。 缩放…...
 
疯狂Spring Boot讲义[推荐1]
《疯狂Spring Boot讲义》是2021年电子工业出版社出版的图书,作者是李刚 《疯狂Spring Boot终极讲义》不是一本介绍类似于PathVariable、MatrixVariable、RequestBody、ResponseBody这些基础注解的图书,它是真正讲解Spring Boot的图书。Spring Boot的核心…...
vue中$nextTick的作用是什么,什么时候使用
$nextTick 是 Vue 提供的一个方法,用于在下一次 DOM 更新周期之后执行回调函数。它通常用于在 Vue 完成数据更新后,需要访问更新后的 DOM 状态时,保证操作的是更新后的 DOM。 工作原理: Vue 是异步更新 DOM 的,当数据…...
 
Redis实现全局ID生成器
全局ID生成器 为什么要用全局ID生成器 1.当我们使用数据库自增来实现id的生成时,规律过于明显,会给用户暴露很多信息 2.当我们订单量过大时无法用数据库的一张表来存放订单,如果两张表的id都是自增的话,id就会出现重复 什么是全局ID生成器 全局ID生成器,是一种在分布式系统…...
Xshell远程连接工具详解
Xshell是一款在Windows平台上运行的远程连接工具,它支持SSH1、SSH2以及Microsoft Windows平台的TELNET协议。Xshell通过互联网实现对远程主机的安全连接,帮助用户在复杂的网络环境中享受他们的工作。本文将详细介绍Xshell的溯源、最新版本以及它的优势。…...
如何在verilog设计的磁盘阵列控制器中实现不同RAID级别(如RAID 0、RAID 1等)的切换?
以下是一种在Verilog设计的磁盘阵列控制器中实现不同RAID级别(以RAID 0和RAID 1为例)切换的方法: 添加控制信号 在磁盘阵列控制器模块中添加一个输入信号,例如raid_mode,用于选择RAID模式。假设raid_mode = 0表示RAID 0模式,raid_mode = 1表示RAID 1模式。module raid_co…...
 
基于元神操作系统实现NTFS文件操作(十)
1. 背景 本文补充介绍文件遍历操作的部分附加内容,譬如,过滤掉系统元文件、过滤掉重复的文件项、过滤掉隐藏文件等,并提供了基于元神操作系统的部分实现代码。 2. 方法 (1)过滤掉系统元文件 NTFS文件系统的前16个元…...
Qt的几个函数方法
void receiveInfo1() {// 假设这是从串口接收到的字符串QString receivedString "23.5C,45%,1012hPa";// 使用逗号分隔符分割字符串QStringList parts receivedString.split(,);// 检查分割后的列表是否有足够的部分if (parts.size() > 3) {QString part1 part…...
 
openpnp - bug - 散料飞达至少定义2个物料
文章目录 openpnp - bug - 散料飞达至少定义2个物料笔记END openpnp - bug - 散料飞达至少定义2个物料 笔记 散料飞达上定义的物料个数用完了,现在只需要一个料就可以。 用顶部相机去找编带上是否还有一个单独的料,找到了。 定义散料飞达的料为1个&…...
 
HDFS异常org.apache.hadoop.hdfs.protocol.NSQuotaExceededException
HDFS异常org.apache.hadoop.hdfs.protocol.NSQuotaExceededException 异常信息: Hive:org.apache.hadoop.hdfs.protocol.NSQuotaExceededException: The NameSpace quota (directories and files) of directory /xxxdir is exceeded: quota10000 file count15001N…...
数据库的构成与手写简单数据库的探索
一、引言 在当今数字化的时代,数据库扮演着至关重要的角色。无论是企业管理系统、电子商务平台还是各种移动应用,都离不开数据库的支持。数据库是存储和管理数据的核心工具,它的高效性、可靠性和安全性对于数据的处理和应用至关重要。本文将…...
 
基于STM32的智能晾衣架设计
引言 随着智能家居的普及,智能晾衣架成为了提升生活便利性的重要设备。智能晾衣架通过集成多个传感器,能够自动感知天气变化、湿度、光照等环境因素,实现自动升降、风干和报警功能,帮助用户更加高效地晾晒衣物。本项目基于STM32设…...
 
【MAUI】模糊控件(毛玻璃高斯模糊亚克力模糊)
文章目录 XAML.CSToBytes方法使用效果 常试过AcrylicView.MAUI和Sharpnado.MaterialFrame,对于二者教程很少,使用直接写控件然后调属性,没有报错但也并没有效果所幸就自己写一个 XAML <?xml version"1.0" encoding"utf-…...
深度学习:pandas篇
1. Pandas 基础 Pandas 是一个帮助你处理和分析数据的工具 安装 Pandas pip install pandas 导入 Pandas,我们用 pd 来代替 Pandas 的全称,这样以后写代码的时候更简洁 import pandas as pd 建 Series 和 DataFrame Pandas 最基本的两个数据结构是…...
 
Redis学习文档(Redis基本数据类型【Hash、Set】)
Hash(哈希) 介绍 Redis 中的 Hash 是一个 String 类型的 field-value(键值对) 的映射表,特别适合用于存储对象,后续操作的时候,你可以直接修改这个对象中的某些字段的值。 Hash 类似于 JDK1.…...
 
15分钟学Go 第9天:函数的定义与调用
第9天:函数的定义与调用 欢迎来到第9天的Go语言学习模块!今天我们将深入探讨函数的定义与调用,帮助你掌握如何编写和使用函数。学习函数不仅是Go语言的基础,也是程序设计的核心概念之一。这一节将详细介绍函数的结构、参数传递、…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...
 
C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
 
(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
 
Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
 
有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...
 
算法岗面试经验分享-大模型篇
文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...
 
嵌入式学习笔记DAY33(网络编程——TCP)
一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...
 
在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)
考察一般的三次多项式,以r为参数: p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]; 此多项式的根为: 尽管看起来这个多项式是特殊的,其实一般的三次多项式都是可以通过线性变换化为这个形式…...
Go语言多线程问题
打印零与奇偶数(leetcode 1116) 方法1:使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...
