From e585a20964c845d3cdfce31b1368fe6f2755a5d3 Mon Sep 17 00:00:00 2001 From: sunxiaobin89 <470459819@qq.com> Date: Mon, 8 Aug 2022 16:59:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96setGroupWidth=E6=96=B9?= =?UTF-8?q?=E6=B3=95=EF=BC=8C=E6=8F=90=E9=AB=98=E6=8B=96=E5=8A=A8=E6=94=B9?= =?UTF-8?q?=E5=8F=98=E5=88=97=E5=AE=BD=E6=97=B6=E5=80=99=E5=90=88=E5=B9=B6?= =?UTF-8?q?=E8=A1=A8=E5=A4=B4=E5=AE=BD=E5=BA=A6=E8=B0=83=E6=95=B4=E7=9A=84?= =?UTF-8?q?=E6=95=88=E7=8E=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/table.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/modules/table.js b/src/modules/table.js index 4908b6d0..25cd0f60 100644 --- a/src/modules/table.js +++ b/src/modules/table.js @@ -638,17 +638,18 @@ layui.define(['laytpl', 'laypage', 'form', 'util'], function(exports){ }; // 设置合并表头的宽度 - Class.prototype.setGroupWidth = function () { + Class.prototype.setGroupWidth = function (thElem) { var that = this; var options = that.config; + var parentKey; if (options.cols.length > 1) { - for (var i = options.cols.length - 1; i >= 0; i--) { + for (var i = thElem ? thElem.closest('tr').index() - 1 : options.cols.length - 1; i >= 0; i--) { // 自下向上处理合并表头的宽度 - layui.each(that.layHeader.first().find('tr').eq(i).find('>th>div.laytable-cell-group'), function (i1, item1) { + parentKey = thElem ? thElem.attr('data-parentkey') : ''; + layui.each(that.layHeader.first().find('tr').eq(i).find('>th' + (parentKey && '[data-key="' + that.index + '-' + parentKey + '"]') + '>div.laytable-cell-group'), function (i1, item1) { item1 = $(item1); - var thElem = item1.parent(); var width = 0; - var key = thElem.attr('data-key'); + var key = item1.parent().attr('data-key'); layui.each(that.layHeader.first().find('th[data-parentkey="' + key.substr(key.indexOf('-') + 1) + '"]'), function (i2, item2) { item2 = $(item2); if (item2.hasClass(HIDE)) { @@ -656,8 +657,8 @@ layui.define(['laytpl', 'laypage', 'form', 'util'], function(exports){ } width += item2.children('div.layui-table-cell').outerWidth(); }); - // item1.outerWidth(width); that.layHeader.find('th[data-key="'+key+'"]').children('div.layui-table-cell').outerWidth(width); + thElem && (thElem = item1.parent()); }) } @@ -1760,7 +1761,7 @@ layui.define(['laytpl', 'laypage', 'form', 'util'], function(exports){ var setWidth = dict.ruleWidth + e.clientX - dict.offset[0]; if(setWidth < dict.minWidth) setWidth = dict.minWidth; dict.rule.style.width = setWidth + 'px'; - thisTable.that[thisTable.eventMoveElem.closest('.' + ELEM_VIEW).attr('lay-id')].setGroupWidth(); + thisTable.that[thisTable.eventMoveElem.closest('.' + ELEM_VIEW).attr('lay-id')].setGroupWidth(thisTable.eventMoveElem); layer.close(that.tipsIndex); } }