import React, { useState } from 'react'; import { Table, Form, Button, Space, Popconfirm, Tag, message } from 'antd'; import { EditOutlined, DeleteOutlined, SaveOutlined, CloseOutlined } from '@ant-design/icons'; import { EditableCell } from './EditableCell'; import { ExpandedMemberships } from './ExpandedMemberships'; export const TeamTable = ({ tableLoading,pagination,dataSource, onTableChange,onDelete ,onUpdate}) => { const [form] = Form.useForm(); const [editingKey, setEditingKey] = useState(''); const [loading, setLoading] = useState(false); const isEditing = (record) => record.id === editingKey; const edit = (record) => { form.setFieldsValue({ name: record.name, description: record.description }); setEditingKey(record.id); }; const cancel = () => { setEditingKey(''); form.resetFields(); }; // 保存编辑 const save = async (key) => { try { setLoading(true); const row = await form.validateFields(); await onUpdate(key, { name: row.name, description: row.description, updated_at: new Date().toISOString() }); setEditingKey(''); message.success('更新成功'); onTableChange?.(); // 刷新数据 } catch (error) { console.error('Save failed:', error); message.error('更新失败: ' + error.message); } finally { setLoading(false); } }; // 删除团队 const handleDelete = async (id) => { try { setLoading(true); await onDelete(id) message.success('删除成功'); onTableChange?.(); // 刷新数据 } catch (error) { console.error('Delete failed:', error); message.error('删除失败: ' + error.message); } finally { setLoading(false); } }; const columns = [ { title: '团队名称', dataIndex: 'name', key: 'name', editable: true, render: (text, record) => (