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

vxe-table合并行数据

场景: 混批名称相同合并混批名称,在混批名称相同条件下合并相同的混批类型;在混混批类型相同条件下合并相同的混批值;在混批值相同条件下合并相同的单位

实现根据四个不同的key值,当四个key值对应相等时,合并行。并且值合并前四col

 想要实现的结果如下图:

解决方案:代码如下(先简单实现了合并。代码可以后续优化)

mergeMixedSku ({row, _rowIndex, column, visibleData}) {const fields = ['mixedName', 'mixedType', 'mixedValue', 'mixedValueUnit']const cellValue = row[column.property]if (cellValue && fields.includes(column.property)) {const prevRow = visibleData[_rowIndex - 1]let nextRow = visibleData[_rowIndex + 1]if (column.property === 'mixedName') {if (prevRow && prevRow[column.property] === cellValue) {return {rowspan: 0,colspan: 0}} else {let countRowspan = 1while (nextRow && nextRow[column.property] === cellValue) {nextRow = visibleData[++countRowspan + _rowIndex]}if (countRowspan > 1) {return {rowspan: countRowspan,colspan: 1}}}} else if (column.property === 'mixedType') {if (prevRow && prevRow[column.property] === cellValue &&prevRow.mixedName === row.mixedName) {return {rowspan: 0,colspan: 0}} else {let countRowspan = 1while (nextRow && nextRow[column.property] === cellValue &&nextRow.mixedName === row.mixedName) {nextRow = visibleData[++countRowspan + _rowIndex]}if (countRowspan > 1) {return {rowspan: countRowspan,colspan: 1}}}} else if (column.property === 'mixedValue') {if (prevRow && prevRow[column.property] === cellValue &&prevRow.mixedName === row.mixedName &&prevRow.mixedType === row.mixedType) {return {rowspan: 0,colspan: 0}} else {let countRowspan = 1while (nextRow && nextRow[column.property] === cellValue &&nextRow.mixedName === row.mixedName &&nextRow.mixedType === row.mixedType) {nextRow = visibleData[++countRowspan + _rowIndex]}if (countRowspan > 1) {return {rowspan: countRowspan,colspan: 1}}}} else if (column.property === 'mixedValueUnit') {if (prevRow &&prevRow[column.property] === cellValue &&prevRow.mixedName === row.mixedName &&prevRow.mixedType === row.mixedType &&prevRow.mixedValue === row.mixedValue) {return {rowspan: 0,colspan: 0}} else {let countRowspan = 1while (nextRow && nextRow[column.property] === cellValue &&nextRow.mixedName === row.mixedName &&nextRow.mixedType === row.mixedType &&nextRow.mixedValue === row.mixedValue) {nextRow = visibleData[++countRowspan + _rowIndex]}if (countRowspan > 1) {return {rowspan: countRowspan,colspan: 1}}}}}}

 最终实现效果

相关文章:

vxe-table合并行数据

场景: 混批名称相同合并混批名称,在混批名称相同条件下合并相同的混批类型;在混混批类型相同条件下合并相同的混批值;在混批值相同条件下合并相同的单位 实现根据四个不同的key值,当四个key值对应相等时,合…...

LabVIEW异步和同步通信详细分析及比较

1. 基本原理 异步通信: 原理:异步通信(Asynchronous Communication)是一种数据传输方式,其中数据发送和接收操作在独立的时间进行,不需要在特定时刻对齐。发送方在任何时刻可以发送数据,而接收…...

【多模态学习笔记二】MINIGPT-4论文阅读

MINIGPT-4:ENHANCING VISION-LANGUAGE UNDERSTANDING WITH ADVANCED LARGE LANGUAGE MODELS 提出的MiniGPT-4使用一个投影层,将冻结的视觉编码器与冻结的先进的LLM Vicuna对齐。我们的工作首次揭示,将视觉特征与先进的大型语言模型正确对齐可以具有GPT-4所展示的许多先进的多…...

Docker基本讲解及演示

Docker安装教程 Docker安装教程 1、Docker介绍 Docker是一个开源的应用容器引擎,允许开发者将应用程序及其依赖项打包成一个轻量级、可移植的容器,然后发布到任何支持 Docker 的环境中运行,无论是开发机、测试机还是生产环境。 Docker基于…...

各类专业技术的pdf电子书

从业多年,收集了海量的pdf电子书籍,感兴趣的私聊。...

【Linux】多线程_9

文章目录 九、多线程10. 线程池 未完待续 九、多线程 10. 线程池 这里我没实现一些 懒汉单例模式 的线程池,并且包含 日志打印 的线程池: Makefile: threadpool:Main.ccg -o $ $^ -stdc11 -lpthread .PHONY:clean clean:rm -f threadpoolT…...

LabVIEW设备检修信息管理系统

开发了基于LabVIEW设计平台开发的设备检修信息管理系统。该系统应用于各种设备的检修基地,通过与基地管理信息系统的连接和数据交换,实现了本地检修工位数据的远程自动化管理,提高了设备的检修效率和安全性。 项目背景 现代设备运维过程中信…...

python爬虫基础:使用lxml库进行HTML解析和数据提取的实践指南

使用lxml库进行HTML解析和数据提取的实践指南 在Python编程中,网页抓取和数据提取是一项常见任务。lxml库因其高效性和强大的XPath支持,成为了处理HTML和XML文档的优选工具。本文将带你了解如何使用lxml来解析HTML文档并提取所需数据。 1. 安装lxml库 …...

大语言模型系列:Transformer

在自然语言处理(NLP)领域,Transformer模型自2017年由Vaswani等人在论文《Attention Is All You Need》中提出以来,已成为最具影响力的技术之一。这种模型设计的核心是自注意力机制,它允许模型在处理序列数据时&#xf…...

宠物健康新守护:智能听诊器引领科技突破

在宠物护理领域,一项令人瞩目的科技创新正逐渐兴起,那便是智能听诊器。这款革命性的设备以前所未有的准确性和便利性,为宠物主人提供了一种全新的健康监测体验。 只需将智能听诊器轻轻放置在爱宠的身上,它便立即开始工作&#xf…...

KITTI 3D 数据可视化

引言 KITTI 视觉基准测试套件(KITTI Vision Benchmark Suite)提供了大量用于理解自动驾驶场景的工具。尤其是3D数据可视化在分析和解释传感器(如激光雷达)与环境的复杂交互中起到了至关重要的作用。本文将详细探讨KITTI数据集中3…...

旅游数据可视化:免费工具让复杂数据变得简单易懂

随着旅游业的蓬勃发展,海量的数据如同繁星点点,记录着每一位旅者的足迹与偏好。然而,如何将这些复杂的数据转化为直观、易懂的信息,为旅游企业精准决策、为消费者提供更加个性化的服务,成为了行业内外共同关注的焦点。…...

数据结构进阶:使用链表实现栈和队列详解与示例(C, C#, C++)

文章目录 1、 栈与队列简介栈(Stack)队列(Queue) 2、使用链表实现栈C语言实现C#语言实现C语言实现 3、使用链表实现队列C语言实现C#语言实现C语言实现 4、链表实现栈和队列的性能分析时间复杂度空间复杂度性能特点与其他实现的比较…...

【线程系列之五】线程池介绍C语言

一、基本概念 1.1 概念 线程池(Thread Pool)是一种基于池化技术管理线程的机制,旨在减少线程创建和销毁的开销,提高系统资源的利用率,以及更好地控制系统中同时运行的线程数量。线程池通过预先创建一定数量的线程&am…...

【学习css3】使用flex和grid实现等高元素布局

过往的实现方法是使用浮动加计算布局来实现,当flex和grid问世时,这一切将变得简单起来 一、简单的两列实现 1、先看页面效果 2、css代码 .container {padding: 10px;width: 100ch;margin: 0 auto;box-shadow: inset 0 0 0 2px #ccc;}.column {margin: 2…...

如何防止Eclipse格式化程序在行注释开头插入空格

格式化前: //foo bar 格式化后: // foo bar 这种看着不是很舒服。如果不让格式化时自动在注释符后面插入空格呢? 要在Eclipse中进行代码格式化时防止在行注释(‌//)‌后面自动增加空格,‌可以通过调整…...

Nextjs 调用组件内的方法

在 Next.js 中,如果你想从一个组件外部调用组件内部的方法,可以使用 React 的 useRef 钩子来引用组件实例并调用其方法。这种方法主要适用于类组件,但也可以用于函数组件,通过将方法暴露在 ref 对象上。 以下是一个示例&#xff…...

ip地址是电脑还是网线决定的

在数字化时代的浪潮中,网络已经成为了我们日常生活和工作不可或缺的一部分。当我们谈论网络时,IP地址无疑是一个核心的概念。然而,关于IP地址的分配和决定因素,很多人可能存在误解。有些人认为IP地址是由电脑决定的,而…...

Hadoop中HDFS、Hive 和 HBase三者之间的关系

HDFS(Hadoop Distributed File System)、Hive 和 HBase 是 Hadoop 生态系统中三个重要的组件,它们各自解决了大数据存储和处理的不同层面的问题。我们用大白话来解释这三个组件之间的关系: HDFS - 数据的仓库: HDFS 是…...

opencv—常用函数学习_“干货“_10

目录 二七、离散余弦变换 执行离散余弦变换 (dct) 和逆变换 (idct) 解释 实际应用 JPEG压缩示例(简化版) 二八、图像几何变换 仿射变换 (warpAffine 和 getAffineTransform) 透视变换 (warpPerspective 和 getPerspectiveTransform) 旋转变换 (g…...

Midjourney V6玻璃渲染失效?深度解析--noharsh、--style raw与refine prompt的黄金配比公式

更多请点击: https://intelliparadigm.com 第一章:Midjourney V6玻璃渲染失效现象全景透视 Midjourney V6 在发布后显著提升了材质真实感与光照建模能力,但大量用户反馈其对玻璃、水晶、液态透明体等高折射率材质的渲染出现系统性失真&#…...

SynthID技术解析:AI生成图像的隐形数字身份证

1. 项目概述:当“眼见”不再为实,我们靠什么守住真实?去年冬天,我帮一个做教育短视频的朋友处理一批AI生成的插画素材。他用的是主流文生图工具,效果确实惊艳——古风课堂场景细腻得能看清宣纸纹理,学生表情…...

HBase 分布式集群部署实战:从解压到启动的完整指南

HBase 分布式集群部署实战:从解压到启动的完整指南 文章目录HBase 分布式集群部署实战:从解压到启动的完整指南步骤一:解压安装文件步骤二:配置环境变量步骤三:修改配置文件(master节点)步骤四&…...

2026年四款主流 SaaS 收银系统:不同场景怎么选?

开店做生意,最让人头疼的往往不是选址或装修,而是每天打烊后对着乱糟糟的账本发愁。很多刚起步的老板为了省成本,初期只用纸笔或简单的 Excel 记账,一旦客流上来,库存对不上、会员积分算错、交接班混乱等问题接踵而至。…...

如何在Python中实现轻量级人脸与虹膜检测:基于TensorFlow Lite的解决方案

如何在Python中实现轻量级人脸与虹膜检测:基于TensorFlow Lite的解决方案 【免费下载链接】face-detection-tflite Face and iris detection for Python based on MediaPipe 项目地址: https://gitcode.com/gh_mirrors/fa/face-detection-tflite 在当今的计…...

AI编程工具 Codex 入门教程,带你7分钟上手 Codex !

大家好,我是程序员小灰。前一段时间,Anthropic旗下的AI编程工具 Claude Code 火了,小灰也为大家制作了Claude Code 相关的视频教程,得到了很多读者的肯定。尽管Claude Code很强大,但存在一个致命的问题,就是…...

AudioSwitch:一键管理Windows音频设备,告别繁琐系统设置

AudioSwitch:一键管理Windows音频设备,告别繁琐系统设置 【免费下载链接】AudioSwitch Switch between default audio input or output change volume 项目地址: https://gitcode.com/gh_mirrors/au/AudioSwitch 音频设备切换是Windows用户经常遇…...

工业三防灯干货科普:核心参数、选型逻辑及应用场景全解析

在工业照明领域,三防灯是适配恶劣环境的核心照明设备,广泛应用于车间、仓库、隧道、冷链、食品加工等多场景。不同于民用照明灯具,工业级三防灯需具备防尘、防水、防腐蚀的核心能力,其性能直接决定照明稳定性、使用寿命及后期运维…...

5分钟打造你的桌面股票看板:TrafficMonitor股票插件完整指南

5分钟打造你的桌面股票看板:TrafficMonitor股票插件完整指南 【免费下载链接】TrafficMonitorPlugins 用于TrafficMonitor的插件 项目地址: https://gitcode.com/gh_mirrors/tr/TrafficMonitorPlugins 还在为错过重要股票行情而烦恼吗?想在工作时…...

[QA]插件式测试用例生成工具:LLM Test Case Tool 的设计与实现

一句话介绍:QA 在需求分析和测试设计中常用的能力沉淀到浏览器插件里:用户在阅读 PRD 时,可以直接在页面右下角调用 Workee,完成摘要、大纲、疑点、测试点、测试用例、UAT 用例和多页面分析。 1. 背景:为什么还需要这个…...