diff --git a/src/components/Icons.jsx b/src/components/Icons.jsx index d09ddf6..553da68 100644 --- a/src/components/Icons.jsx +++ b/src/components/Icons.jsx @@ -13,6 +13,7 @@ import SendPlaneLineSVG from '@/assets/icons/send-plane-line.svg?react'; import ResendLineSVG from '@/assets/icons/reset-left-line.svg?react'; import EditLineSVG from '@/assets/icons/quill-pen-line.svg?react'; import MailDownloadLineSVG from '@/assets/icons/mail-download-line.svg?react'; +import MailOpenLineSVG from '@/assets/icons/mail-open-line.svg?react'; import MailAddLineSVG from '@/assets/icons/mail-add-line.svg?react'; import MailCheckSVG from '@/assets/icons/mail-check-line.svg?react'; import MailUnreadSVG from '@/assets/icons/mail-unread-line.svg?react'; @@ -32,6 +33,7 @@ export const SendPlaneLineIcon = (props) => ; export const EditIcon = (props) => ; export const MailDownloadIcon = (props) => ; +export const MailOpenIcon = (props) => ; export const MailAddloadIcon = (props) => ; export const MailCheckIcon = (props) => ; export const MailUnreadIcon = (props) => ; diff --git a/src/hooks/useEmail.js b/src/hooks/useEmail.js index 156d93d..11dbbc2 100644 --- a/src/hooks/useEmail.js +++ b/src/hooks/useEmail.js @@ -75,6 +75,12 @@ export const useEmailDetail = (mai_sn=0, data={}, oid=0) => { setMailData(data) setColiSN(oid === false ? 0 : data.info.MAI_COLI_SN) setLoading(false) + // `已读` + updateEmailAction({ + opi_sn: data.info.MAI_OPI_SN, + mai_sn_list: [Number(mai_sn) || maiSN], + set: { read: 1 }, + }) } catch (err) { setLoading(false) notification.error({ diff --git a/src/views/Conversations/Online/Components/EmailDetailInline.jsx b/src/views/Conversations/Online/Components/EmailDetailInline.jsx index f6adab1..0e6efac 100644 --- a/src/views/Conversations/Online/Components/EmailDetailInline.jsx +++ b/src/views/Conversations/Online/Components/EmailDetailInline.jsx @@ -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 ? ( <> -
+
- - {loading ? : null} - {mailData.info?.MAI_Subject || emailMsg?.msgOrigin?.subject} - - + 0 ? '' : ' font-bold '}> + {loading ? : null} + {mailData.info?.MAI_Subject || emailMsg?.msgOrigin?.subject} + +
@@ -260,26 +260,29 @@ const EmailDetailInline = ({ mailID, emailMsg = {}, disabled = false, variant, s
)} {mailData.AttachList.length > 0 && ( -
- {mailData.attachments.length > 0 && (<> -  附件 ({mailData.attachments.length}) - ( - - - - openPopup(`${EMAIL_ATTA_HOST}${atta.ATI_ServerFile}`, atta.ATI_SN)} size='small' className='text-blue-500 cursor-pointer'> - {atta.ATI_Name} - - - +
+ {mailData.attachments.length > 0 && ( + <> +  附件 ({mailData.attachments.length}) + ( + + + + openPopup(`${EMAIL_ATTA_HOST}${atta.ATI_ServerFile}`, atta.ATI_SN)} size='small' className='text-blue-500 cursor-pointer'> + {atta.ATI_Name} + + + + )} + /> + )} - /> - )} - {mailData.insideAttachments.length > 0 &&  文内附件 ({mailData.insideAttachments.length}) 已在正文显示} -
+ {mailData.insideAttachments.length > 0 &&  文内附件 ({mailData.insideAttachments.length}) 已在正文显示} +
)}
diff --git a/src/views/orders/components/MailBox.jsx b/src/views/orders/components/MailBox.jsx index 83fab0c..59a6c71 100644 --- a/src/views/orders/components/MailBox.jsx +++ b/src/views/orders/components/MailBox.jsx @@ -5,7 +5,7 @@ import dayjs from 'dayjs' import { useEmailList } from '@/hooks/useEmail' import { isEmpty } from '@/utils/commons' import { MailboxDirIcon } from './MailboxDirIcon' -import { AttachmentIcon, MailCheckIcon } from '@/components/Icons' +import { AttachmentIcon, MailCheckIcon, MailOpenIcon, MailUnreadIcon } from '@/components/Icons' import NewEmailButton from './NewEmailButton' const { RangePicker } = DatePicker @@ -162,7 +162,7 @@ const MailBox = ({ mailboxDir, onMailItemClick, onSelect, ...props }) => { > -