|
|
|
@ -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}>
|
|
|
|
|