perf(前端): 邮件详情

dev/RoosterEditor
Lei OT 5 months ago
parent b7fa9490a7
commit 15874bf229

@ -1,13 +1,13 @@
import { fetchJSON, postForm } from '@/utils/request';
import { API_HOST, EMAIL_HOST } from '@/config';
const parseHTMLString = (html) => {
const parseHTMLString = (html, needText = false) => {
const parser = new DOMParser()
const doc = parser.parseFromString(html, 'text/html')
let bodyContent = doc.body.innerHTML
// bodyContent = bodyContent.replace(/<img/g, '<img onerror="this.onerror=null;this.src=\'https://hiana-crm.oss-accelerate.aliyuncs.com/WAMedia/afe412d4-3acf-4e79-a623-048aeb4d696a.png\';"')
return bodyContent
const bodyText = (doc.body.innerText);
return needText ? { bodyContent, bodyText } : bodyContent
}
/**
@ -84,9 +84,12 @@ export const getEmailDetailAction = async (params) => {
const delLinefeed = mailType === 'text/html' ? (result.MailContent||'').includes('<html') ? true : false : true;
const cleanContent = (result.MailContent || '').replace(/\r\n/g, delLinefeed ? '' : '<br>');
const { bodyContent, bodyText } = mailType === 'text/html' ? parseHTMLString(cleanContent, true) : { bodyContent: '', bodyText: '' };
return {
info: { ...encodeEmailInfo(result.MailInfo?.[0] || {}), mailType },
content: mailType === 'text/html' ? parseHTMLString(cleanContent) : result.MailContent || '',
content: mailType === 'text/html' ? bodyContent : result.MailContent || '',
abstract: bodyText || result.MailContent || '',
attachments: result?.AttachList || [],
}
}

@ -51,6 +51,7 @@ export const useEmailDetail = (mai_sn, data) => {
try {
setLoading(true)
const data = await getEmailDetailAction({ mai_sn })
// console.log(data)
setMailData(data)
setColiSN(data.info.MAI_COLI_SN)
setLoading(false)

@ -56,11 +56,11 @@ const BubbleEmail = ({ onOpenEditor, onOpenEmail, ...message }) => {
<>
<b>From: </b>
<span>
{/* {message?.emailOrigin?.fromName}&nbsp;&lt;{message?.emailOrigin.fromEmail}&gt; */}
{message.msgOrigin?.from}
</span>
</> : <><b>To: </b>{message.msgOrigin?.to}</>
}
{/* <b>Subject: </b>{message.msgOrigin.email.subject} */}
</span>
</>
}

@ -172,7 +172,7 @@ export const EmailBindFormModal = ({ mai_sn, conversationid, userId, coliID, onB
<Form.Item label='订单号' name='coli_id' initialValue={coliID}>
<Input placeholder='订单号' allowClear />
</Form.Item>
<Form.Item hidden label='订单类型' name='sourcetype' initialValues={'227001'}>
<Form.Item hidden label='订单类型' name='sourcetype' initialValue={'227001'}>
<Input placeholder='订单类型' allowClear />
</Form.Item>
</Col>
@ -183,7 +183,7 @@ export const EmailBindFormModal = ({ mai_sn, conversationid, userId, coliID, onB
</div>
</Row>
</Form>
<Table key={'advanceOrderTable'} loading={loading} dataSource={searchResult} columns={searchResultColumns} pagination={searchResult.length <= 10 ? false : paginationProps} />
<Table key={'advanceOrderTable'} loading={loading} dataSource={searchResult} columns={searchResultColumns} pagination={searchResult.length <= 10 ? false : paginationProps} rowKey={'COLI_SN'} />
</Modal>
</>
)

Loading…
Cancel
Save