import { useState } from 'react'
import { App, Button, Divider, Avatar } from 'antd'
import { LoadingOutlined, ApiOutlined } from '@ant-design/icons';
import { EditIcon, ReplyIcon, ResendIcon, ShareForwardIcon } from '@/components/Icons'
import { isEmpty, TagColorStyle } from '@/utils/commons'
import EmailEditorPopup from '../Input/EmailEditorPopup'
import DnDModal from '@/components/DndModal'
import useStyleStore from '@/stores/StyleStore'
import { useEmailDetail, } from '@/hooks/useEmail';
import { EMAIL_ATTA_HOST } from '@/config';
/**
* @property {*} emailMsg - 邮件数据. { conversationid, actionId, order_opi, coli_sn, msgOrigin: { from, to, id, email: { subject, mai_sn, } } }
*/
const EmailDetail = ({ open, setOpen, emailMsg={}, ...props }) => {
// console.log('emailDetail', emailMsg);
const {notification, message} = App.useApp()
const { conversationid, actionId, order_opi, coli_sn } = emailMsg
const { mai_sn, id } = emailMsg.msgOrigin?.email || emailMsg.msgOrigin || {}
const mailID = mai_sn || id
const [initialPosition, setInitialPosition] = useState({})
const [initialSize, setInitialSize] = useState({})
function onHandleMove(e) {
const { top, left, width, height } = e
setInitialPosition({ top, left })
}
function onHandleResize(e) {
const { top, left, width, height } = e
setInitialPosition({ top, left })
setInitialSize({ width, height })
}
const [action, setAction] = useState('')
const [openEmailEditor, setOpenEmailEditor] = useState(false)
const [fromEmail, setFromEmail] = useState('')
const onOpenEditor = (msgOrigin, action) => {
const { from, to } = msgOrigin
setOpenEmailEditor(true)
setFromEmail(action === 'edit' ? from : to)
setAction(action)
setOpen(false)
}
const [mobile] = useStyleStore((state) => [state.mobile])
const { loading, mailData, postEmailResend } = useEmailDetail(mailID)
const handleResend = async () => {
if (isEmpty(mai_sn)) {
return false
}
try {
await postEmailResend({ mai_sn, conversationid, actionId })
setOpen(false)
} catch (err) {
notification.error({
message: "请求失败",
description: err.message,
placement: "top",
duration: 3,
});
}
}
/**
* 根据状态, 显示操作
* * 已保存: []
* * 已发送: 回复, 转发
* * 失败: 重发
*/
const ActionBtns = ({className, ...props}) => {
const { status } = mailData.info
let btns = []
// 没有关联订单的邮件`绑定订单`
if (isEmpty( mailData.info?.MAI_COLI_SN)) {
btns.push(
);
btns.push(