From a1021e0aa6831f0b3fd1e0c4c7c8510126a0ae42 Mon Sep 17 00:00:00 2001 From: Lei OT Date: Wed, 26 Feb 2025 11:58:02 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E5=89=8D=E7=AB=AF):=20=E6=94=BE=E5=A4=A7?= =?UTF-8?q?=E4=BE=9B=E5=BA=94=E5=95=86=E9=82=AE=E4=BB=B6=E5=8C=BA=E5=9F=9F?= =?UTF-8?q?,=20+=E6=90=9C=E7=B4=A2,=20=E4=B8=8A=E4=B8=8B=E5=88=86=E6=A0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Online/Components/EmailDetailInline.jsx | 23 ++++++----- .../Online/Components/SupplierEmailDrawer.jsx | 39 +++++++++++++------ .../Online/order/CustomerProfile.jsx | 4 +- 3 files changed, 43 insertions(+), 23 deletions(-) diff --git a/src/views/Conversations/Online/Components/EmailDetailInline.jsx b/src/views/Conversations/Online/Components/EmailDetailInline.jsx index bc78095..8e7c605 100644 --- a/src/views/Conversations/Online/Components/EmailDetailInline.jsx +++ b/src/views/Conversations/Online/Components/EmailDetailInline.jsx @@ -13,7 +13,7 @@ import EmailBindFormModal from './EmailBind'; /** * @property {*} emailMsg - 邮件数据. { conversationid, actionId, order_opi, coli_sn, msgOrigin: { from, to, id, email: { subject, mai_sn, } } } */ -const EmailDetailInline = ({ mailID, open, setOpen, emailMsg={}, disabled=false, ...props }) => { +const EmailDetailInline = ({ mailID, open, setOpen = () => {}, emailMsg={}, disabled=false, ...props }) => { // console.log('emailDetail', emailMsg); @@ -27,12 +27,18 @@ const EmailDetailInline = ({ mailID, open, setOpen, emailMsg={}, disabled=false, const [openEmailEditor, setOpenEmailEditor] = useState(false) const [fromEmail, setFromEmail] = useState('') + useEffect(() => { + setOpenEmailEditor(false) + + return () => {} + }, [mailID]) + const onOpenEditor = (msgOrigin, action) => { const { from, to } = msgOrigin setOpenEmailEditor(true) setFromEmail(action === 'edit' ? from : to) setAction(action) - setOpen(false) + // setOpen(false) } const { loading, mailData, orderDetail, postEmailResend } = useEmailDetail(mailID) @@ -48,7 +54,7 @@ const EmailDetailInline = ({ mailID, open, setOpen, emailMsg={}, disabled=false, } try { await postEmailResend({ mai_sn, conversationid, actionId }) - setOpen(false) + // setOpen(false) } catch (err) { notification.error({ message: "请求失败", @@ -169,8 +175,7 @@ const EmailDetailInline = ({ mailID, open, setOpen, emailMsg={}, disabled=false,
- {/* todo: */} - {/* */} + key={`email-detail-inner-${action}-inline_${mailID}`} + /> ) } diff --git a/src/views/Conversations/Online/Components/SupplierEmailDrawer.jsx b/src/views/Conversations/Online/Components/SupplierEmailDrawer.jsx index e548b97..b7cbb38 100644 --- a/src/views/Conversations/Online/Components/SupplierEmailDrawer.jsx +++ b/src/views/Conversations/Online/Components/SupplierEmailDrawer.jsx @@ -5,13 +5,15 @@ import { InboxIcon, SendPlaneFillIcon, ExpandIcon } from '@/components/Icons' import EmailDetailInline from '../Components/EmailDetailInline' import { debounce, isEmpty } from '@/utils/commons' -const SupplierEmailDrawer = ({ list: otherEmailList, ...props }) => { +const SupplierEmailDrawer = ({ list: otherEmailList, currentConversationID, opi_sn, oid, ...props }) => { const [open, setOpen] = useState(false) const [selectedEmail, setSelectedEmail] = useState({}) const searchInputRef = useRef(null) const [dataSource, setDataSource] = useState([]) useEffect(() => { + setOpen(false); setDataSource(otherEmailList) + // setSelectedEmail({ MAI_SN: -1000 }); return () => {} }, [otherEmailList]) @@ -67,30 +69,43 @@ const SupplierEmailDrawer = ({ list: otherEmailList, ...props }) => { showSizeChanger: false, size: 'small', }} - renderItem={(email) => ( + renderItem={(emailItem) => ( { - setSelectedEmail(email) + const emailMsg = { + conversationid: currentConversationID, + order_opi: opi_sn, + coli_sn: oid, + id: emailItem.MAI_SN, + MAI_SN: emailItem.MAI_SN, + msgOrigin: { + from: '', + to: '', + id: emailItem.MAI_SN, + email: { mai_sn: emailItem.MAI_SN, subject: emailItem.MAI_Subject, id: emailItem.MAI_SN }, + }, + } + setSelectedEmail(emailMsg) }}>
- {email.Direction === '收' ? : } - {/* */} - {email.MAI_Subject} + {emailItem.Direction === '收' ? : } + {/* */} + {emailItem.MAI_Subject} {/* */}
-
- {email.SenderReceiver} +
+ {emailItem.SenderReceiver}
-
- {dayjs(email.MAI_SendDate).format('MM-DD HH:mm')} +
+ {dayjs(emailItem.MAI_SendDate).format('MM-DD HH:mm')}
)} /> - + ) diff --git a/src/views/Conversations/Online/order/CustomerProfile.jsx b/src/views/Conversations/Online/order/CustomerProfile.jsx index c3fbb37..df66ade 100644 --- a/src/views/Conversations/Online/order/CustomerProfile.jsx +++ b/src/views/Conversations/Online/order/CustomerProfile.jsx @@ -285,7 +285,7 @@ const CustomerProfile = () => { 0} - whenFalse={暂无报价}>} + whenFalse={暂无报价}>} whenTrue={ <>

@@ -304,7 +304,7 @@ const CustomerProfile = () => { 供应商邮件 - +