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

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}}
}
http://www.lryc.cn/news/467474.html

相关文章:

  • springboot集成Redisson做分布式消息队列
  • 如何通过Lua语言请求接口拿到数据
  • Android 13 SystemUI 隐藏下拉快捷面板部分模块(wifi,bt,nfc等)入口
  • 自由学习记录(14)
  • 疯狂Spring Boot讲义[推荐1]
  • vue中$nextTick的作用是什么,什么时候使用
  • Redis实现全局ID生成器
  • Xshell远程连接工具详解
  • 如何在verilog设计的磁盘阵列控制器中实现不同RAID级别(如RAID 0、RAID 1等)的切换?
  • 基于元神操作系统实现NTFS文件操作(十)
  • Qt的几个函数方法
  • openpnp - bug - 散料飞达至少定义2个物料
  • HDFS异常org.apache.hadoop.hdfs.protocol.NSQuotaExceededException
  • 数据库的构成与手写简单数据库的探索
  • 基于STM32的智能晾衣架设计
  • 【MAUI】模糊控件(毛玻璃高斯模糊亚克力模糊)
  • 深度学习:pandas篇
  • Redis学习文档(Redis基本数据类型【Hash、Set】)
  • 15分钟学Go 第9天:函数的定义与调用
  • Java虚拟机:JVM介绍
  • R数据科学 16.5.3练习题
  • 通过conda install -c nvidia cuda=“11.3.0“ 安装低版本的cuda,但是却安装了高版本的12.4.0
  • 简易CPU设计入门:验证取指令模块
  • 【MySQL数据库】MySQL主从复制
  • CDC变更数据捕捉技术是什么?和ETL有什么不同?
  • 一种用于推进欧洲临床中心中风管理的联邦学习平台即服务
  • 给哔哩哔哩bilibili电脑版做个手机遥控器
  • opencv dnn模块 示例(27) 目标检测 object_detection 之 yolov11
  • 鸿蒙开发融云demo初始化和登录
  • 手机防窥膜的工作原理是怎样的?有必要使用防窥膜吗?