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

vue使用table实现动态数据报表(行合并)

<template><div class="previewTable"><h2>***项目研发数据报告</h2><table id="previewTable" width="100%"><tr><th>项目名称</th><td colspan="6">{{ resultData.proName }}</td><th>课程级别</th><td>{{resultData.leval }}</td></tr><tr><th>课题类别</th><td colspan="4"></td><th>目标方向</th><td></td><th>承担部门</th><td></td></tr><tr><th>项目负责人</th><td colspan="3"></td><th>项目成员</th><td colspan="5"></td></tr><tr><th>委托</th><th colspan="3">方案</th><th>样品</th><th colspan="2">检验项目</th><th colspan="2">方案小结</th></tr><tr v-for="(item) in resultData.list" :key="item.id"><td v-if="item.commissionRowSpan != 0" :rowspan="item.commissionRowSpan">{{item.commission}}</td><td v-if="item.schemeRowSpan != 0" :rowspan="item.schemeRowSpan">{{item.scheme}}</td><td v-if="item.schemeNameRowSpan != 0" :rowspan="item.schemeNameRowSpan">{{item.schemeName}}</td><td><span class="link-class" >数据链接</span> 			 </td><td v-if="item.schemeNameRowSpan != 0" :rowspan="item.schemeNameRowSpan">{{item.num}}</td><td>{{item.inspectionItems}}</td><td><span class="link-class" >数据链接</span> 			 </td><td>***小结(小结名称)</td><td><span class="link-class" >数据链接</span> 			 </td></tr></table></div>
</template>
<script>
export default{data(){return{resultData:{proName:"xxx项目名称",leval:'高级',zhengshus:"安全员C证、PMP",list:[{id:0,commission:"委托1",scheme:"委托1方案1",schemeName:"委托1方案1(方案名称)",num:"5",name:"李四",inspectionItems:"直读检测成分",zhengshus:"安全员A证、操作员B证"},{id:0,commission:"委托1",scheme:"委托1方案1",schemeName:"委托1方案1(方案名称)",num:"5",name:"李四",inspectionItems:"金相组织",zhengshus:"安全员A证、操作员B证"},{id:0,commission:"委托1",scheme:"委托1方案1",schemeName:"委托1方案1(方案名称)",num:"5",name:"李四",inspectionItems:"晶粒度评级",zhengshus:"安全员A证、操作员B证"},{id:0,commission:"委托1",scheme:"委托1方案1",schemeName:"委托1方案1(方案名称)",num:"5",name:"李四",inspectionItems:"硬度测量",zhengshus:"安全员A证、操作员B证"},{id:0,commission:"委托1",scheme:"委托1方案2",schemeName:"委托1方案2(方案名称)",num:"5",name:"李四",inspectionItems:"直读检测成分",zhengshus:"安全员A证、操作员B证"},{id:1,commission:"委托1",scheme:"委托1方案2",schemeName:"委托1方案2(方案名称)",num:"5",name:"李四",inspectionItems:"金相组织",zhengshus:"安全员A证、操作员B证"},{id:2,commission:"委托1",scheme:"委托1方案3",schemeName:"委托1方案3(方案名称)",num:"5",name:"王五",inspectionItems:"晶粒度评级",zhengshus:"安全员A证、操作员B证"},{id:3,commission:"委托2",scheme:"委托2方案1",schemeName:"委托2方案1(方案名称)",num:"5",name:"何佳慧",inspectionItems:"硬度测量",zhengshus:"安全员A证、操作员B证"},{id:4,commission:"委托2",scheme:"委托2方案2",schemeName:"委托2方案2(方案名称)",num:"5",name:"王五",inspectionItems:"常温冲击",zhengshus:"安全员A证、操作员B证"},{id:5,commission:"委托2",scheme:"委托2方案3",schemeName:"委托2方案3(方案名称)",num:"5",name:"何佳慧",inspectionItems:"金相组织",zhengshus:"安全员A证、操作员B证"},{id:6,commission:"委托3",scheme:"委托3方案1",schemeName:"委托3方案1(方案名称)",num:"5",name:"何佳慧",inspectionItems:"常温冲击",zhengshus:"安全员A证、操作员B证"}]}}},created() {this.combineRow(['commission','scheme','schemeName'])},methods:{//  合并单元格combineRow(cols) {console.log("resultData.value",this.resultData.list)const tableData = this.resultData.listcols.forEach((key) => {for (let i = 0; i < tableData.length; i++) {const item = tableData[i]let count = 1for (let j = i + 1; j < tableData.length; j++) {// 如果是同一个值,往后递增if (item[key] === tableData[j][key]) {count++// 往后相同的值都设为空单元格tableData[j][`${key}RowSpan`] = 0// 只有同值第一个才设置合并的单元格数item[`${key}RowSpan`] = count// 所有都是为同一个值的情况// 如果到了尾部,则循环结束if (j === tableData.length - 1) {return}} else {// 指针跳转到下一个,从下一排开始i = j - 1count = 1tableData[j][`${key}RowSpan`] = countbreak}}}})this.resultData.list = tableData}}
}</script><style lang="scss" scoped>.previewTable{padding:10px;background-color: #fff;color: #000000;line-height: 40px;h2{text-align: center;}.link-class{color: red;}// 给表格设置边框table,td,th {text-align: center;border: 1px solid #ccc;border-collapse: collapse;}table td {// padding: 10px 30px;}}  </style>

相关文章:

vue使用table实现动态数据报表(行合并)

<template><div class"previewTable"><h2>***项目研发数据报告</h2><table id"previewTable" width"100%"><tr><th>项目名称</th><td colspan"6">{{ resultData.proName }}<…...

YARN调度原理详解

YARN&#xff08;Yet Another Resource Negotiator&#xff09;是 Hadoop 集群的资源管理和作业调度框架&#xff0c;它的设计旨在更好地管理和调度 Hadoop 集群中的资源。YARN 解决了传统 Hadoop MapReduce 中资源管理与作业调度紧耦合的问题&#xff0c;使得不同类型的计算任…...

Go-知识泛型

Go-知识泛型 1. 认识泛型1.1 不使用泛型1.2 使用泛型 2. 泛型的特点2.1 函数泛化2.2 类型泛化 3. 类型约束3.1 类型集合3.2 interface 类型集合3.2.1 内置interface类型集合3.2.2 自定义interface类型集合3.2.2.1 任意类型元素3.2.2.2 近似类型元素3.2.2.3 联合类型元素 3.2.3 …...

Qt 如何 发送与解析不定长报文以及数组不定长报文

文章目录 割方式一,采用QDataStream 解析,可直接设定大小端解析,无需自己转换方式二,采用结构体字节对齐方式解析发送接收方割 方式一,采用QDataStream 解析,可直接设定大小端解析,无需自己转换 需要注意的是结构体定义要去掉字节对齐,否则会崩溃,因为由自定义数据结…...

Rust默认使用UTF-8编码来解析源代码文件。如果在代码中包含无法用UTF-8编码表示的字符,编译器会报错!

文章目录 Rust默认编码示例在ANSI编码下中文显示正常的代码在UTF-8编码下将显示不正常在编译时&#xff0c;Rust使用UTF-8编码来解析代码&#xff0c;发现无法用UTF-8编码表示的字符&#xff0c;于是编译器报错 Rust默认编码 Rust 语言默认使用 UTF-8 编码来解析源代码文件。如…...

【jeston】torch相关环境安装

参考&#xff1a;玩转NVIDIA Jetson &#xff08;25&#xff09;— jetson 安装pytorch和torchvision 我的jeston信息&#xff1a; torch install 安装环境 conda create -n your_env python3.8 conda activate your_envpytorch_for_jeston 安装.whl文件 验证&#xff1…...

[CR]厚云填补_大型卫星影像去云数据集

AllClear: A Comprehensive Dataset and Benchmark for Cloud Removal in Satellite Imagery Abstract 卫星图像中的云对下游应用构成了重大挑战。当前云移除研究的一个主要挑战是缺乏一个全面的基准和一个足够大和多样化的训练数据集。为了解决这个问题&#xff0c;我们引入了…...

Langchain CharacterTextSplitter无法分割文档问题

在使用Langchain的文档分割器时&#xff0c;使用CharacterTextSplitter拆分文档是&#xff0c;发现返回的文档根本没有变化&#xff0c;即使设置了chunk_size&#xff0c;返回的大小也不符合参数设置。 CharacterTextSplitter设置了150&#xff0c;但是根本没有处理&#xff0…...

ros service不走是为什么

在ROS&#xff08;Robot Operating System&#xff09;中&#xff0c;如果ROS服务&#xff08;Service&#xff09;没有正常工作&#xff0c;可能有多种原因。你可以检查以下几点来排查问题&#xff1a; 服务是否正确启动 首先&#xff0c;确保服务节点已经启动并注册了相应的…...

量子计算机的原理与物理实现

量子计算机的原理与物理实现很复杂 指导性原则 首先思考制备一台量子计算机需要些什么&#xff1f; 需要量子比特——二能级量子系统。除了量子计算机需要满足一些物理特性&#xff0c;它还必须要把量子比特绘制到某种初态上&#xff0c;以及测量系统的输出态。 而实验上的挑战…...

SQL Server 常用关键词语法汇总

一、函数 1.1 CAST CAST ( expression AS data_type [ ( length ) ] )expression: 这是你想要转换的数据或表达式。data_type: 目标数据类型&#xff0c;比如 INT, VARCHAR, DATE 等等。(length): 对于某些数据类型&#xff08;如 CHAR, VARCHAR, BINARY, VARBINARY&#xff…...

软件测试工程师面试整理 —— 操作系统与网络基础!

在软件测试中&#xff0c;了解操作系统和网络基础知识对于有效地进行测试工作至关重要。无论是在配置测试环境、调试网络问题&#xff0c;还是在进行性能测试和安全测试时&#xff0c;这些知识都是不可或缺的。 1. 操作系统基础 操作系统&#xff08;Operating System, OS&am…...

网络安全防御策略:通过限制IP访问提升服务器安全性

标题&#xff1a;网络安全防御策略&#xff1a;通过限制IP访问提升服务器安全性 摘要&#xff1a; 在网络安全领域&#xff0c;服务器被入侵是一场严重的事故。一旦发生这种情况&#xff0c;除了立即采取措施恢复系统外&#xff0c;还需要加强后续的安全防护措施。本文将探讨为…...

Multiprocessing出错没有提示was skipped without notice in python

这个问题可以通过打印返回结果解决。 解决方法 比如 Pool.apply_async(csdnKuangXiaoHU, args=(p, DestFile))改成 Result = Pool.apply_async(csdnKuangXiaoHU, args=...

调整应用窗口透明度

朋友问我有没有软件透明得&#xff0c;一开始没理解&#xff0c;他给我发一个&#xff0c;我一看原来时调整窗口透明度得&#xff0c;想着python应该也可以实现&#xff0c;就写了一个。 效果图如下&#xff1a; 源码如下&#xff1a; import sys import ctypes from PySid…...

启智畅想集装箱号码智能识别原理,OCR识别应用

集装箱号码用途&#xff1a; 集装箱号码在填写托运单时是必填项&#xff0c;用于标识和跟踪货物运输过程中的集装箱。它有助于海关管理和物流跟踪&#xff0c;确保货物能够顺利通过海关检查并按时送达目的地。 集装箱号码智能识别原理&#xff1a; 在深入探讨集装箱号码OCR&…...

React基础知识

说明&#xff1a;react版本为 18.3.1 React是什么 React由Meta公司研发&#xff0c;是一个用于构建Web和原生交互界面的库。&#xff08;开发基于浏览器的web应用和基于mac和android的移动应用&#xff09;React的优势 1.相较于传统基于DOM开发的优势&#xff1a;组件化的开…...

Java基础:面向对象编程3

1 Java可变长参数 1.1 概述 Java 的可变长参数&#xff08;Varargs&#xff09;是在 Java 1.5 中引入的功能&#xff0c;允许方法接受任意数量的相同类型的参数。可变参数的语法是在参数类型后面加上三个点&#xff08;...&#xff09;&#xff0c;例如 int... numbers。 1.…...

实验kubernetes的CPU绑定策略

CPU 管理配置 CPU 管理策略通过 kubelet 参数 --cpu-manager-policy 或 KubeletConfiguration 中的 cpuManagerPolicy 字段来指定。 支持两种策略&#xff1a; none&#xff1a;默认策略。static&#xff1a;允许为节点上具有某些资源特征的 Pod 赋予增强的 CPU 亲和性和独占…...

Zsh 安装与配置

目录 1 环境配置 1.1 基本工具安装 1.2 安装 oh-my-zsh 1.3 从.bashrc中迁移配置&#xff08;可选&#xff09; 2 主题配置 2.1 内置主题 2.2 自定义主题 2.2.1 推荐主题 3 插件安装 3.1 推荐插件 3.1.1 zsh -autosuggestions 3.1.2 zsh-syntax-highlighting 3.2 启…...

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架&#xff0c;专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用&#xff0c;其中包含三个使用通用基本模板的页面。在此…...

visual studio 2022更改主题为深色

visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中&#xff0c;选择 环境 -> 常规 &#xff0c;将其中的颜色主题改成深色 点击确定&#xff0c;更改完成...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理

引言 Bitmap&#xff08;位图&#xff09;是Android应用内存占用的“头号杀手”。一张1080P&#xff08;1920x1080&#xff09;的图片以ARGB_8888格式加载时&#xff0c;内存占用高达8MB&#xff08;192010804字节&#xff09;。据统计&#xff0c;超过60%的应用OOM崩溃与Bitm…...

算法笔记2

1.字符串拼接最好用StringBuilder&#xff0c;不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)

在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马&#xff08;服务器方面的&#xff09;的原理&#xff0c;连接&#xff0c;以及各种木马及连接工具的分享 文件木马&#xff1a;https://w…...

使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度

文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...

在Ubuntu24上采用Wine打开SourceInsight

1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...

springboot整合VUE之在线教育管理系统简介

可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生&#xff0c;小白用户&#xff0c;想学习知识的 有点基础&#xff0c;想要通过项…...

基于Springboot+Vue的办公管理系统

角色&#xff1a; 管理员、员工 技术&#xff1a; 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能&#xff1a; 该办公管理系统是一个综合性的企业内部管理平台&#xff0c;旨在提升企业运营效率和员工管理水…...