From dabe7d655172ade46352c2bdb0b6e060b6036b86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Mon, 13 Sep 2021 13:21:34 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=9A=E7=9F=A5=E4=B8=AD=E5=BF=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SecuritySetting/notice/myNotice/Index.jsx | 76 +++++++++++-------- .../notice/myNotice/Index.scss | 12 +++ 2 files changed, 57 insertions(+), 31 deletions(-) diff --git a/src/forge/SecuritySetting/notice/myNotice/Index.jsx b/src/forge/SecuritySetting/notice/myNotice/Index.jsx index a2d5631b9..ffa87ad43 100644 --- a/src/forge/SecuritySetting/notice/myNotice/Index.jsx +++ b/src/forge/SecuritySetting/notice/myNotice/Index.jsx @@ -5,16 +5,21 @@ import '../manager/Index.scss' import DelModal from '../../../Wiki/components/ModalFun'; import Axios from 'axios'; import { Link } from 'react-router-dom'; +import { CheckboxGroup } from 'rsuite'; function MyNotice(props) { - const [noticeType, setNoticeType] = useState("0"); - const [selectedNum, setSelectedNum] = useState(0); - const [isBatchDelete, setIsBatchDelete] = useState(false); - const [notice_unread_count, setNotice_unread_count] = useState();//未读系统通知数量 - const [letter_unread_count, setLetter_unread_count] = useState(0);//未读私信数量 - const [at_unread_count, setAt_unread_count] = useState();//未读@我数量 - const [message_list, setMessage_list] = useState([]); + const [noticeType, setNoticeType] = useState("2");//消息类别tab栏选择 + const [selectedNum, setSelectedNum] = useState(0);//@我批量删除选择消息条数 + const [isBatchDelete, setIsBatchDelete] = useState(false);//@我是否批量删除 + const [batchDeleteCheckedAll,setBatchDeleteCheckAll] = useState(false);//@我批量删除--全选 + const [batchDeleteList,setBatchDeleteList] = useState(new Set());//@我批量删除--选中 + const [atmeCount,setAtmeCount] = useState(0); + + const [noticeUnreadCount, setNoticeUnreadCount] = useState();//未读系统通知数量 + const [letterUnreadCount, setLetterUnreadCount] = useState(0);//未读私信数量 + const [atUnreadCount, setAtUnreadCount] = useState();//未读@我数量 + const [messageList, setMessageList] = useState([]); const [onlyUnread,setOnlyUnread] = useState(); useEffect(() => { @@ -31,10 +36,15 @@ function MyNotice(props) { Axios.get(`/users/yystopf/messages.json`, { params: params, }).then((response) => { - setNotice_unread_count(response.data.unread_notification); - setAt_unread_count(response.data.unread_atme); - setMessage_list(response.data.messages); + setNoticeUnreadCount(response.data.unread_notification); + setAtUnreadCount(response.data.unread_atme); + setMessageList(response.data.messages); }) + var count = 0; + messageList.map(item=>{ + item.type==="atme"?count++:""; + }) + setAtmeCount(count); } function handleClick(e) { @@ -42,26 +52,27 @@ function MyNotice(props) { if (e.key != "2") { setIsBatchDelete(false); } - } - function onChange() { - var selectedNum = 0; - const checkbox = document.getElementsByClassName("atme-checkbox"); - for (var i = 0; i < checkbox.length; i++) { - checkbox[i].checked ? selectedNum++ : ""; + function onChange(e) { + if(e.target.checked){ + batchDeleteList.has(e.target.name)?"":setBatchDeleteList(batchDeleteList.add(e.target.name)); + }else{ + batchDeleteList.delete(e.target.name); } - document.getElementById("checkAll").checked = selectedNum === checkbox.length; - setSelectedNum(selectedNum === checkbox.length ? checkbox.length : selectedNum); + batchDeleteList.size === atmeCount?setBatchDeleteCheckAll(true):""; + console.log(batchDeleteCheckedAll); } function onCheckAllChange(e) { - const checkbox = document.getElementsByClassName("atme-checkbox"); - for (var i = 0; i < checkbox.length; i++) { - checkbox[i].checked = e.target.checked; - } - setSelectedNum(e.target.checked ? checkbox.length : 0); + // setBatchDeleteList(e.target.checked?) + setBatchDeleteCheckAll(e.target.checked); + // const checkbox = document.getElementsByClassName("atme-checkbox"); + // for (var i = 0; i < checkbox.length; i++) { + // checkbox[i].checked = e.target.checked; + // } + // setSelectedNum(e.target.checked ? checkbox.length : 0); } function deleteNotice() { @@ -79,24 +90,25 @@ function MyNotice(props) {