layui table合并相同的列

table.render({elem: '#samples',url: '/index/Develorderss/samplelists?od_id='+od_id //数据接口,page: { //支持传入 laypage 组件的所有参数(某些参数除外,如:jump/elem) - 详见文档layout: ['prev', 'page', 'next', 'count','skip','limit'] //自定义分页布局//,curr: 5 //设定初始在第 5 页,groups:10 //只显示 1 个连续页码,first: false //不显示首页,last: false //不显示尾页},limit:10,cols: [[ //表头// ,给供应商做信笺时间,供应商回信的时间,寄客户信笺时间,确认的时间,是否确认(如果是色样就填颜色的结果),创建日期{checkbox: true, fixed: true},{field:'name',title:'类型',width:'10%'},{field:'sm_name',title:'材料',width:'10%'},{field:'color_name',title:'颜色',width:'10%'},{field:'sample_delivery',title:'交期',width:'150'},{field:'sample_delivery',title:'寄出供应商信笺',width:'150'},{field:'sample_delivery',title:'收到供应商信笺',width:'150'},{field:'sample_delivery',title:'寄出客户信笺',width:'150'},{field:'sample_delivery',title:'收到客户信笺',width:'150'},{field:'sample_delivery',title:'确认时间',width:'150'},{field:'is_confirm',title:'是否确认',width:'10%',templet:function(d){if(d.is_confirm==0){return "<div style='color:red'>不确认</div>";}else if(d.is_confirm==1){return "<div style='color:green'>确认</div>";}else{return "";}}},{field:'create_date',title:'创建日期',width:'150'},{title:'操作',width:'320',fixed:'right',templet:function(d){var str = '';str += "<div class='layui-btn' lay-event='detail'>详情</div>"; str += "<div class='layui-btn' lay-event='edit'>编辑</div>"; str += "<div class='layui-btn' lay-event='del'>删除</div>"; str += "<div class='layui-btn' lay-event='suggest'>意见资料</div>";return str; }}]],jump:function(obj, first){if(!first){$.get('/index/Develorderss/samplelists?od_id='+od_id,{page:obj.curr},function(data){console.log(data);});}},done:function(res, curr, count) {merge(res);//调用}});
function merge(res) {var data = res.data;var mergeIndex = 0;//定位需要添加合并属性的行数var mark = 1; //这里涉及到简单的运算,mark是计算每次需要合并的格子数var columsName = ['name','sm_name'];//需要合并的列名称var columsIndex = [1,2];//需要合并的列索引值for (var k = 0; k < columsName.length; k++) { //这里循环所有要合并的列var trArr = $(".layui-table-body>.layui-table").find("tr");//所有行for (var i = 1; i < res.data.length; i++) { //这里循环表格当前的数据var tdCurArr = trArr.eq(i).find("td").eq(columsIndex[k]);//获取当前行的当前列var tdPreArr = trArr.eq(mergeIndex).find("td").eq(columsIndex[k]);//获取相同列的第一列if (data[i][columsName[k]] === data[i-1][columsName[k]]) { //后一行的值与前一行的值做比较,相同就需要合并mark += 1;tdPreArr.each(function () {//相同列的第一列增加rowspan属性$(this).attr("rowspan", mark);});tdCurArr.each(function () {//当前行隐藏$(this).css("display", "none");});}else {mergeIndex = i;mark = 1;//一旦前后两行的值不一样了,那么需要合并的格子数mark就需要重新计算}}mergeIndex = 0;mark = 1;}
}相关文章:
layui table合并相同的列
table.render({elem: #samples,url: /index/Develorderss/samplelists?od_idod_id //数据接口,page: { //支持传入 laypage 组件的所有参数(某些参数除外,如:jump/elem) - 详见文档layout: [prev, page, next, count,skip,limit]…...
【Spring】SpringBoot配置文件
SpringBoot配置文件 配置文件作用SpringBoot配置文件配置文件快速入手配置文件的格式properties配置文件说明基本语法读取配置文件properties缺点分析 yml配置文件说明yml基本语法yml使用进阶yml配置读取配置对象配置集合配置Mapyml优缺点 配置文件作用 计算机上有数以千计的配…...
python批量下载txt文件中链接的数据
python下载txt文件中链接的数据,以gimms ndvi3g下载为例 官方下载网址:https://www.ncei.noaa.gov/data/land-normalized-difference-vegetation-index/access/ 选择下载2020年数据为例: 网址:Index of /data/land-normalized-difference-vegetation-index/access/2020…...
stm32 Bootloader设计(YModem协议)
stm32 Bootloader设计(YModem协议) Chapter1 stm32 Bootloader设计(YModem协议)YModem协议:STM32 Bootloader软件设计STM32 Bootloader使用方法准备工作stm32 Bootloader修改:stm32目标板程序.bin偏移地址修改: Chapt…...
竞赛 题目: 基于深度学习的疲劳驾驶检测 深度学习
文章目录 0 前言1 课题背景2 实现目标3 当前市面上疲劳驾驶检测的方法4 相关数据集5 基于头部姿态的驾驶疲劳检测5.1 如何确定疲劳状态5.2 算法步骤5.3 打瞌睡判断 6 基于CNN与SVM的疲劳检测方法6.1 网络结构6.2 疲劳图像分类训练6.3 训练结果 7 最后 0 前言 🔥 优…...
ubuntu 16.04.5 安装 vivado 2019.1 完整编译AD9361的环境
一、前期安装 1、安装ncurses库(已经包含了,其他的os需要安装) sudo apt install libncurses5二、安装 sudo ./xsetup使用lic进行激活。 三、安装后 输入指令 sudo gedit ~/.bashrc 末尾添加 source /opt/Xilinx/Vivado/2019.1/setti…...
Zotero详细功能补充!熟练使用!【进阶版,持续更新】
Zotero安装请参见文章Zotero安装 1.改变条目文件夹 如果直接选择条目直接进行移动,能移动成功,但是原来文件夹和目标文件夹都会存在,实际是复制! 如果只想保留在一个文件夹里面,可以选中条目,右击-从分…...
【Windows】Windows系统常用命令大全
现实生活中,对电脑越熟悉懂得的快捷命令就越多。例如我们日常遇到的比较方便办公技巧,用快捷命令调用工具:调用计算器,Win键R,输入calc,回车,计算器界面弹出来; 调用记事本ÿ…...
大语言模型研究进展综述
1、历史 自20世纪50年代图灵测试被提出以来,研究人员一直在探索和开发能够理解并掌握语言的人工智能技术。 作为重要的研究方向之一,语言模型得到了学术界的广泛研究,从早期的统计语言模型和神经语言模型开始,发展到基于Transform…...
linux gdb 调试 常见调试命令介绍+总结
1.调试前准备 -g gcc arcg.c -g -oO -o app //必须添加-g 2.调试 gdb gdb app 3.常见调试命令 set args 1 2 3 4 5 6 //设置参数 show args //查看参数 3.1执行程序 1.start2. run gdb app set args 1 2 3 4 5 start //执行一行 c //继续执行 q…...
基于JavaWeb+SSM+Vue微信小程序校园兼职任务平台系统的设计和实现
基于JavaWebSSMVue微信小程序校园兼职任务平台系统的设计和实现 源码传送入口前言主要技术系统设计功能截图Lun文目录订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码传送入口 前言 随着社会的发展和全球疫情的冲击,大学生的就业形势越来越严峻。越…...
我的MQTT操作类(M2Mqtt.Net)
类本体 4.3.0 public class MQTTMain{public MqttClient mqttClient null ; public bool MQTTMainConnect(string MenZuNo, string ServerIP, int ServerPort, string UserName, string Pwd){try{string EMQX_CLIENT_ID $"称重端-{MenZuNo}-{OPCommon.PCControl.G…...
node插件MongoDB(四)—— 库mongoose 的个性话读取(字段筛选、数据排序、数据截取)(四)
文章目录 一、字段筛选二、数据排序三、数据截取1. skip 跳过2. limit 限定 一、字段筛选 字段筛选:只读取指定的数据,比如集合(表)中有…...
AI:73-结合语法知识的神经机器翻译研究
🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌在这个漫长的过程,中途遇到了不少问题,但是…...
[LeetCode]-225. 用队列实现栈
目录 225. 用队列实现栈 题目 思路 代码 225. 用队列实现栈 225. 用队列实现栈 - 力扣(LeetCode)https://leetcode.cn/problems/implement-stack-using-queues/description/ 题目 请你仅使用两个队列实现一个后入先出(LIFO࿰…...
Kafka Rebanlace次数过高问题
Kafka Rebanlace次数过高问题 环境: Kafka Server 2.6.x Kafka Client Java 2.8.2 缘起: 最近发现Kafka Rebalance次数着实有点多,一天达到了六十多次,感觉不太正常,于是查了下日志发现: Offset commit c…...
计算机是如何进行工作的+进程和线程
一)计算机是如何工作的? 指令是如何执行的?CPU基本工作过程? 假设上面有一些指令表,假设CPU上面有两个寄存器A的编号是00,B的编号是01 1)第一个指令0010 1010,这个指令的意思就是说把1010地址上面的数据给他读取到A寄存器里面 2…...
MySQL(11):数据处理之增删改
插入数据 方式1: 一条一条的添加数据 为表的所有字段按默认顺序插入数据 INSERT INTO 表名 VALUES (value1,value2,....);# 没有指明添加的字段 INSERT INTO emp1 VALUES (1,TOM,2023-11-06,3400);没有指明添加的字段,要按照声明顺序,进行…...
QT QDockWidget
QDockWidget是Qt中的一个容器类,用于在主窗口上创建可停靠的子窗口。 设置停靠窗口的一般流程如下: (1)创建一个QDockWidget 对象的停靠窗体。 (2)设置此停靠窗体的属性,通常调用setFeatures()及setAllowedAreas()两种方法。 (3)新建一个要插入停靠窗…...
Android 12.0 开启蓝牙状态栏即显示蓝牙图标
Android 12.0 开启蓝牙状态栏即显示蓝牙图标 最近收到客户反馈想要在开启蓝牙时状态栏就能显示出蓝牙图标,我们系统默认是蓝牙连接上设备后状态栏才显示出蓝牙图标,具体修改参照如下: /vendor/mediatek/proprietary/packages/apps/SystemUI…...
DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...
相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...
VTK如何让部分单位不可见
最近遇到一个需求,需要让一个vtkDataSet中的部分单元不可见,查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行,是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示,主要是最后一个参数,透明度…...
laravel8+vue3.0+element-plus搭建方法
创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...
免费PDF转图片工具
免费PDF转图片工具 一款简单易用的PDF转图片工具,可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件,也不需要在线上传文件,保护您的隐私。 工具截图 主要特点 🚀 快速转换:本地转换,无需等待上…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill
视觉语言模型(Vision-Language Models, VLMs),为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展,机器人仍难以胜任复杂的长时程任务(如家具装配),主要受限于人…...
【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看
文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...
Ubuntu Cursor升级成v1.0
0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开,快捷键也不好用,当看到 Cursor 升级后,还是蛮高兴的 1. 下载 Cursor 下载地址:https://www.cursor.com/cn/downloads 点击下载 Linux (x64) ,…...
