feat: 邮件窗口: 保留会话ID;

2.0/email-builder
Lei OT 11 months ago
parent 5f7eb960bf
commit 70890dfb43

@ -26,7 +26,7 @@ export const postSendEmail = async (body) => {
attaList.forEach(function (item) {
formData.append('attachment', item);
});
const result = await postForm(`${EMAIL_HOST}/sendmail`, formData);
const {result} = await postForm(`${EMAIL_HOST}/sendmail`, formData);
return result;
};

@ -229,6 +229,9 @@ export const sentMsgTypeMapped = {
msgtext: {
...msg,
},
msgOrigin: {
...msg,
},
}),
},
};

@ -20,7 +20,7 @@ const TagColorStyle = (tag) => {
const EmailDetail = ({ open, setOpen, emailMsg, ...props }) => {
let { conversationid, order_opi } = emailMsg
const { mai_sn, id } = emailMsg.msgOrigin?.email || emailMsg.msgOrigin || {}
const { mai_sn, id } = emailMsg.msgOrigin?.email || emailMsg.msgOrigin || {} // todo: , id,
const mailID = mai_sn || id
const [initialPosition, setInitialPosition] = useState({})
const [initialSize, setInitialSize] = useState({})

@ -76,7 +76,7 @@ const EmailComposer = ({ ...props }) => {
</Button>
))} */}
{/* <EmailEditor {...{ open, setOpen }} fromEmail={fromEmail} key={'email-editor'} /> */}
<EmailEditorPopup {...{ open, setOpen }} fromEmail={fromEmail} fromUser={fromUser} key={'email-editor-popup'} />
<EmailEditorPopup {...{ open, setOpen }} fromEmail={fromEmail} fromUser={fromUser} conversationid={currentConversation.sn} key={'email-editor-popup'} />
{/* <EmailEditorPopup2 {...{ open, setOpen }} fromEmail={fromEmail} key={'email-editor-popup2'} /> */}
</Flex>
);

@ -67,6 +67,17 @@ const EmailEditorPopup = ({ open, setOpen, fromEmail, fromUser, conversationid,
const { notification, message } = App.useApp();
const [form] = Form.useForm();
// ID,
// , 使focus, ID
// , , ID,
const [stickToCid, setStickToCid] = useState(conversationid);
useEffect(() => {
setStickToCid(conversationid)
return () => {}
}, [])
const [isRichText, setIsRichText] = useState(mobile === false);
// const [isRichText, setIsRichText] = useState(false); //
const [htmlContent, setHtmlContent] = useState('');
@ -198,7 +209,7 @@ const EmailEditorPopup = ({ open, setOpen, fromEmail, fromUser, conversationid,
status: 'waiting',
...msgObj,
// id: `${currentConversation.sn}.${msgObj.id}`,
id: `${conversationid}.${msgObj.id}`,
// id: `${stickToCid}.${msgObj.id}`,
};
// olog('invoke upload', msgObjMerge)
const contentToRender = sentMsgTypeMapped[msgObjMerge.type].contentToRender(msgObjMerge);
@ -220,24 +231,31 @@ const EmailEditorPopup = ({ open, setOpen, fromEmail, fromUser, conversationid,
body.mat_sn = 278; // todo:
console.log('body', body);
const values = await form.validateFields();
body.cc = values.cc || '';
body.bcc = values.bcc || '';
const msgObj = {
type: 'email',
id: uuid(),
from: body.from,
to: values.to,
cc: values.cc,
bcc: values.bcc,
cc: values.cc || '',
bcc: values.bcc || '',
subject: values.subject,
content: body.mailcontent,
email: {
subject: values.subject,
content: body.mailcontent,
},
}
setSendLoading(true);
body.externalID = conversationid;
body.actionID = `${conversationid}.${msgObj.id}`;
body.externalID = stickToCid;
body.actionID = `${stickToCid}.${msgObj.id}`;
try {
const result = await postSendEmail(body);
const result = await postSendEmail(body); // todo: id,
setSendLoading(false);
const mailSavedId = result.id || '';
msgObj.id = mailSavedId
msgObj.email.mai_sn = mailSavedId;
invokeEmailMessage(msgObj);
setOpen(false);
@ -296,9 +314,9 @@ const EmailEditorPopup = ({ open, setOpen, fromEmail, fromUser, conversationid,
requiredMark={false}
// labelCol={{ span: 3 }}
>
<Form.Item label='收件人' className='w-full'>
<Form.Item className='w-full'>
<Space.Compact className='w-full'>
<Form.Item name={'to'} rules={[{ required: true }]} className='!flex-1'>
<Form.Item name={'to'} label='收件人' rules={[{ required: true }]} className='!flex-1'>
<Input className='w-full' />
</Form.Item>
<Flex gap={4}>

@ -206,7 +206,7 @@ const MessagesWrapper = ({ updateRead = true, forceGetMessages }) => {
onCancel={() => setNewChatModalVisible(false)}
/>
{/* <EmailEditor open ={openEmailEditor} setOpen={setOpenEmailEditor} reference={ReferEmailMsg} setRefernce={setReferEmailMsg} {...{ fromEmail, }} key={'email-editor-reply'} /> */}
<EmailEditorPopup open={openEmailEditor} setOpen={setOpenEmailEditor} fromEmail={fromEmail} quoteid={ReferEmailMsg.mai_sn || ReferEmailMsg.id} key={`email-editor-reply-top-popup_${ReferEmailMsg.id}`} />
<EmailEditorPopup open={openEmailEditor} setOpen={setOpenEmailEditor} fromEmail={fromEmail} quoteid={ReferEmailMsg.mai_sn || ReferEmailMsg.id} conversationid={currentConversation.sn} key={`email-editor-reply-top-popup_${ReferEmailMsg.id}`} />
<EmailDetail open={openEmailDetail} setOpen={setOpenEmailDetail} emailMsg={emailDetail} key={`email-detail-${emailDetail.id}`} />
</>
);

Loading…
Cancel
Save