diff --git a/src/actions/EmailActions.js b/src/actions/EmailActions.js index 8355652..39c5f6b 100644 --- a/src/actions/EmailActions.js +++ b/src/actions/EmailActions.js @@ -322,7 +322,7 @@ export const queryEmailListAction = async ({ opi_sn = '', pagesize = 10, last_id /** * 更新邮件属性 */ -export const updateEmailAction = async (params = { opi_sn: '', mai_sn_list: [], set: {} }) => { +export const updateEmailAction = async (params = { opi_sn: 0, mai_sn_list: [], set: {} }) => { const { errcode, result } = await postJSON(`${API_HOST_V3}/mail_update`, params) return errcode === 0 ? {} : result } diff --git a/src/components/OrderProfile.jsx b/src/components/OrderProfile.jsx index d6bbe29..2b286e7 100644 --- a/src/components/OrderProfile.jsx +++ b/src/components/OrderProfile.jsx @@ -75,8 +75,7 @@ const OrderProfile = ({ coliSN, ...props }) => { Thailand - - + {customerDetail.phone} diff --git a/src/hooks/useEmail.js b/src/hooks/useEmail.js index 876d618..a2cc727 100644 --- a/src/hooks/useEmail.js +++ b/src/hooks/useEmail.js @@ -158,6 +158,24 @@ export const useEmailList = (mailboxDirNode) => { const { OPI_SN: opi_sn, COLI_SN, VKey, VParent, ApplyDate, OrderSourceType, IsTrue } = mailboxDirNode + const markAsRead = useCallback((sn_list) => { + updateEmailAction({ + opi_sn: opi_sn, + mai_sn_list: sn_list, + set: { read: 1} + }); + refresh() + }, []); + + const markAsProcessed = useCallback((sn_list) => { + updateEmailAction({ + opi_sn: opi_sn, + mai_sn_list: sn_list, + set: { processed: 1} + }); + refresh() + }, []); + const getMailList = useCallback(async () => { console.log('getMailList', mailboxDirNode) if (!opi_sn || !VKey || (!IsTrue && !COLI_SN)) { @@ -200,7 +218,7 @@ export const useEmailList = (mailboxDirNode) => { getMailList() }, [getMailList]) - return { loading, isFreshData, error, mailList, refresh } + return { loading, isFreshData, error, mailList, refresh, markAsRead, markAsProcessed } } const orderMailTypes = new Map([ diff --git a/src/views/orders/components/MailBox.jsx b/src/views/orders/components/MailBox.jsx index f01e0ee..562fa49 100644 --- a/src/views/orders/components/MailBox.jsx +++ b/src/views/orders/components/MailBox.jsx @@ -41,7 +41,7 @@ const MailBox = ({ mailboxDir, onMailItemClick, onSelect, ...props }) => { ] const [form] = Form.useForm() const [selectedItems, setSelectedItems] = useState([]) - const { mailList, loading, error, refresh } = useEmailList(mailboxDir) + const { mailList, loading, error, refresh, markAsRead, markAsProcessed } = useEmailList(mailboxDir) const [pagination, setPagination] = useState({ current: 1, @@ -145,7 +145,7 @@ const MailBox = ({ mailboxDir, onMailItemClick, onSelect, ...props }) => { selectedItems.length > 0 && selectedItems.length < pagination.pagedList.length } - checked={pagination.pagedList.every((item) => + checked={pagination.pagedList.length === 0 ? false : pagination.pagedList.every((item) => selectedItems.some((selected) => selected.MAI_SN === item.MAI_SN) )} onChange={(e) => { @@ -162,10 +162,19 @@ const MailBox = ({ mailboxDir, onMailItemClick, onSelect, ...props }) => { > -