diff --git a/src/components/InvitingPersonnelModal/index.tsx b/src/components/InvitingPersonnelModal/index.tsx index 095bdde..383b55a 100644 --- a/src/components/InvitingPersonnelModal/index.tsx +++ b/src/components/InvitingPersonnelModal/index.tsx @@ -7,13 +7,13 @@ import { useLocation } from 'react-router-dom'; import { GetRoomUser, PostRoomInvite } from '@/api/Meeting'; import { storage } from '@/utils'; import Avatar from '@/components/Avatar'; +let userInfo = JSON.parse(storage.getItem('user') as string) const InvitingPersonnelModal = forwardRef((props: any, ref: any) => { useImperativeHandle(ref, () => ({ changeInvitingPersonnelModal: () => { - let userInfo = JSON.parse(storage.getItem('user') as string) setCheckedList([]) setUser(userInfo) - getUserList(true) + getUserList() setIsInvitingPersonnelModal(true) } })) @@ -28,6 +28,7 @@ const InvitingPersonnelModal = forwardRef((props: any, ref: any) => { total: 0, pageIndex: 1, pageSize: 5, + roomList: [] }) const [checkedList, setCheckedList] = useState([]) @@ -53,8 +54,21 @@ const InvitingPersonnelModal = forwardRef((props: any, ref: any) => { } } }, [optionsValue]); + + useEffect(() => { + setList((res: any) => { + res.data.forEach((item: any) => { + item.checked = checkedList.find((checkedItem: any) => checkedItem.id === item.id) ? true : false; + item.disabled = res.roomList.find((row: any) => row.account === item.account) ? true : false; + }); + return { + ...res, + data: res.data, + } + }) + }, [list.data]); // 获取用户列表 - const getUserList = async (bool: boolean = false): Promise => { + const getUserList = async (): Promise => { Promise.all([ GetRoomUser(state.channelId), GetUserList({ @@ -65,17 +79,12 @@ const InvitingPersonnelModal = forwardRef((props: any, ref: any) => { }) ]).then(res => { if (res[0].code === 200 && res[1].code === 200) { - res[1].data.items.splice(res[1].data.items.findIndex((item: any) => item.uid === user.uid), 1) + res[1].data.items.splice(res[1].data.items.findIndex((item: any) => item.uid === userInfo.uid), 1) setList({ ...list, total: res[1].data.total, - data: res[1].data.items.map((item: any) => { - return { - ...item, - checked: bool ? false : checkedList.find((checkedItem: any) => checkedItem.id === item.id) ? true : false, - disabled: bool ? false : res[0].data.find((row: any) => row.account === item.account) ? true : false - } - }), + data: res[1].data.items, + roomList: res[0].data }) } }) @@ -142,7 +151,7 @@ const InvitingPersonnelModal = forwardRef((props: any, ref: any) => { }) }} disabled={!item.isOnline || item.account === user.account || item.disabled} checked={item.checked}>
- {item.userName} + {item.userName}{item.disabled ? '(已入会)' : ''}
{item.isOnline ? '在线' : '离线'}
) : 暂无数据} diff --git a/src/page/Meeting/index.tsx b/src/page/Meeting/index.tsx index df50739..66702c4 100644 --- a/src/page/Meeting/index.tsx +++ b/src/page/Meeting/index.tsx @@ -40,7 +40,7 @@ const Meeting: React.FC = () => { const [footerList, setFooterList] = useState([ [ { - title: '关闭声音', + title: '静音', icon: ImageUrl.icon22, iconActive: ImageUrl.icon22Active, active: false, @@ -343,7 +343,7 @@ const Meeting: React.FC = () => { res.forEach((item: any) => { if (item.uid === userInfo.uid) { const footerListTemplate = [...footerList] - footerListTemplate[0][0].title = item.enableMicr ? '关闭声音' : '开启声音' + footerListTemplate[0][0].title = item.enableMicr ? '静音' : '解除静音' footerListTemplate[0][0].active = !item.enableMicr footerListTemplate[0][1].title = item.enableCamera ? '关闭视频' : '开启视频' footerListTemplate[0][1].active = !item.enableCamera @@ -510,14 +510,14 @@ const Meeting: React.FC = () => { await allUserLook(userInfo.uid) footerListTemplate[itemIndex][rowIndex].title = '共享屏幕' break; - case '关闭声音': - footerListTemplate[itemIndex][rowIndex].title = '开启声音' + case '静音': + footerListTemplate[itemIndex][rowIndex].title = '解除静音' footerListTemplate[itemIndex][rowIndex].active = true setFooterList(footerListTemplate) postOpenMicr(false, user.uid) break; - case '开启声音': - footerListTemplate[itemIndex][rowIndex].title = '关闭声音' + case '解除静音': + footerListTemplate[itemIndex][rowIndex].title = '静音' footerListTemplate[itemIndex][rowIndex].active = false setFooterList(footerListTemplate) postOpenMicr(true, user.uid) @@ -1035,7 +1035,7 @@ const Meeting: React.FC = () => {
{ postOpenMicr(!item.enableMicr, item.uid) - }} title={item.enableMicr ? '关闭声音' : '打开声音'} /> + }} title={item.enableMicr ? '静音' : '打开声音'} /> { postOpenCamera(!item.enableCamera, item.uid) }} title={item.enableCamera ? '关闭视频' : '打开视频'} /> @@ -1286,7 +1286,7 @@ const meetingContentError = (currentVideoId: any, item: any) => { const networkIcon = (network: number) => { switch (network) { case 0: - return + return @@ -1298,28 +1298,28 @@ const networkIcon = (network: number) => { case 1: - return + return case 2: - return + return case 3: - return + return case 4: - return + return