/* eslint-disable @typescript-eslint/no-use-before-define */ import { ERROR_CODE,IMAGES_TYPE_MAP } from '@/constants/images.constants'; import { getImagesList } from '@/services/images'; import { Input, Table, message,Tooltip } from 'antd'; import type { ColumnsType } from 'antd/es/table'; import React, { useEffect, useState } from 'react'; import styles from './index.less'; interface TableProps { treeData?: User.OrganizationNode[]; selectedRowKeys?: any[]; onUserTableSelect?: (keys: any[], row: any[]) => void; } const TablePage: React.FC = ({ onUserTableSelect, selectedRowKeys, }) => { const [loading, setLoading] = useState(false); const [data, setData] = useState([]); const [searchText, setSearchText] = useState(); const [currentPage, setCurrentPage] = useState(1); const [pageSize, setPageSize] = useState(20); const [total, setTotal] = useState(0); useEffect(() => { loadImages(); }, [searchText, currentPage, pageSize]); const loadImages = async () => { const params: any = { page_size: pageSize, page_num: currentPage, }; if (searchText) { params.keywords = searchText; } setLoading(true); try { const imagesRes = await getImagesList(params); if (imagesRes.error_code === ERROR_CODE) { setData(imagesRes.data.data || []); setTotal(imagesRes.data.paging.total || 0); setLoading(false); } else { message.error(imagesRes.message || '获取镜像列表失败'); setLoading(false); } } catch (err) { message.error('获取镜像列表失败'); setLoading(false); } }; const columns: ColumnsType = [ { title: '序号', dataIndex: 'order', key: 'order', width: 80, render: (_: any, record: any, index: number) => {index + 1}, }, { title: '镜像名称', dataIndex: 'image_name', render: (text: any) => {text || ''}, }, { title: '桌面类型', dataIndex: 'image_type', key: 'image_type', width: 200, render: (text: number) => { const key = text as keyof typeof IMAGES_TYPE_MAP; return {IMAGES_TYPE_MAP[key] || '--'}; }, }, ]; const handleSearch = (value: string) => { setSearchText(value); setCurrentPage(1); }; const handlePageChange = (page: number, size: number) => { setCurrentPage(page); setPageSize(size); }; const handlePageSizeChange = (current: number, size: number) => { setCurrentPage(1); setPageSize(size); }; return (
); }; export default TablePage;