el-table表格变更前后根据数据值改变背景颜色

需求:

1.左侧变更前表格数据不可以编辑,并且背景色加灰

2.右侧变更后表格数据可被编辑,编辑后变更前与变更后行数据不一致,添加背景色区分

3.点击删除的时候,给变更后表格当前行,添加背景色和删除的中横线

    <el-tableref="table":data="tableDataList"style="width: 100%; margin: 0 auto; font-size: 14px;"height="100%"align="center"row-key="node_code":row-class-name="tableRowClassName":cell-class-name="tableCellClassName"@cell-click="handleCellClick"><el-table-column align="center" label="操作" min-width="90" fixed="right"><template slot-scope="scope"><div><a class="mc" title="删除" @click="handleDel(scope.row)"><em slot="reference" class="el-icon-delete mc" style="cursor: pointer" /></a></div></template></el-table-column><el-table-column label="变更前"><el-table-column v-for="(item, index) in viewColumns" :key="index" :fixed="item.fixed" :prop="item.prop" :align="item.align" :label="item.label" :min-width="item.width" :show-overflow-tooltip="true"><template slot-scope="scope"><!-- <el-input v-if="scope.row.index == rowIndex && scope.column.index == columnIndex" v-model="scope.row[item.prop]" class="item__input" placeholder="请输入" @blur="handleBlur" /> --><div class="item__txt">{{ scope.row[item.prop] }}</div></template></el-table-column></el-table-column><el-table-column label="变更后" class="after_class"><!-- 变更前的数据是不可修改的,变更后的数据是可以被修改的 --><el-table-column v-for="(item, index) in viewColumnsTwo" :key="index" :fixed="item.fixed" :prop="item.prop" :align="item.align" :label="item.label" :min-width="item.width" :show-overflow-tooltip="true" class="after_class"><template slot-scope="scope" class="after_class"><el-input v-if="scope.row.index == rowIndex && scope.column.index == columnIndex" v-model="scope.row[item.prop]" class="item__input" placeholder="请输入" @blur="handleBlur" /><div v-else class="item__txt after_class">{{ scope.row[item.prop] }}</div></template></el-table-column></el-table-column></el-table>

数据值:

<script>
data() {return {
tableDataList:[],
//isEdit单元格控制是否可编辑viewColumns: [{ prop: 'topSymptomBefore', width: '120', align: 'center', label: '事项', fixed: false, isEdit: false },{ prop: 'controlItemBefore', width: '120', align: 'center', label: '管理项', fixed: false, isEdit: false },{ prop: 'controlStandardBefore', width: '120', align: 'center', label: '管理基准', fixed: false, isEdit: false },{ prop: 'remarkBefore', width: '120', align: 'center', label: '备注', fixed: false, isEdit: false}],// idAfter是当前数据的id,新增的时候 这个数据是viewColumnsTwo: [{ prop: 'topSymptomAfter', width: '120', align: 'center', label: '事项', fixed: false, isEdit: true },{ prop: 'controlItemAfter', width: '120', align: 'center', label: '管理项', fixed: false, isEdit: true },{ prop: 'controlStandardAfter', width: '120', align: 'center', label: '管理基准', fixed: false, isEdit: true },{ prop: 'remarkAfter', width: '120', align: 'center', label: '备注', fixed: false, isEdit: true }], }
}</script>

添加背景色处理:

 tableCellClassName({ row, column, columnIndex }) {// 把每一列的索引放到column里column.index = columnIndexif (row.colorFlag) {if ((column.property == 'topSymptomAfter' || column.property == 'controlItemAfter' || column.property == 'controlStandardAfter' || column.property == 'remarkAfter')) {return 'warning-row' // 返回被点击行的样式}}if (column.property == 'topSymptomBefore' || column.property == 'controlItemBefore' || column.property == 'controlStandardBefore' || column.property == 'remarkBefore') {return 'success-row' // 返回被点击行的样式}// 对比后的数据 不等于 对比前的数据,那么添加背景色if (column.property == 'topSymptomAfter' && (row.topSymptomAfter.toString() !== row.topSymptomBefore.toString())) {return 'fill-row'}if (column.property == 'controlItemAfter' && (row.controlItemAfter.toString() !== row.controlItemBefore.toString())) {return 'fill-row'}if (column.property == 'controlStandardAfter' && (row.controlStandardAfter.toString() !== row.controlStandardBefore.toString())) {return 'fill-row'}if (column.property == 'remarkAfter' && (row.remarkAfter.toString() !== row.remarkBefore.toString())) {return 'fill-row'}return '' // 返回其他行的默认样式},//删除行handleDel(row) {this.handleIdentification(row)// this.tableDataList = this.tableDataList.filter(item => item.index !== row.index)if (!(row.topSymptomBefore && row.controlItemBefore && row.controlStandardBefore && row.remarkBefore)) {row.colorFlag = false// 如果左侧没有数据值,只有右侧有数据值,点击删除 是删除整条数据this.tableDataList = this.tableDataList.filter(item => item.index !== row.index)}if ((row.topSymptomAfter || row.controlItemAfter || row.controlStandardAfter || row.remarkAfter)) {row.colorFlag = trueupdateMqs(this.addForm).then(res => {this.$message.success(res.msg)}).catch(res => {this.$message.error(res.msg)})}},
<style lang="scss" scoped>
::v-deep .el-table .warning-row{text-decoration: line-through;background-color: #f0f9eb;color: red
}
::v-deep .el-table  .success-row {background-color: #F0F0F0;}
::v-deep .el-table .fill-row{background-color: #F5F108;
}</style>

成果:

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

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

相关文章

【UML用户指南】-15-对高级结构建模-对象图

目录 1、对象图的组成 2、 对象图和类图关系 3、对对象结构建模 4、逆向工程 5、对象图构建要求 对象图对包含在类图中的事物的实例建模。 对象图显示了在某一时间点上一组对象以及它们之间的关系。 对象图用于对系统的静态设计视图或静态交互视图建模。 对某一时刻的系统…

计算机网络知识点汇总(二)

计算机网络知识点汇总 第1章计算机网络体系结构 1.1 计算机网络概述 1.1.1 计算机网络的概念 ​ 计算机网络是由若干个结点(node)和连接这些结点的链路(link)组成。网络中的结点可以是就三级、集线器、交换机、或者路由器等&#xff0c;网络之间通过路由器进行互联&#xf…

记一次某单位的内网渗透测试

0x01 web打点 访问漏洞url:http://www.xx.xx.com进入某医疗系统 使用越权加文件上传拿到shell 0x02 内网渗透 192.168.xx.x 管理员 通过哥斯拉上线msf 上线后进行信息收集: 网卡信息、补丁信息、杀毒进程、用户在线情况、是否存在域、翻文件查找数据库密码、浏览器保存密码…

windows桌面运维----第六天

1、操作系统蓝屏的通常解决办法有哪些&#xff1f; 第一种方法&#xff1a;重启电脑。首先尝试重启电脑&#xff0c;有时简单的重启可以解决临时的问题。 第二种方法&#xff1a;检查硬件连接。确保所有硬件设备&#xff08;如内存条、硬盘、显卡等&#xff09;都正确连接&am…

119.网络游戏逆向分析与漏洞攻防-邮件系统数据分析-邮件读取与删除功能的封装

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 如果看不懂、不知道现在做的什么&#xff0c;那就跟着做完看效果&#xff0c;代码看不懂是正常的&#xff0c;只要会抄就行&#xff0c;抄着抄着就能懂了 内容…

DNS部署与安全

一、DNS 英文全称&#xff1a;Domain Name Service 含义&#xff1a;域名服务 作用&#xff1a;为客户机提供域名解析服务 二、域名组成 域名组成概述 &#xff08;1&#xff09;如"www.sina.com.cn”是一个域名&#xff0c;从严格意义上讲&#xff0c;“sina.com.cn”…

苹果入局AI手机 iOS 18将应用AI功能

当三星、华为等国内外手机厂商都在卷着造AI手机时&#xff0c;智能手机大佬苹果那边确一直没什么动静。直到今年5月&#xff0c;距离苹果 WWDC24 全球开发者大会还有十多天时&#xff0c;长期关注苹果的博社记者Mark Gurman放料&#xff0c;iOS 18系统中将会应用一些AI功能。 从…

玩转Matlab-Simscape(初级)- 10 - 基于COMSOLSimulink 凸轮机构的控制仿真

** 玩转Matlab-Simscape&#xff08;初级&#xff09;- 10 - 基于COMSOL&Simulink 凸轮机构的控制仿真 ** 目录 玩转Matlab-Simscape&#xff08;初级&#xff09;- 10 - 基于COMSOL&Simulink 凸轮机构的控制仿真 前言一、简介二、在Solidworks中创建3D模型&#xff…

PPT可以转换成Word吗?归纳了三种转换方式

PPT可以转换成Word吗&#xff1f;在当今快节奏的工作和学习环境中&#xff0c;不同格式文件之间的转换变得日益重要。PPT作为演示文稿制作的首选工具&#xff0c;广泛应用于会议演讲、教育培训等多个场景&#xff0c;而Word则是文档编辑与编排的基石。为了便于进一步编辑、分享…

深入解析Thrift分布式通信:架构、实现与实践

引言 在现代分布式系统中&#xff0c;通信效率和可扩展性是关键。Facebook开发的Thrift作为一种高效的服务框架&#xff0c;旨在解决不同语言和平台之间的通信问题。Thrift通过提供接口定义语言&#xff08;IDL&#xff09;和生成代码&#xff0c;实现跨语言的RPC&#xff08;…

docker迁移容器

docker迁移容器 将容器保存为镜像 docker commit container-id image-name将保存好的镜像打包(保存到/path文件夹) docker save image-name > /path/image-name.tar将打包好的镜像迁移到新服务器&#xff0c;新服务器执行如下命令 scp -P 22 username旧服务器IP地址:/旧服务…

远程桌面无法连接,远程桌面连接登录没有成功

在信息技术领域&#xff0c;远程桌面连接作为一种便捷的管理和操作工具&#xff0c;对于企业和个人用户而言都具有极其重要的价值。然而&#xff0c;在实际使用过程中&#xff0c;远程桌面无法连接的问题时常出现&#xff0c;这不仅影响了工作效率&#xff0c;还可能对数据安全…

房间灰尘多怎么办?资深保洁推荐除尘最有效的空气净化器

家中的灰尘问题一直是许多人的烦恼&#xff0c;尤其是对尘螨过敏的人来说&#xff0c;灰尘简直是“心头之患”。常言道&#xff1a;“家有尘埃&#xff0c;心头有累。”每天打扫灰尘成了许多人的烦恼&#xff0c;尤其是对尘螨过敏的人来说&#xff0c;灰尘简直是“心头之患”。…

酷得智能 电子方案开发 单片机方案定制

手持小风扇电子方案开发&#xff0c;东莞酷得智能科技有限公司为您服务 东莞市酷得智能科技有限公司 在消费类电子市场深耕多年&#xff0c;依托于市场团队对市场的敏锐度、工程团队的技术积累、结合自身的创新以及和上游原厂深度合作&#xff0c;在2.4G通信、BLE、语音、马达…

基于TCAD与紧凑模型结合方法探究陷阱对AlGaN/GaN HEMTs功率附加效率及线性度的影响

来源&#xff1a;Investigation of Traps Impact on PAE and Linearity of AlGaN/GaN HEMTs Relying on a Combined TCAD–Compact Model Approach&#xff08;TED 24年&#xff09; 摘要 本文提出了一种新型建模方法&#xff0c;用于分析GaN HEMTs的微波功率性能。通过结合工…

Vue 表格动态添加行/删除行

<template><div class"elife-container"><el-row :gutter"10" class"mb8"><el-col :span"1.5"><el-button type"primary" plain size"mini" click"handleAdd">新增</…

代码随想录算法训练营Day44|322.零钱兑换、279.完全平方数、139.单词拆分

零钱兑换 322. 零钱兑换 - 力扣&#xff08;LeetCode&#xff09; 本题是完全背包问题 dp数组表示组成amount金额所需的最少硬币个数。 考虑dp数组的推导公式&#xff0c;由于是计算最少硬币的个数&#xff0c;所以需要考虑dp[i-coins[j]1和dp[i]的较小值。所以dp[i] min(…

js中的正则表达式简述

JavaScript中的正则表达式简述 正则表达式是一种强大的文本处理工具&#xff0c;它可以帮助我们在JavaScript中进行复杂的文本匹配、搜索和替换操作。博主在下面介绍一些基本的正则表达式语法&#xff1a; 当然这些语法不止适用于js&#xff0c;因为各种语言下的正则语法基本…

企业微信集成策略:打破壁垒,驱动企业数字化转型

随着全球化和数字化的快速推进&#xff0c;企业如何在激烈的市场竞争中脱颖而出&#xff0c;成为每个企业家和决策者关注的焦点。腾讯推出的企业微信&#xff0c;作为一款集沟通、协作、管理于一体的企业通讯与办公工具&#xff0c;正逐步成为企业数字化转型的得力助手。NetFar…

JVM 垃圾收集算法

首先我们要知晓&#xff0c;垃圾收集是建立在两个分代假说之上的&#xff1a; ①弱分代假说&#xff1a;绝大多数对象都是朝生夕灭的 ②强分代假说&#xff1a;熬过越多次垃圾收集的对象就越难消亡 收集器应该将Java堆划分出不同的区域&#xff0c;然后将回收对象依据其年龄分配…