feat: 邮件快捷回复, 切换全文填充草稿

dev/emitter
Lei OT 10 months ago
parent 6ab9bdc70f
commit e73839c1d0

@ -50,11 +50,6 @@ const EmailComposer = ({ ...props }) => {
const [open, setOpen] = useState(false)
const [fromEmail, setFromEmail] = useState('')
const [toEmail, setToEmail] = useState('')
const openEditor = (email_addr) => {
setOpen(true)
setFromEmail(email_addr)
setToEmail(currentConversation?.channels?.email || customerDetail?.email || '')
}
const lastFocusedFieldRef = useRef(null);
@ -63,11 +58,12 @@ const EmailComposer = ({ ...props }) => {
const talkabled = !isEmpty(currentConversation.sn) && websocketOpened
const [sendLoading, setSendLoading] = useState(false)
const [quickData, setQuickData] = useState({ suject: '', content: ''});
const handleFocus = (field) => {
lastFocusedFieldRef.current = field;
}
const addEmoji = (emoji) => {
const _field = lastFocusedFieldRef.current || 'mailcontent';
// if (focusedField) {
@ -80,6 +76,16 @@ const EmailComposer = ({ ...props }) => {
}
const openEditor = (email_addr) => {
setOpen(true)
setFromEmail(email_addr)
setToEmail(currentConversation?.channels?.email || customerDetail?.email || '')
setQuickData({
subject: form.getFieldValue('subject'),
content: form.getFieldValue('mailcontent'),
})
}
/**
* 保存成功, 推一个气泡
* 再从异步通知更新消息发送状态
@ -252,6 +258,7 @@ const EmailComposer = ({ ...props }) => {
fromOrder={currentConversation.coli_sn}
conversationid={currentConversation.sn}
toEmail={toEmail}
quickData={quickData}
action='new'
key={'email-new-editor-popup'}
/>

@ -72,8 +72,9 @@ const generateMailContent = (mailData) => `
* @property {string} toEmail - 收件人邮箱
* @property {string} conversationid - 会话ID
* @property {string} quoteid - 引用邮件ID
* @property {object} quickData - 纯文本输入的草稿. 仅在从快速窗口打开时传递
*/
const EmailEditorPopup = ({ open, setOpen, fromEmail, fromUser, fromOrder, toEmail, conversationid, quoteid, initial = {}, mailData: _mailData, action = 'reply', ...props }) => {
const EmailEditorPopup = ({ open, setOpen, fromEmail, fromUser, fromOrder, toEmail, conversationid, quoteid, initial = {}, mailData: _mailData, action = 'reply', quickData = {}, ...props }) => {
const { notification, message } = App.useApp();
const [form] = Form.useForm();
@ -225,9 +226,10 @@ const EmailEditorPopup = ({ open, setOpen, fromEmail, fromUser, fromOrder, toEma
setInitialContent(thisBody)
} else if (action === 'new') {
const newEmail = { to: newToEmail, }
const newEmail = { to: newToEmail, subject: quickData?.subject || '' }
form.setFieldsValue(newEmail);
setInitialForm(newEmail);
setInitialContent(quickData?.content || '');
}
return () => {};

Loading…
Cancel
Save