|
|
|
@ -141,6 +141,7 @@ const MailBox = ({ mailboxDir, onMailItemClick, ...props }) => {
|
|
|
|
current: newCurrent,
|
|
|
|
current: newCurrent,
|
|
|
|
pagedList: getPagedData(mailList, newCurrent),
|
|
|
|
pagedList: getPagedData(mailList, newCurrent),
|
|
|
|
}))
|
|
|
|
}))
|
|
|
|
|
|
|
|
setSelectedItems([]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -152,6 +153,7 @@ const MailBox = ({ mailboxDir, onMailItemClick, ...props }) => {
|
|
|
|
current: newCurrent,
|
|
|
|
current: newCurrent,
|
|
|
|
pagedList: getPagedData(mailList, 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)}
|
|
|
|
checked={selectedItems.some((i) => i.MAI_SN === item.MAI_SN)}
|
|
|
|
onClick={(e) => {
|
|
|
|
onClick={(e) => {
|
|
|
|
const isChecked = e.target.checked
|
|
|
|
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)
|
|
|
|
setSelectedItems(updatedSelection)
|
|
|
|
}}></Checkbox>
|
|
|
|
}}></Checkbox>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@ -203,12 +206,12 @@ const MailBox = ({ mailboxDir, onMailItemClick, ...props }) => {
|
|
|
|
<Flex wrap gap='middle' justify={'center'} className='min-w-30 px-1'>
|
|
|
|
<Flex wrap gap='middle' justify={'center'} className='min-w-30 px-1'>
|
|
|
|
<Tooltip title='全选'>
|
|
|
|
<Tooltip title='全选'>
|
|
|
|
<Checkbox
|
|
|
|
<Checkbox
|
|
|
|
indeterminate={selectedItems.length > 0 && selectedItems.length < pagination.pagedList.length}
|
|
|
|
indeterminate={selectedItems.length > 0 && selectedItems.length < Math.min(pagination.current * PAGE_SIZE, (pagination.total - ((pagination.current - 1) * PAGE_SIZE)))}
|
|
|
|
checked={pagination.pagedList.length === 0 ? false : pagination.pagedList.every((item) => selectedItems.some((selected) => selected.MAI_SN === item.MAI_SN))}
|
|
|
|
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) => {
|
|
|
|
onChange={(e) => {
|
|
|
|
const isChecked = e.target.checked
|
|
|
|
const isChecked = e.target.checked
|
|
|
|
if (isChecked) {
|
|
|
|
if (isChecked) {
|
|
|
|
setSelectedItems((prev) => [...prev, ...pagination.pagedList])
|
|
|
|
setSelectedItems(pagination.pagedList.reduce((a, item) => a.concat(item.data), []))
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
setSelectedItems([])
|
|
|
|
setSelectedItems([])
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|