diff --git a/front-end/src/views/home/group/CreateGroup.jsx b/front-end/src/views/home/group/CreateGroup.jsx index 3dcffcf..5c59aca 100644 --- a/front-end/src/views/home/group/CreateGroup.jsx +++ b/front-end/src/views/home/group/CreateGroup.jsx @@ -1,6 +1,6 @@ import {useLocation, useNavigate} from "react-router-dom"; -import {memo, useEffect, useState} from "react"; -import {Avatar, Button, Divider, Flex, Input, List, message, Space, Typography, Upload} from "antd"; +import {memo, useEffect, useRef, useState} from "react"; +import {Avatar, Button, Divider, Flex, Input, List, message, Modal, Space, Typography, Upload} from "antd"; import {getUploadUrl} from "@/http/api/file.api.js"; import {getToken} from "@/http/http.request.js"; import {UploadOutlined} from "@ant-design/icons"; @@ -8,6 +8,8 @@ import {isNullOrUndefined} from "@/lib/toolkit/util.js"; import {useFetch} from "@/hook/useFetch.jsx"; import {doCreateOrModify} from "@/http/api/group.info.api.js"; import {ChatList} from "@/component/list/ChatList.jsx"; +import {useSelector} from "react-redux"; +import {doQueryUserInfos} from "@/http/api/user.api.js"; const { Title } = Typography; const CreateGroup = memo(() => { @@ -57,10 +59,6 @@ const CreateGroup = memo(() => { }, }; - useEffect(() => { - console.log(doCreateOrModifyResp) - }); - const data = (()=>{ const arr =[] for (let i = 0; i < 30; i++) { @@ -102,8 +100,13 @@ const CreateGroup = memo(() => { 群组成员} - data={data} + header={( + + 群组成员 + + + )} + data={[]} renderItem={item => { return ( @@ -119,5 +122,71 @@ const CreateGroup = memo(() => { ) }) +const SelectMember = memo(({getSelectMembers}) => { + const [open, setOpen] = useState(false); + const {friendList} = useSelector(state => state.friendInfo) + const [doQueryUserInfosResp,doQueryUserInfosProxy] = useFetch(doQueryUserInfos) + const [friendInfos, setFriendInfos] = useState([]) + const selectMemberRef = useRef([]) + const [disable, setDisable] = useState([]) + + useEffect(() => { + !isNullOrUndefined(doQueryUserInfosResp) && setFriendInfos(doQueryUserInfosResp.data) + }, [doQueryUserInfosResp]); + + + useEffect(() => { + friendList.length > 0 && doQueryUserInfosProxy(friendList.map(t => t.friendId)) + }, [friendList]); + + const handleOk = () => { + getSelectMembers(selectMemberRef.current) + setOpen(false); + }; + + return ( + <> + + setOpen(false)} + > + ( + + } + title={

{item.nickname}

} + /> + { + isNullOrUndefined(disable.find(t => t === item.id)) ? + + : + + } +
+ )} + /> +
+ + ) +}) + export default CreateGroup \ No newline at end of file