diff --git a/src/forge/Head/NoticeContent.jsx b/src/forge/Head/NoticeContent.jsx
index 7092b5458..965c9137f 100644
--- a/src/forge/Head/NoticeContent.jsx
+++ b/src/forge/Head/NoticeContent.jsx
@@ -22,7 +22,6 @@ function NoticeContent({ visible, showNotification, resetUserInfo, current_user:
const [atUnreadCount, setAtUnreadCount] = useState();//未读@我数量
const [atPage, setAtPage] = useState(0);
const [atUnreadList, setAtUnreadList] = useState([]);//未读@我列表
- const [reload, setReload] = useState(0);
useEffect(() => {
const params = {
@@ -45,7 +44,7 @@ function NoticeContent({ visible, showNotification, resetUserInfo, current_user:
params.type = "atme"
}
visible && getMessageList(params);
- }, [reload, visible]);
+ }, [visible]);
function getMessageList(params) {
@@ -87,14 +86,33 @@ function NoticeContent({ visible, showNotification, resetUserInfo, current_user:
let data = response.data;
if (!data) return;
if (data.status === 0) {
- setReload(Math.random());
resetUserInfo();
+ changeReadMarkAll(noticeType);
} else {
showNotification(data.message);
}
});
}
+
+ function changeReadMarkAll(noticeType) {
+ if (noticeType === "notification") {
+ let list = noticeUnreadList.slice();
+ list.forEach(item => {
+ item.status = 2;
+ })
+ setNoticeUnreadList(list);
+ setNoticeUnreadCount(0);
+ } else if (noticeType === "atme") {
+ let list = atUnreadList.slice();
+ list.forEach(item => {
+ item.status = 2;
+ })
+ setAtUnreadList(list);
+ setAtUnreadCount(0);
+ }
+ }
+
// const [letter_unread_list, setLetter_unread_list] = useState([
// {
// id: 122,
@@ -123,6 +141,7 @@ function NoticeContent({ visible, showNotification, resetUserInfo, current_user:
});
}
+
function changeReadMark(item) {
if (item.type === "notification") {
let list = noticeUnreadList.slice();
@@ -169,7 +188,7 @@ function NoticeContent({ visible, showNotification, resetUserInfo, current_user: