From 3ca1567e075d3320c663f959fb3cdb3b024b67d4 Mon Sep 17 00:00:00 2001 From: "han\\hanst" Date: Thu, 14 Aug 2025 13:03:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B1=95=E5=BC=80=E6=89=80=E6=9C=89=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ecss/components/PackingDetailTab.vue | 31 +++++++++++++++---- 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/src/views/modules/ecss/components/PackingDetailTab.vue b/src/views/modules/ecss/components/PackingDetailTab.vue index 4addb84..963edb9 100644 --- a/src/views/modules/ecss/components/PackingDetailTab.vue +++ b/src/views/modules/ecss/components/PackingDetailTab.vue @@ -316,12 +316,15 @@ export default { // 处理行展开事件 handleBoxExpand(row, expandedRows) { - // 更新展开行的数组 - this.expandedBoxRows = expandedRows.map(expandedRow => this.getBoxRowKey(expandedRow)); - - if (expandedRows.includes(row)) { - // 行被展开,加载明细数据 - this.loadPalletDetails(row); + // 判断当前操作是展开还是收起 + const isExpanding = expandedRows.includes(row); + + if (isExpanding) { + // 如果是展开操作,则展开所有行 + this.expandAll(); + } else { + // 如果是收起操作,则收起所有行 + this.collapseAll(); } }, @@ -375,6 +378,22 @@ export default { return value; }, + // 展开所有行 + expandAll() { + // 获取所有行的key + this.expandedBoxRows = this.dataListBoxes.map(row => this.getBoxRowKey(row)); + + // 为每个行加载明细数据 + this.dataListBoxes.forEach(row => { + this.loadPalletDetails(row); + }); + }, + + // 收起所有行 + collapseAll() { + this.expandedBoxRows = []; + }, + // 刷新数据的公共方法 refresh() { this.loadBoxList();