import { useState, useEffect } from 'react' import { Card, Row, Col, Calendar, List, Badge, Empty, Typography, Spin } from 'antd' import { FileTextOutlined, ClockCircleOutlined } from '@ant-design/icons' import { useNavigate } from 'react-router-dom' import { getDocumentActivityDates, getDocumentActivity } from '@/api/dashboard' import Toast from '@/components/Toast/Toast' import dayjs from 'dayjs' import './Desktop.css' const { Text } = Typography function Desktop() { const navigate = useNavigate() const [loading, setLoading] = useState(false) const [activityDates, setActivityDates] = useState([]) const [selectedDate, setSelectedDate] = useState(dayjs()) const [activityLogs, setActivityLogs] = useState([]) const [currentMonth, setCurrentMonth] = useState(dayjs()) useEffect(() => { loadActivityDates(currentMonth.year(), currentMonth.month() + 1) loadActivityLogs(selectedDate.format('YYYY-MM-DD')) }, []) // 加载指定月份有活动的日期 const loadActivityDates = async (year, month) => { try { const res = await getDocumentActivityDates(year, month) if (res.data && res.data.dates) { setActivityDates(res.data.dates) } } catch (error) { console.error('Load activity dates error:', error) } } // 加载指定日期的活动日志 const loadActivityLogs = async (date) => { setLoading(true) try { const res = await getDocumentActivity(date) if (res.data && res.data.logs) { setActivityLogs(res.data.logs) } else { setActivityLogs([]) } } catch (error) { console.error('Load activity logs error:', error) Toast.error('加载失败', '获取文档活动记录失败') } finally { setLoading(false) } } // 日历单元格渲染 const dateCellRender = (value) => { const dateStr = value.format('YYYY-MM-DD') const activity = activityDates.find(item => item.date === dateStr) if (activity && activity.count > 0) { return (