diff --git a/frontend/src/pages/business/Meetings.tsx b/frontend/src/pages/business/Meetings.tsx index 23bb5e7..fe3be1b 100644 --- a/frontend/src/pages/business/Meetings.tsx +++ b/frontend/src/pages/business/Meetings.tsx @@ -84,7 +84,7 @@ const shouldPollMeetingCard = (item: MeetingVO) => || item.realtimeSessionStatus === 'ACTIVE' || isPausedRealtimeSessionStatus(item.realtimeSessionStatus); -const canManageRealtimeMeeting = (meeting: MeetingVO) => { +const canManageMeeting = (meeting: MeetingVO) => { try { const profileStr = sessionStorage.getItem('userProfile'); if (!profileStr) { @@ -97,6 +97,8 @@ const canManageRealtimeMeeting = (meeting: MeetingVO) => { } }; +const canManageRealtimeMeeting = (meeting: MeetingVO) => canManageMeeting(meeting); + const applyRealtimeSessionStatus = (item: MeetingVO, sessionStatus?: RealtimeMeetingSessionStatus): MeetingVO => { if (!sessionStatus) { return item; @@ -203,6 +205,7 @@ const MeetingCardItem: React.FC<{ item: MeetingVO, config: any, fetchData: () => onOpenMeeting(item)} className="meeting-card" style={{ borderRadius: 16, border: '1px solid var(--app-border-color)', background: 'var(--app-bg-card)', backdropFilter: 'blur(16px)', height: '220px', position: 'relative', boxShadow: 'var(--app-shadow)', transition: 'all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1)' }} styles={{ body: { padding: 0, display: 'flex', flexDirection: 'row', height: '100%' } }}>
+ {canManageMeeting(item) && (
e.stopPropagation()}>
onEditParticipants(item)} />
@@ -217,6 +220,7 @@ const MeetingCardItem: React.FC<{ item: MeetingVO, config: any, fetchData: () =>
+ )}
@@ -226,7 +230,10 @@ const MeetingCardItem: React.FC<{ item: MeetingVO, config: any, fetchData: () => {item.title}
-
{dayjs(item.meetingTime).format('YYYY-MM-DD HH:mm')}
+
+
{dayjs(item.meetingTime).format('YYYY-MM-DD HH:mm')}
+
{item.creatorName || '未知'}
+
{isProcessing ? (
{ }; const openEditParticipants = (meeting: MeetingVO) => { + if (!canManageMeeting(meeting)) { + message.warning('只有会议创建人或管理员可以修改参会人'); + return; + } setEditingMeeting(meeting); participantsEditForm.setFieldsValue({ participantIds: meeting.participantIds || [] @@ -517,6 +528,13 @@ const Meetings: React.FC = () => { width: 180, render: (text: string) => dayjs(text).format('YYYY-MM-DD HH:mm') }, + { + title: '创建人', + dataIndex: 'creatorName', + key: 'creatorName', + width: 120, + render: (text: string) => {text || '未知'} + }, { title: '参会人', dataIndex: 'participants', @@ -529,7 +547,7 @@ const Meetings: React.FC = () => { title: '操作', key: 'action', width: 160, - render: (_: any, record: MeetingVO) => ( + render: (_: any, record: MeetingVO) => canManageMeeting(record) ? ( { - ) + ) : - } ];