From 85c2622213d2cc1bbb9655c965d6c6dd31ce7af1 Mon Sep 17 00:00:00 2001 From: LiaoYijun Date: Thu, 12 Jun 2025 14:32:48 +0800 Subject: [PATCH 1/3] =?UTF-8?q?perf:=20=E5=88=A0=E9=99=A4=E6=8B=A8?= =?UTF-8?q?=E6=89=93=E7=94=B5=E8=AF=9D=E9=93=BE=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/OrderProfile.jsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) 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} From 645c85a59af2a9b5fcbaa675bc50cc2bc78be213 Mon Sep 17 00:00:00 2001 From: LiaoYijun Date: Thu, 12 Jun 2025 16:34:04 +0800 Subject: [PATCH 2/3] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E9=82=AE=E4=BB=B6=E5=B7=B2=E8=AF=BB=E3=80=81=E5=B7=B2?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/actions/EmailActions.js | 2 +- src/hooks/useEmail.js | 18 +++++++++++++++++- src/views/orders/components/MailBox.jsx | 21 +++++++++++++++------ 3 files changed, 33 insertions(+), 8 deletions(-) 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/hooks/useEmail.js b/src/hooks/useEmail.js index e7fc158..985f53d 100644 --- a/src/hooks/useEmail.js +++ b/src/hooks/useEmail.js @@ -166,6 +166,22 @@ 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} + }); + }, []); + + const markAsProcessed = useCallback((sn_list) => { + updateEmailAction({ + opi_sn: opi_sn, + mai_sn_list: sn_list, + set: { processed: 1} + }); + }, []); + const getMailList = useCallback(async () => { console.log('getMailList', mailboxDirNode) if (!opi_sn || !VKey || (!IsTrue && !COLI_SN)) { @@ -208,7 +224,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 }) => { > -