|
|
|
@ -14,7 +14,7 @@ import { cloneDeep, isEmpty, } from '@/utils/commons';
|
|
|
|
|
import './EmailEditor.css';
|
|
|
|
|
import { postSendEmail } from '@/actions/EmailActions';
|
|
|
|
|
import { sentMsgTypeMapped, } from '@/channel/bubbleMsgUtils';
|
|
|
|
|
import { EmailBuilder, useEmailDetail } from '@/hooks/useEmail';
|
|
|
|
|
import { EmailBuilder, useEmailDetail, useEmailSignature } from '@/hooks/useEmail';
|
|
|
|
|
import useSnippetStore from '@/stores/SnippetStore'
|
|
|
|
|
import { useOrderStore } from '@/stores/OrderStore'
|
|
|
|
|
|
|
|
|
@ -29,7 +29,7 @@ const getAbstract = (longtext) => {
|
|
|
|
|
return abstract;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const generateQuoteContent = (mailData) => `<br><br>
|
|
|
|
|
const generateQuoteContent = (mailData) => `<br>
|
|
|
|
|
<hr>
|
|
|
|
|
<p>
|
|
|
|
|
<b>
|
|
|
|
@ -60,7 +60,7 @@ const generateQuoteContent = (mailData) => `<br><br>
|
|
|
|
|
</p>
|
|
|
|
|
`;
|
|
|
|
|
|
|
|
|
|
const generateMailContent = (mailData) => `
|
|
|
|
|
const generateMailContent = (mailData) => `<br><br>
|
|
|
|
|
<p>
|
|
|
|
|
${mailData.content}
|
|
|
|
|
</p>`
|
|
|
|
@ -86,7 +86,6 @@ const EmailEditorPopup = ({ open, setOpen, fromEmail, fromUser, fromOrder, oid,
|
|
|
|
|
const emailListMatMapped = emailListOption?.reduce((r, v) => ({ ...r, [v.mat_sn]: v }), {});
|
|
|
|
|
// console.log('emailListMapped', emailListOption, emailListAddrMapped);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const mai_sn = quoteid;
|
|
|
|
|
const { loading: getLoading, mailData } = useEmailDetail(mai_sn, _mailData)
|
|
|
|
|
|
|
|
|
@ -163,6 +162,8 @@ const EmailEditorPopup = ({ open, setOpen, fromEmail, fromUser, fromOrder, oid,
|
|
|
|
|
setEmailOPI(_findMat?.opi_sn)
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const { signature } = useEmailSignature(emailOPI)
|
|
|
|
|
|
|
|
|
|
const [isRichText, setIsRichText] = useState(mobile === false);
|
|
|
|
|
// const [isRichText, setIsRichText] = useState(false); // 默认纯文本
|
|
|
|
|
const [htmlContent, setHtmlContent] = useState('');
|
|
|
|
@ -198,10 +199,14 @@ const EmailEditorPopup = ({ open, setOpen, fromEmail, fromUser, fromOrder, oid,
|
|
|
|
|
const { info } = mailData
|
|
|
|
|
// setShowCc(!isEmpty(mailData.info?.MAI_CS));
|
|
|
|
|
|
|
|
|
|
const signatureBody = generateMailContent({ content: signature })
|
|
|
|
|
|
|
|
|
|
const preQuoteBody = generateQuoteContent(mailData)
|
|
|
|
|
|
|
|
|
|
const _initialContent = isEmpty(mailData.info) ? signatureBody : signatureBody+preQuoteBody
|
|
|
|
|
|
|
|
|
|
if (!isEmpty(mailData.info) && action !== 'edit') {
|
|
|
|
|
setInitialContent(preQuoteBody)
|
|
|
|
|
setInitialContent(_initialContent)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const _formValues = {
|
|
|
|
@ -234,11 +239,11 @@ const EmailEditorPopup = ({ open, setOpen, fromEmail, fromUser, fromOrder, oid,
|
|
|
|
|
const newEmail = { to: newToEmail, subject: draft?.subject || '' }
|
|
|
|
|
form.setFieldsValue(newEmail)
|
|
|
|
|
setInitialForm(newEmail)
|
|
|
|
|
setInitialContent(draft?.content || '')
|
|
|
|
|
setInitialContent((draft?.content || '') + signatureBody)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return () => {}
|
|
|
|
|
}, [propsSerialize, mailData.info, newToEmail, newFromEmail]);
|
|
|
|
|
}, [propsSerialize, mailData.info, signature, newToEmail, newFromEmail]);
|
|
|
|
|
|
|
|
|
|
const [openPlainTextConfirm, setOpenPlainTextConfirm] = useState(false);
|
|
|
|
|
const handlePlainTextOpenChange = ({ target }) => {
|
|
|
|
|