feat: 订单跟踪: 邮件详情

dev/ckeditor
Lei OT 4 months ago
parent 04c71b1ff0
commit e88fa38991

@ -54,11 +54,11 @@ export const useEmailDetail = (mai_sn, data) => {
// console.log(data)
setMailData(data)
setColiSN(data.info.MAI_COLI_SN)
if (!isEmpty(data.info.MAI_COLI_SN)) {
const orderData = await getEmailOrderAction({ colisn: data.info.MAI_COLI_SN })
setOrderDetail(orderData)
// console.log(orderData)
}
// if (!isEmpty(data.info.MAI_COLI_SN)) {
// const orderData = await getEmailOrderAction({ colisn: data.info.MAI_COLI_SN })
// setOrderDetail(orderData)
// // console.log(orderData)
// }
setLoading(false)
} catch (err) {
setLoading(false)
@ -76,30 +76,30 @@ export const useEmailDetail = (mai_sn, data) => {
}, [mai_sn])
// useEffect(() => {
// console.log(coliSN, '====colisn======')
// const getOrderDetail = async () => {
// if (isEmpty(coliSN)) {
// return false
// }
// try {
// setLoading(true)
// const data = await getEmailOrderAction({ colisn: coliSN })
// setOrderDetail(data)
// setLoading(false)
// } catch (err) {
// setLoading(false)
// notification.error({
// message: "请求失败",
// description: err.message || '网络异常',
// placement: "top",
// duration: 3,
// });
// }
// }
// getOrderDetail()
// }, [coliSN])
useEffect(() => {
console.log(coliSN, '====colisn======')
const getOrderDetail = async () => {
if (isEmpty(coliSN)) {
return false
}
try {
setLoading(true)
const data = await getEmailOrderAction({ colisn: coliSN })
setOrderDetail(data)
setLoading(false)
} catch (err) {
setLoading(false)
notification.error({
message: "请求失败",
description: err.message || '网络异常',
placement: "top",
duration: 3,
});
}
}
getOrderDetail()
}, [coliSN])
const postEmailResend = async ({ mai_sn, conversationid: externalid, actionId: actionid, ...body }) => {
if (isEmpty(mai_sn)) {

@ -117,7 +117,7 @@ const EmailDetailInline = ({ mailID, emailMsg = {}, disabled = false, variant, s
let btns = []
btns.push(<Button type='text' onClick={() => { alert('todo')}} icon={<MailCheckIcon className={'text-yellow-600'} />} size='small'>已处理</Button>)
btns.push(<Button type='text' key={'set-done'} onClick={() => { alert('todo')}} icon={<MailCheckIcon className={'text-yellow-600'} />} size='small'>已处理</Button>)
// ``
if (showBindBtn) {
btns.push(<EmailBindFormModal key={'bind'} onBoundSuccess={() => setShowBindBtn(false)} {...{ conversationid, mai_sn, showBindBtn }} />)
@ -184,7 +184,7 @@ const EmailDetailInline = ({ mailID, emailMsg = {}, disabled = false, variant, s
{loading ? <LoadingOutlined className='mr-1' /> : null}
{mailData.info?.MAI_Subject || emailMsg?.msgOrigin?.subject}
</span>
<ActionBtns className={'ml-auto'}/>
<ActionBtns key='actions' className={'ml-auto'}/>
</div>
<Divider className='my-2' />
<div className={['flex flex-wrap justify-end', window.innerWidth < 600 ? 'flex-col' : 'flex-row '].join(' ')}>

@ -38,6 +38,7 @@ import { Link } from 'react-router-dom'
import { useShallow } from 'zustand/react/shallow'
import { UNREAD_MARK } from '@/actions/ConversationActions'
import AdvanceSearchForm from './AdvanceSearchForm'
import EmailDetailInline from '../Conversations/Online/Components/EmailDetailInline'
function OrderGroupTable({ formValues }) {
const handleImportEmail = useCallback((order) => {
@ -360,6 +361,8 @@ const [collapsed, setCollapsed] = useState(false)
setFormValues({ ...values, type: 'advance' })
}, [])
const [activeEmailId, setActiveEmailId] = useState(0);
return (
<>
<Layout>
@ -495,7 +498,7 @@ const [collapsed, setCollapsed] = useState(false)
<Row>
<Col className='bg-white' span={16}>
<Col className='bg-white' span={14}>
<div className='bg-white h-auto px-1 flex gap-1 items-center'>
@ -563,7 +566,7 @@ const [collapsed, setCollapsed] = useState(false)
pagination={false}
dataSource={[
{
key: Math.random().toString(36).substring(2, 9),
key: 5291957, // Math.random().toString(36).substring(2, 9),
description: 'Fran Grundman <frangrundman@rogers.com>',
title: '250520-LSS250429038 团的 变更 <20>确认Japan Fleet',
mailDate: '2025-05-01 19:21:00',
@ -571,7 +574,7 @@ const [collapsed, setCollapsed] = useState(false)
country: 'Thailand',
},
{
key: Math.random().toString(36).substring(2, 9),
key: 5277561, // Math.random().toString(36).substring(2, 9),
description: 'Fran Grundman <frangrundman@rogers.com>',
title: 'Your Thailand Private tour by Asia Highlights 超长主题怎么办????????????到框框到得奖看到',
mailDate: '2025-05-01 19:21:00',
@ -579,7 +582,7 @@ const [collapsed, setCollapsed] = useState(false)
country: 'Thailand',
},
{
key: Math.random().toString(36).substring(2, 9),
key: 5119909, //Math.random().toString(36).substring(2, 9),
description: 'Fran Grundman <frangrundman@rogers.com>',
title: 'Re: Personal information',
mailDate: '2025-05-01 19:21:00',
@ -587,7 +590,7 @@ const [collapsed, setCollapsed] = useState(false)
country: 'Thailand',
},
{
key: Math.random().toString(36).substring(2, 9),
key: 5115479, // Math.random().toString(36).substring(2, 9),
description: 'Fran Grundman <frangrundman@rogers.com>',
title: 'Re: Your Future Trip with Asia Highlights',
mailDate: '2025-05-01 19:21:00',
@ -595,7 +598,7 @@ const [collapsed, setCollapsed] = useState(false)
country: 'Thailand',
},
{
key: Math.random().toString(36).substring(2, 9),
key: 5113514, // Math.random().toString(36).substring(2, 9),
description: 'Fran Grundman <frangrundman@rogers.com>',
title: '回复: 回复中华游251110-LSS250413051(AH)团计划',
mailDate: '2025-05-01 19:21:00',
@ -603,7 +606,7 @@ const [collapsed, setCollapsed] = useState(false)
country: 'Thailand',
},
{
key: Math.random().toString(36).substring(2, 9),
key: 5113512, //Math.random().toString(36).substring(2, 9),
description: 'Fran Grundman <frangrundman@rogers.com>',
title: 'Re: Greeting from Asia Highlights Alisa',
mailDate: '2025-05-01 19:21:00',
@ -611,7 +614,7 @@ const [collapsed, setCollapsed] = useState(false)
country: 'Thailand',
},
{
key: Math.random().toString(36).substring(2, 9),
key: 5113508, // Math.random().toString(36).substring(2, 9),
description: 'Fran Grundman <frangrundman@rogers.com>',
title: 'Re: Have you made any decisions about your Japan trip',
mailDate: '2025-05-01 19:21:00',
@ -619,7 +622,7 @@ const [collapsed, setCollapsed] = useState(false)
country: 'Thailand',
},
{
key: Math.random().toString(36).substring(2, 9),
key: 5112214, //Math.random().toString(36).substring(2, 9),
description: 'Fran Grundman <frangrundman@rogers.com>',
title: 'Re: Sri Lanka tour',
mailDate: '2025-05-01 19:21:00',
@ -627,7 +630,7 @@ const [collapsed, setCollapsed] = useState(false)
country: 'Thailand',
},
{
key: Math.random().toString(36).substring(2, 9),
key: 5095421, //Math.random().toString(36).substring(2, 9),
description: 'Fran Grundman <frangrundman@rogers.com>',
title: 'Re: How do you like the itinerary 3',
mailDate: '2025-05-01 19:21:00',
@ -635,7 +638,7 @@ const [collapsed, setCollapsed] = useState(false)
country: 'Thailand',
},
{
key: Math.random().toString(36).substring(2, 9),
key: 5095097, //Math.random().toString(36).substring(2, 9),
description: 'Fran Grundman <frangrundman@rogers.com>',
title: 'Re: Re: Re: Final cost',
mailDate: '2025-05-01 19:21:00',
@ -643,7 +646,7 @@ const [collapsed, setCollapsed] = useState(false)
country: 'Thailand',
},
{
key: Math.random().toString(36).substring(2, 9),
key: 5095083, //Math.random().toString(36).substring(2, 9),
description: 'Fran Grundman <frangrundman@rogers.com>',
title: 'Reference Number: LSS240628079',
mailDate: '2025-05-01 19:21:00',
@ -651,7 +654,7 @@ const [collapsed, setCollapsed] = useState(false)
country: 'Thailand',
},
{
key: Math.random().toString(36).substring(2, 9),
key: 5093980, //Math.random().toString(36).substring(2, 9),
description: 'Fran Grundman <frangrundman@rogers.com>',
title: 'Re: Personal information and Hiroshima tour for 2 people',
mailDate: '2025-05-01 19:21:00',
@ -659,7 +662,7 @@ const [collapsed, setCollapsed] = useState(false)
country: 'Thailand',
},
{
key: Math.random().toString(36).substring(2, 9),
key: 5093968, //Math.random().toString(36).substring(2, 9),
description: 'Fran Grundman <frangrundman@rogers.com>',
title: 'Re: Asia Travel Tips /LSS250429038',
mailDate: '2025-05-01 19:21:00',
@ -681,7 +684,7 @@ const [collapsed, setCollapsed] = useState(false)
>
<List.Item.Meta
className='cursor-pointer'
onClick={() => console.info('item: ', item)}
onClick={() => {console.info('item: ', item); setActiveEmailId(item.key)}}
title={<a href={item.href} onClick={() => setSubject(item.title)}>{item.title}</a>}
description={item.description + ' ' + item.mailDate}
/>
@ -691,55 +694,10 @@ const [collapsed, setCollapsed] = useState(false)
/>
</div>
</Col>
<Col span={8}>
<div>
<Flex gap="small">
<Space.Compact>
<Button color="primary" variant="solid" onClick={() => {
window.open(`/email/reply/5190495`, `${1}-${0}`,'left=20,width=1000')
}}>
回复
</Button>
<Button color="primary" variant="outlined" onClick={() => {
window.open(`/email/reply/5220965`, `${2}-${0}`,'left=20,width=1000')
}}>
回复全部
</Button>
<Button color="primary" variant="outlined" onClick={() => {
window.open(`/email/forward/5128754`, `${3}-${0}`,'left=20,width=1000')
}}>
转发
</Button>
</Space.Compact>
<Button color="cyan" variant="outlined">
已处理
</Button>
<Button color="cyan" variant="outlined">
绑定订单
</Button>
</Flex>
<Descriptions column={2} title={mailSubject} items={[
{
key: '1',
label: '发件人',
children: '"阿里邮箱" <no-reply@mailsupport.aliyun.com>',
},
{
key: '2',
label: '收件人',
children: '<liaoyijun@chinahighlights.com>',
},
{
key: '3',
label: '发送日期',
children: '2025-05-16 14:11',
},
]} />
<p>{Math.random().toString(36).substring(2, 9)}Some contents...</p>
<p>Some {Math.random().toString(36).substring(2, 9)}contents...</p>
<p>Some contents...{Math.random().toString(36).substring(2, 9)}</p>
</div></Col>
<Col span={10} className='' style={{height: 'calc(100vh - 166px)'}}>
<EmailDetailInline mailID={activeEmailId || 5291957} emailMsg={{}} variant={'outline'} size={'small'} />
{/* <EmailDetailInline mailID={5277561} emailMsg={{}} variant={'outline'} size={'small'} /> */}
</Col>
</Row>
</Layout.Content>

Loading…
Cancel
Save