Merge remote-tracking branch 'origin/dev/2025a' into dev/2025a

dev/ckeditor
Lei OT 4 months ago
commit 8f3fdef2e6

@ -101,7 +101,7 @@ const OrderProfile = ({ coliSN, ...props }) => {
<Typography.Text>
<Tooltip title='计划'>
<CheckOutlined className='pr-1' />
计划
计划
</Tooltip>
</Typography.Text>
</Flex>

@ -12,7 +12,7 @@ const { RangePicker } = DatePicker
const PAGE_SIZE = 50 //
const MailBox = ({ mailboxDir, onMailItemClick, ...props }) => {
const MailBox = ({ mailboxDir, onMailItemClick, onSelect, ...props }) => {
const DATE_RANGE_PRESETS = [
{
label: '本周',
@ -40,8 +40,8 @@ const MailBox = ({ mailboxDir, onMailItemClick, ...props }) => {
},
]
const [form] = Form.useForm()
const { mailList, loading, error, refresh } = useEmailList(mailboxDir);
const [selectedItems, setSelectedItems] = useState([])
const { mailList, loading, error, refresh } = useEmailList(mailboxDir)
const [pagination, setPagination] = useState({
current: 1,
@ -101,10 +101,21 @@ const MailBox = ({ mailboxDir, onMailItemClick, ...props }) => {
const hasAtta = item.MAI_Attachment !== 0 ? <AttachmentIcon className='text-blue-500' /> : null
return (
<li
className={`flex border border-solid border-t-0 border-x-0 border-gray-200 hover:bg-neutral-50 active:bg-gray-200 p-2 ${props.currentActiveMailItem === item.key ? 'bg-gray-200' : ''}`}>
<div className='flex flex-col gap-1'>
<Checkbox></Checkbox>{hasAtta}
</div>
className={`flex border border-solid border-t-0 border-x-0 border-gray-200 hover:bg-neutral-50 active:bg-gray-200 p-2 ${props.currentActiveMailItem === item.key ? 'bg-neutral-100' : ''}`}>
<div className=''>
<Checkbox
checked={selectedItems.some((i) => i.MAI_SN === item.MAI_SN)}
onClick={e => {
console.info(item, 'checked: ' + e.target.checked)
const isChecked = e.target.checked;
const updatedSelection = isChecked
? [...selectedItems, item]
: selectedItems.filter((item) => item.MAI_SN !== item.MAI_SN)
setSelectedItems(updatedSelection)
console.info('selectedItems: ', updatedSelection)
}
}></Checkbox>
</div>
<div className='flex-1 pl-2'
onClick={() => {
console.info('item: ', item)
@ -114,6 +125,7 @@ const MailBox = ({ mailboxDir, onMailItemClick, ...props }) => {
<div>
{orderNumber}
<span className={mailStateClass}>{item.MAI_Subject}</span>
{hasAtta}
</div>
<span className='text-neutral-500 text-wrap break-words break-all '>{countryName + item.SenderReceiver + ' ' + item.SRDate}</span>
</Flex>
@ -128,7 +140,26 @@ const MailBox = ({ mailboxDir, onMailItemClick, ...props }) => {
<NewEmailButton />
<Flex wrap gap='middle' justify={'center'} className='min-w-40'>
<Tooltip title='全选'>
<Checkbox></Checkbox>
<Checkbox
indeterminate={
selectedItems.length > 0 &&
selectedItems.length < pagination.pagedList.length
}
checked={pagination.pagedList.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,
]);
} else {
setSelectedItems([]);
}
}}
></Checkbox>
</Tooltip>
<Tooltip title='标记已读'>
<Button shape='circle' type='text' size='small' icon={<ReadOutlined />} />
@ -198,6 +229,7 @@ const MailBox = ({ mailboxDir, onMailItemClick, ...props }) => {
})}
/>
<Flex align='center' justify='space-between'>
<span>已选: {selectedItems.length} </span>
<span>
{(pagination.current - 1) * PAGE_SIZE + 1}-{Math.min(pagination.current * PAGE_SIZE, pagination.total)} of {pagination.total}
</span>

Loading…
Cancel
Save