Merge branch 'main' of github.com:hainatravel/global-sales

2.0/email-builder
Jimmy Liow 10 months ago
commit cf196eccc0

@ -46,13 +46,22 @@ export const postResendEmailAction = async (body) => {
return await postForm(`${EMAIL_HOST}/email_resend`, formData);
};
const encodeEmailInfo = (info) => {
const encodeQuote = (str = '') => str.replace(/"/g, ''); //.replace(/</g,'&lt;').replace(/>/g,'&gt;')
return {
...info,
MAI_From: encodeQuote(info.MAI_From),
MAI_To: encodeQuote(info.MAI_To),
}
};
/**
* 邮件详情
* @param {object} { mai_sn }
*/
export const getEmailDetailAction = async (param) => {
const { result } = await fetchJSON(`${EMAIL_HOST}/getmail`, param);
return { info: result.MailInfo?.[0] || {}, content: result.MailContent || '', attachments: result?.AttachList || [] };
return { info: encodeEmailInfo(result.MailInfo?.[0] || {}), content: result.MailContent || '', attachments: result?.AttachList || [] };
}
/**

@ -44,9 +44,9 @@ const EmailDetail = ({ open, setOpen, emailMsg, ...props }) => {
const [openEmailEditor, setOpenEmailEditor] = useState(false)
const [fromEmail, setFromEmail] = useState('')
const onOpenEditor = (msgOrigin, action) => {
const { from } = msgOrigin
const { from, to } = msgOrigin
setOpenEmailEditor(true)
setFromEmail(from)
setFromEmail(to)
setAction(action)
setOpen(false)
}
@ -80,7 +80,7 @@ const EmailDetail = ({ open, setOpen, emailMsg, ...props }) => {
*/
const ActionBtns = ({className, ...props}) => {
// const { status } = mailData.info // todo: 1 `` [accepted, sent, failed]
const { status } = { status: '' } // debug: 0
const { status } = { status: 'sent' } // debug: 0
let btns = []
switch (status) {

@ -67,6 +67,7 @@ const EmailEditorPopup = ({ open, setOpen, fromEmail, fromUser, toEmail, convers
const emailListOption = emailList?.map(ele => ({ ...ele, label: ele.email, key: ele.email, value: ele.email })) || [];
const emailListMapped = emailListOption?.reduce((r, v) => ({ ...r, [v.opi_sn]: v }), {});
const emailListAddrMapped = emailListOption?.reduce((r, v) => ({ ...r, [v.email]: v }), {});
const emailListMatMapped = emailListOption?.reduce((r, v) => ({ ...r, [v.mat_sn]: v }), {});
// console.log('emailListMapped', emailListOption, emailListAddrMapped);
@ -83,11 +84,11 @@ const EmailEditorPopup = ({ open, setOpen, fromEmail, fromUser, toEmail, convers
const emailUserMat = mailData.info?.MAI_MAT_SN
// const _default =
// emailListOption?.find((ele) => ele.opi_sn === emailUser && ele.default === true) ||
// emailListOption?.find((ele) => ele.opi_sn === emailUser && ele.backup === true) ||
// emailListOption?.find((ele) => ele.opi_sn === emailUser) ||
// emailListOption?.find((ele) => ele.default === true) ||
// emailListOption?.find((ele) => ele.backup === true)
// emailListOption?.find((ele) => ele.opi_sn === emailUser && ele.default === true) ||
// emailListOption?.find((ele) => ele.opi_sn === emailUser && ele.backup === true) ||
// emailListOption?.find((ele) => ele.opi_sn === emailUser) ||
// emailListOption?.find((ele) => ele.default === true) ||
// emailListOption?.find((ele) => ele.backup === true)
setNewFromEmail(fromEmail);
setEmailOPI(emailUser);
@ -96,6 +97,14 @@ const EmailEditorPopup = ({ open, setOpen, fromEmail, fromUser, toEmail, convers
const _findMat = emailListAddrMapped?.[fromEmail]?.mat_sn
setEmailMat(emailUserMat || _findMat)
// /, ,
const _findMatOld = emailListMatMapped?.[emailUserMat]
if (isEmpty(_findMat) && _findMatOld) {
setNewFromEmail(_findMatOld.email)
setEmailOPI(_findMatOld.opi_sn)
setEmailMat(_findMatOld.mat_sn)
}
return () => {}
}, [open, fromEmail, fromUser, toEmail, mailData])

@ -142,11 +142,11 @@ const MessagesWrapper = ({ updateRead = true, forceGetMessages }) => {
const [fromEmail, setFromEmail] = useState('');
const [ReferEmailMsg, setReferEmailMsg] = useState('');
const onOpenEditor = (emailMsgContent) => {
const { from } = emailMsgContent; // msgtext
const { from, to } = emailMsgContent; // msgtext
// console.log('emailMsgContent', emailMsgContent);
setOpenEmailEditor(true);
setFromEmail(from);
setFromEmail(to);
setReferEmailMsg({...emailMsgContent, order_opi: Number(orderDetail?.opi_sn || userId)});
};

Loading…
Cancel
Save