import { WhatsAppOutlined, FileAddOutlined, MailOutlined, PhoneOutlined, UserOutlined, FieldNumberOutlined, CompassOutlined, CalendarOutlined, EditOutlined, CheckOutlined, ReloadOutlined, } from '@ant-design/icons' import { useEffect, useState } from 'react' import { Link } from 'react-router-dom' import { App, Flex, Select, Tooltip, Divider, Typography, Skeleton, Checkbox, Drawer, Button, Form, Input } from 'antd' import { useOrderStore, fetchSetRemindStateAction, OrderLabelDefaultOptions, OrderStatusDefaultOptions, remindStatusOptions } from '@/stores/OrderStore' import { copy, isEmpty } from '@/utils/commons' import { useShallow } from 'zustand/react/shallow' import useConversationStore from '@/stores/ConversationStore' import useAuthStore from '@/stores/AuthStore' const OrderProfile = ({ coliSN, ...props }) => { const { notification, message } = App.useApp() const [formComment] = Form.useForm() const [formWhatsApp] = Form.useForm() const [formExtra] = Form.useForm() const [loading, setLoading] = useState(false) const [openOrderCommnet, setOpenOrderCommnet] = useState(false) const [openWhatsApp, setOpenWhatsApp] = useState(false) const [openExtra, setOpenExtra] = useState(false) const orderLabelOptions = copy(OrderLabelDefaultOptions) orderLabelOptions.unshift({ value: 0, label: '未设置', disabled: true }) const orderStatusOptions = copy(OrderStatusDefaultOptions) const [orderDetail, customerDetail, fetchOrderDetail, setOrderPropValue, appendOrderComment, updateWhatsapp, updateExtraInfo] = useOrderStore((s) => [ s.orderDetail, s.customerDetail, s.fetchOrderDetail, s.setOrderPropValue, s.appendOrderComment, s.updateWhatsapp, s.updateExtraInfo, ]) const loginUser = useAuthStore((state) => state.loginUser) const currentOrder = useConversationStore(useShallow((state) => state.currentConversation?.coli_sn || '')) const orderId = coliSN || currentOrder const [orderRemindState, setOrderRemindState] = useState(orderDetail.remindstate) useEffect(() => { setOrderRemindState(orderDetail.remindstate) }, [orderDetail.remindstate]) useEffect(() => { if (orderId) { setLoading(true) fetchOrderDetail(orderId) .finally(() => setLoading(false)) .catch((reason) => { notification.error({ message: '查询出错', description: reason.message, placement: 'top', duration: 60, }) }) } return () => {} }, [orderId]) const handleSetRemindState = async (checkedValue) => { const state = checkedValue.filter((v) => v !== orderRemindState) const oldState = orderRemindState try { if (isEmpty(state)) { setOrderRemindState(null) } else { setOrderRemindState(state[0]) } await fetchSetRemindStateAction({ coli_sn: coliSN, remindstate: state }) message.success('设置成功') } catch (error) { notification.warning({ message: '设置失败', description: error.message, placement: 'top', duration: 60 }) setOrderRemindState(oldState) } } const getCustomerName = () => { if (orderDetail.buytime > 0) return customerDetail.name + '(R' + orderDetail.buytime + ')' return customerDetail.name } const getPlanStatus = () => { return orderDetail.DidPlan === 0 ? '未做计划' : '已做计划' } return ( <> {orderDetail.order_no} {getCustomerName()} {orderDetail.MEI_Country} {customerDetail.phone} {customerDetail.email} {isEmpty(customerDetail.whatsapp_phone_number) ? ( ) : ( {customerDetail.whatsapp_phone_number} )} {orderDetail.COLI_OrderStartDate} {getPlanStatus()} 订单状态 { setOrderPropValue(coliSN, 'orderstatus', value) .then(() => { message.success('设置成功') }) .catch((reason) => { notification.error({ message: '设置出错', description: reason.message, placement: 'top', duration: 60, }) }) }} value={orderDetail.states} options={orderStatusOptions} /> 催信 表单信息 { setOpenOrderCommnet(true) }} />

特殊要求 {orderDetail.customer_request} 外联备注 {/* */} {orderDetail.wl_memo} 附加信息 { formExtra.setFieldsValue({ extra: orderDetail.COLI_Introduction }) setOpenExtra(true) }} /> {orderDetail.COLI_Introduction}
setOpenOrderCommnet(false)} open={openOrderCommnet}>
{ appendOrderComment(loginUser.userId, orderId, values.comment) .then(() => { notification.success({ message: '温性提示', description: '添加表单信息成功', }) setOpenOrderCommnet(false) formComment.setFieldsValue({ comment: '' }) }) .catch((reason) => { notification.error({ message: '添加出错', description: reason.message, placement: 'top', duration: 60, }) }) }}>
setOpenWhatsApp(false)} open={openWhatsApp}>
{ updateWhatsapp(orderId, values.number) .then(() => { notification.success({ message: '温性提示', description: '设置 WhatsApp 成功', }) setOpenWhatsApp(false) formWhatsApp.setFieldsValue({ number: '' }) }) .catch((reason) => { notification.error({ message: '设置出错', description: reason.message, placement: 'top', duration: 60, }) }) }}>
setOpenExtra(false)} open={openExtra}>
{ updateExtraInfo(orderId, values.extra) .then(() => { notification.success({ message: '温性提示', description: '设置附加信息成功', }) setOpenExtra(false) }) .catch((reason) => { notification.error({ message: '设置出错', description: reason.message, placement: 'top', duration: 60, }) }) }}>
) } export default OrderProfile