perf: 回复全部

main
Lei OT 9 months ago
parent 4dd0fabc3d
commit 3dd44cf624

@ -81,17 +81,16 @@ export const postResendEmailAction = async (body) => {
const encodeEmailInfo = (info) => {
const encodeQuote = (str = '') => str.replace(/"/g, ''); //.replace(/</g,'&lt;').replace(/>/g,'&gt;')
const CSsClean = encodeQuote(info.MAI_CS).includes(',') ? encodeQuote(info.MAI_CS).split(',') : encodeQuote(info.MAI_CS).split(';');
const tosClean = (encodeQuote(info.MAI_To).includes(',') ? encodeQuote(info.MAI_To).split(',') : encodeQuote(info.MAI_To).split(';')).concat(CSsClean).filter(s => s);
const CSsClean = encodeQuote(info.MAI_CS.replace(';', ',')).split(',');
const tosClean = (encodeQuote(info.MAI_To.replace(';', ',')).split(',')).map(e => e.trim()).filter(s => s);
const replyTo = info.MAI_Direction === 1 ? info.MAI_To : info.MAI_From;
const replyToAll = (tosClean.length > 1) ?
(info.MAI_Direction === 1 ? tosClean.join(',') : [...tosClean, info.MAI_From].join(','))
: (info.MAI_Direction === 1 ? info.MAI_To : info.MAI_From)
const replyToAll = [].concat([info.MAI_From], tosClean);
return {
...info,
MAI_From: encodeQuote(info.MAI_From),
MAI_To: encodeQuote(info.MAI_To),
tos: [...new Set(tosClean)],
ccs: [...new Set(CSsClean)],
replyToAll,
replyTo,
}

@ -230,10 +230,11 @@ const NewEmail = () => {
}
readyToInitialContent += generateQuoteContent(mailData, originalContentType)
break
case 'replyall':
case 'replyall': {
const tosNotMe = quotedMailSenderObj ? (info?.replyToAll || []).filter(addr => addr.indexOf(quotedMailSenderObj) === -1).join(', ') : (info?.replyToAll || []).join(', ');
_formValues = {
from: quotedMailSenderObj,
to: info?.replyToAll || orderReceiver,
to: isEmpty(info?.replyToAll) ? orderReceiver : tosNotMe,
cc: info?.MAI_CS || '',
// bcc: quote.bcc || '',
subject: `Re: ${info.MAI_Subject || ''}`,
@ -241,6 +242,7 @@ const NewEmail = () => {
}
readyToInitialContent += generateQuoteContent(mailData, originalContentType)
break
}
case 'forward':
_formValues = {
from: quotedMailSenderObj,
@ -641,7 +643,7 @@ const NewEmail = () => {
<Form.Item className='w-full'>
<Space.Compact className='w-full'>
<Form.Item name={'to'} label='收件人' rules={[{ required: true }]} className='!flex-1'>
<Input className='w-full' />
<Input.TextArea rows={1} autoSize className='w-full' />
</Form.Item>
<Flex gap={4}>
{!showCc && (
@ -658,13 +660,13 @@ const NewEmail = () => {
</Space.Compact>
</Form.Item>
<Form.Item label='抄&nbsp;&nbsp;&nbsp;&nbsp;送' name={'cc'} hidden={!showCc} className='w-full pt-1'>
<Input />
<Input.TextArea rows={1} autoSize />
</Form.Item>
<Form.Item label='密&nbsp;&nbsp;&nbsp;&nbsp;送' name={'bcc'} hidden={!showBcc} className='w-full pt-1'>
<Input />
<Input.TextArea rows={1} autoSize />
</Form.Item>
<Form.Item label='主&nbsp;&nbsp;&nbsp;&nbsp;题' name={'subject'} rules={[{ required: true }]} className='w-full pt-1'>
<Input />
<Input.TextArea rows={1} autoSize />
</Form.Item>
<Form.Item name='atta' label='' className='w-full py-1 border-b-0' valuePropName='fileList' getValueFromEvent={normFile}>
<Flex justify='space-between'>

Loading…
Cancel
Save