import { useTheme } from '@/contexts/ThemeContext'; import { TaskListItem } from '@/pages/TaskManagement'; import { ChevronRight, FileText } from 'lucide-react'; import React, { useEffect, useState } from 'react'; import { PageType } from '../Sidebar'; import { TaskCard } from './TaskCard'; import { Pagination } from 'tdesign-react'; interface KanbanColumnProps { title: string; count: number; color: string; tasks: TaskListItem[]; taskType: string; TaskDataType?: string; // 区分来源类型 onNavigate: (page: PageType) => void; pageIndexSearch: (taskType: string, pageIndex: number) => void; handleStartAnalysis: (task: TaskListItem) => void } export const KanbanColumn: React.FC = ({ title, count, color, tasks,taskType, TaskDataType = 'task' , onNavigate, pageIndexSearch, handleStartAnalysis }) => { const { theme } = useTheme(); const isDark = theme === 'dark'; const textPrimary = isDark ? 'text-white' : 'text-gray-900'; const textMuted = isDark ? 'text-slate-500' : 'text-gray-400'; // 当前页码,默认为第 1 页 const [pageNum, setPageNum] = useState(1); // 每页显示数量,默认为 10 条 const [pageSize, setPageSize] = useState(10); // 每页显示 10 条 /** * 页码变化时的回调函数 * 当用户切换页码时触发,更新页码并重新获取数据 * @param value - 新的页码值 */ const pageIndexChange = async (value: number) => { // 更新 ref 中存储的页码值 // 更新页码状态,触发组件重新渲染 console.log('taskType', taskType) setPageNum(value); await pageIndexSearch(taskType, value); } /** * 每页显示数量变化时的回调函数 * 当用户切换每页显示条数时触发,更新每页数量并重新获取数据 * @param value - 新的每页显示数量 */ const pageSizeChange = async (value: number) => { // 更新 ref 中存储的每页显示数量 // 更新每页显示数量状态,触发组件重新渲染 setPageSize(value); } return (

{title}

{count}
{/* */}
pageIndexChange(Number(page))} />
{tasks.length === 0 ? (

暂无任务

) : ( tasks.map(task => ) )}
); }