diff --git a/src/actions/EmailActions.js b/src/actions/EmailActions.js index 117bcd7..0884573 100644 --- a/src/actions/EmailActions.js +++ b/src/actions/EmailActions.js @@ -99,12 +99,15 @@ export const getEmailDetailAction = async (params) => { const { html, bodyContent, bodyText } = mailType === 'text/html' ? parseHTMLString(cleanContent, true) : { html: '', bodyContent: '', bodyText: '' }; const attachments = (isEmpty(result?.AttachList) ? [] : result.AttachList).filter(ele => isEmpty(ele.ATI_ContentID) || !ele.ATI_Name.includes('ContentFile')); + const insideAttachments = (isEmpty(result?.AttachList) ? [] : result.AttachList).filter(ele => !isEmpty(ele.ATI_ContentID) && ele.ATI_Name.includes('ContentFile')); const ret = { info: { ...encodeEmailInfo(result.MailInfo?.[0] || {}), mailType }, content: mailType === 'text/html' ? html : result.MailContent || '', abstract: bodyText || result.MailContent || '', attachments, + insideAttachments, + AttachList: isEmpty(result?.AttachList) ? [] : result.AttachList, } // writeIndexDB([{key: cacheKey, data: ret}], 'mailinfo', 'mailbox') return ret; diff --git a/src/hooks/useEmail.js b/src/hooks/useEmail.js index ddd77b4..ef0c7c5 100644 --- a/src/hooks/useEmail.js +++ b/src/hooks/useEmail.js @@ -38,7 +38,7 @@ export const useEmailSignature = (opi_sn) => { export const useEmailDetail = (mai_sn, data) => { const {notification} = App.useApp() const [loading, setLoading] = useState(false) - const [mailData, setMailData] = useState({ loading, info: {}, content: '', attachments: [] }) + const [mailData, setMailData] = useState({ loading, info: {}, content: '', attachments: [], AttachList: [] }) const [coliSN, setColiSN] = useState(''); const [orderDetail, setOrderDetail] = useState({}); @@ -181,3 +181,7 @@ export const useEmailList = (mailboxDirNode) => { return { loading, isFreshData, error, mailList, refresh } } + +export const emailTemplates = [ + { key: '', value: '', label: ''}, +]; diff --git a/src/views/Conversations/Online/Components/EmailDetailInline.jsx b/src/views/Conversations/Online/Components/EmailDetailInline.jsx index fa03a62..4a451b2 100644 --- a/src/views/Conversations/Online/Components/EmailDetailInline.jsx +++ b/src/views/Conversations/Online/Components/EmailDetailInline.jsx @@ -1,6 +1,6 @@ import { useState, useEffect, useRef, useMemo } from 'react' import { App, Button, Divider, Avatar, List, Flex, Typography, Tooltip, Empty } from 'antd' -import { LoadingOutlined, ApiOutlined, FilePdfOutlined, FileOutlined, FileWordOutlined, FileExcelOutlined, FileJpgOutlined, FileImageOutlined, FileTextOutlined, FileGifOutlined, GlobalOutlined, FileZipOutlined } from '@ant-design/icons' +import { LoadingOutlined, ApiOutlined, FilePdfOutlined, FileOutlined, FileWordOutlined, FileExcelOutlined, FileJpgOutlined, FileImageOutlined, FileTextOutlined, FileGifOutlined, GlobalOutlined, FileZipOutlined, DeleteOutlined } from '@ant-design/icons' import { EditIcon, MailCheckIcon, ReplyAllIcon, ReplyIcon, ResendIcon, ShareForwardIcon, SendPlaneFillIcon, InboxIcon } from '@/components/Icons' import { isEmpty, TagColorStyle } from '@/utils/commons' import EmailEditorPopup from '../Input/EmailEditorPopup' @@ -158,8 +158,11 @@ const EmailDetailInline = ({ mailID, emailMsg = {}, disabled = false, variant, s break case 'failed': btns.push( - - , + + , + + + , ) btns.push( @@ -209,7 +212,7 @@ const EmailDetailInline = ({ mailID, emailMsg = {}, disabled = false, variant, s
{/* */} -
{mailData.info?.MAI_SendDate || emailMsg.localDate}{mailData.info.MAI_Direction === 1 ? : }
+
{mailData.info?.MAI_SendDate || emailMsg.localDate}
@@ -240,10 +243,11 @@ const EmailDetailInline = ({ mailID, emailMsg = {}, disabled = false, variant, s {mailData.info?.mailType === 'text/html' ? ( ) : ( -
+
)} - {mailData.attachments.length > 0 && ( + {mailData.AttachList.length > 0 && (
+ {mailData.attachments.length > 0 && (<>  附件 ({mailData.attachments.length}) )} - /> + /> + )} + {mailData.insideAttachments.length > 0 &&  文内附件 ({mailData.insideAttachments.length}) 已在正文显示}
)}