|
|
|
@ -6,7 +6,7 @@ import { isEmpty, TagColorStyle } from '@/utils/commons'
|
|
|
|
|
import EmailEditorPopup from '../Input/EmailEditorPopup'
|
|
|
|
|
import DnDModal from '@/components/DnDModal'
|
|
|
|
|
import useStyleStore from '@/stores/StyleStore'
|
|
|
|
|
import { openPopup, useEmailDetail, useEmailList, } from '@/hooks/useEmail'
|
|
|
|
|
import { openPopup, useEmailDetail, } from '@/hooks/useEmail'
|
|
|
|
|
import { EMAIL_ATTA_HOST, POPUP_FEATURES } from '@/config'
|
|
|
|
|
import EmailBindFormModal from './EmailBind'
|
|
|
|
|
import EmailContent from './EmailContent'
|
|
|
|
@ -202,16 +202,16 @@ const EmailDetailInline = ({ mailID, emailMsg = {}, disabled = false, variant, s
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return mailID ?(
|
|
|
|
|
return mailID ? (
|
|
|
|
|
<>
|
|
|
|
|
<div ref={componentRef} className={`email-container h-full flex flex-col gap-0 divide-y divide-neutral-200 divide-solid *:p-2 *:border-0 bg-white ${variantCls(variant)}`} >
|
|
|
|
|
<div ref={componentRef} className={`email-container h-full flex flex-col gap-0 divide-y divide-neutral-200 divide-solid *:p-2 *:border-0 bg-white ${variantCls(variant)}`}>
|
|
|
|
|
<div className=''>
|
|
|
|
|
<div className='flex flex-wrap justify-between'>
|
|
|
|
|
<span className=' font-bold '>
|
|
|
|
|
{loading ? <LoadingOutlined className='mr-1' /> : null}
|
|
|
|
|
{mailData.info?.MAI_Subject || emailMsg?.msgOrigin?.subject}
|
|
|
|
|
</span>
|
|
|
|
|
<ActionBtns key='actions' className={'ml-auto'}/>
|
|
|
|
|
<span className={(mailData.info?.MAI_ReadState || 0) > 0 ? '' : ' font-bold '}>
|
|
|
|
|
{loading ? <LoadingOutlined className='mr-1' /> : null}
|
|
|
|
|
{mailData.info?.MAI_Subject || emailMsg?.msgOrigin?.subject}
|
|
|
|
|
</span>
|
|
|
|
|
<ActionBtns key='actions' className={'ml-auto'} />
|
|
|
|
|
</div>
|
|
|
|
|
<Divider className='my-2' />
|
|
|
|
|
<div className={['flex flex-wrap justify-end', window.innerWidth < 800 ? 'flex-col' : 'flex-row '].join(' ')}>
|
|
|
|
@ -260,26 +260,29 @@ const EmailDetailInline = ({ mailID, emailMsg = {}, disabled = false, variant, s
|
|
|
|
|
<div className='mt-2 whitespace-pre-wrap flex-auto' dangerouslySetInnerHTML={{ __html: mailData.content }}></div>
|
|
|
|
|
)}
|
|
|
|
|
{mailData.AttachList.length > 0 && (
|
|
|
|
|
<div className={`${compactBtn === false ? 'w-48' : 'border-b border-t-0'} overflow-hidden`}>
|
|
|
|
|
{mailData.attachments.length > 0 && (<>
|
|
|
|
|
<span> 附件 ({mailData.attachments.length})</span>
|
|
|
|
|
<List
|
|
|
|
|
dataSource={mailData.attachments || []}
|
|
|
|
|
size='small' className='[&_.ant-list-item]:p-1 [&_.ant-list-item]:justify-start'
|
|
|
|
|
renderItem={(atta) => (
|
|
|
|
|
<List.Item>
|
|
|
|
|
<FileTypeIcon fileName={atta.ATI_Name} />
|
|
|
|
|
<Typography.Text ellipsis={{ tooltip: { title: atta.ATI_Name, placement: 'left' } }} className='text-inherit'>
|
|
|
|
|
<span key={atta.ATI_SN} onClick={() => openPopup(`${EMAIL_ATTA_HOST}${atta.ATI_ServerFile}`, atta.ATI_SN)} size='small' className='text-blue-500 cursor-pointer'>
|
|
|
|
|
{atta.ATI_Name}
|
|
|
|
|
</span>
|
|
|
|
|
</Typography.Text>
|
|
|
|
|
</List.Item>
|
|
|
|
|
<div className={`${compactBtn === false ? 'w-48' : 'border-b border-t-0'} overflow-hidden`}>
|
|
|
|
|
{mailData.attachments.length > 0 && (
|
|
|
|
|
<>
|
|
|
|
|
<span> 附件 ({mailData.attachments.length})</span>
|
|
|
|
|
<List
|
|
|
|
|
dataSource={mailData.attachments || []}
|
|
|
|
|
size='small'
|
|
|
|
|
className='[&_.ant-list-item]:p-1 [&_.ant-list-item]:justify-start'
|
|
|
|
|
renderItem={(atta) => (
|
|
|
|
|
<List.Item>
|
|
|
|
|
<FileTypeIcon fileName={atta.ATI_Name} />
|
|
|
|
|
<Typography.Text ellipsis={{ tooltip: { title: atta.ATI_Name, placement: 'left' } }} className='text-inherit'>
|
|
|
|
|
<span key={atta.ATI_SN} onClick={() => openPopup(`${EMAIL_ATTA_HOST}${atta.ATI_ServerFile}`, atta.ATI_SN)} size='small' className='text-blue-500 cursor-pointer'>
|
|
|
|
|
{atta.ATI_Name}
|
|
|
|
|
</span>
|
|
|
|
|
</Typography.Text>
|
|
|
|
|
</List.Item>
|
|
|
|
|
)}
|
|
|
|
|
/>
|
|
|
|
|
</>
|
|
|
|
|
)}
|
|
|
|
|
/></>
|
|
|
|
|
)}
|
|
|
|
|
{mailData.insideAttachments.length > 0 && <span className='text-gray-500 italic'> 文内附件 ({mailData.insideAttachments.length}) 已在正文显示</span>}
|
|
|
|
|
</div>
|
|
|
|
|
{mailData.insideAttachments.length > 0 && <span className='text-gray-500 italic'> 文内附件 ({mailData.insideAttachments.length}) 已在正文显示</span>}
|
|
|
|
|
</div>
|
|
|
|
|
)}
|
|
|
|
|
</Flex>
|
|
|
|
|
</div>
|
|
|
|
|