import { Button, Table, Tag, Popconfirm, Space } from 'antd'; import type { ColumnsType } from 'antd/es/table'; import type { Model } from '@/types'; import { useModels, useDeleteModel } from '@/hooks/useModels'; interface ModelTableProps { providerId: string; onAdd?: () => void; onEdit?: (model: Model) => void; } export function ModelTable({ providerId, onAdd, onEdit }: ModelTableProps) { const { data: models = [], isLoading } = useModels(providerId); const deleteModel = useDeleteModel(); const columns: ColumnsType = [ { title: '模型名称', dataIndex: 'modelName', key: 'modelName', ellipsis: { showTitle: true }, }, { title: '状态', dataIndex: 'enabled', key: 'enabled', render: (enabled: boolean) => enabled ? 启用 : 禁用, width: 80, }, { title: '操作', key: 'action', width: 120, render: (_, record) => ( {onEdit && ( )} deleteModel.mutate(record.id)} okText="确定" cancelText="取消" > ), }, ]; return (
关联模型 ({models.length}) {onAdd && ( )}
columns={columns} dataSource={models} rowKey="id" loading={isLoading} pagination={false} size="small" locale={{ emptyText: '暂无模型,点击上方按钮添加' }} />
); }