From 9c0ac172df13398bbdd7c2c1c390ca7dbbb4f7d8 Mon Sep 17 00:00:00 2001 From: Lei OT Date: Wed, 29 Oct 2025 16:15:32 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=AE=A2=E5=8D=95=E5=88=97=E8=A1=A8:=20?= =?UTF-8?q?=E5=85=A8=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/orders/components/MailBox.jsx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/views/orders/components/MailBox.jsx b/src/views/orders/components/MailBox.jsx index d46716a..95f727d 100644 --- a/src/views/orders/components/MailBox.jsx +++ b/src/views/orders/components/MailBox.jsx @@ -141,6 +141,7 @@ const MailBox = ({ mailboxDir, onMailItemClick, ...props }) => { current: newCurrent, pagedList: getPagedData(mailList, newCurrent), })) + setSelectedItems([]); } } @@ -152,6 +153,7 @@ const MailBox = ({ mailboxDir, onMailItemClick, ...props }) => { current: newCurrent, pagedList: getPagedData(mailList, newCurrent), })) + setSelectedItems([]); } } @@ -171,7 +173,8 @@ const MailBox = ({ mailboxDir, onMailItemClick, ...props }) => { checked={selectedItems.some((i) => i.MAI_SN === item.MAI_SN)} onClick={(e) => { const isChecked = e.target.checked - const updatedSelection = isChecked ? [...selectedItems, item] : selectedItems.filter((item) => item.MAI_SN !== item.MAI_SN) + const noCurrent = selectedItems.filter((i) => i.MAI_SN !== item.MAI_SN); + const updatedSelection = isChecked ? [...noCurrent, item] : noCurrent; setSelectedItems(updatedSelection) }}> @@ -203,12 +206,12 @@ const MailBox = ({ mailboxDir, onMailItemClick, ...props }) => { 0 && selectedItems.length < pagination.pagedList.length} - checked={pagination.pagedList.length === 0 ? false : pagination.pagedList.every((item) => selectedItems.some((selected) => selected.MAI_SN === item.MAI_SN))} + indeterminate={selectedItems.length > 0 && selectedItems.length < Math.min(pagination.current * PAGE_SIZE, (pagination.total - ((pagination.current - 1) * PAGE_SIZE)))} + checked={pagination.total === 0 ? false : pagination.pagedList.reduce((a, item) => a.concat(item.data), []).every((item) => selectedItems.some((selected) => selected.MAI_SN === item.MAI_SN))} onChange={(e) => { const isChecked = e.target.checked if (isChecked) { - setSelectedItems((prev) => [...prev, ...pagination.pagedList]) + setSelectedItems(pagination.pagedList.reduce((a, item) => a.concat(item.data), [])) } else { setSelectedItems([]) }