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 }) => {
>
- } />
+ }
+ onClick={() => {
+ console.info('markAsRead: ', selectedItems.map((item) => item.MAI_SN))
+ markAsRead(selectedItems.map((item) => item.MAI_SN))
+ }}
+ />
- } />
+ }
+ onClick={() => {
+ console.info('markAsProcessed: ', selectedItems.map((item) => item.MAI_SN))
+ markAsProcessed(selectedItems.map((item) => item.MAI_SN))
+ }} />
} onClick={refresh} />
@@ -191,12 +200,12 @@ const MailBox = ({ mailboxDir, onMailItemClick, onSelect, ...props }) => {
// onFinish={handleSubmit}
>
-
+
-
+