Pārlūkot izejas kodu

AI: 修复会友列表显示

D8D AI 1 gadu atpakaļ
vecāks
revīzija
c0853693e6
1 mainītis faili ar 52 papildinājumiem un 46 dzēšanām
  1. 52 46
      src/components/MemberList.jsx

+ 52 - 46
src/components/MemberList.jsx

@@ -36,55 +36,61 @@ const MemberList = () => {
     }
   };
 
-  // ... 其他方法保持不变
+  const handleAdd = () => {
+    setIsAddModalVisible(true);
+  };
+
+  const handleEdit = (record) => {
+    setEditingMember(record);
+    setIsEditModalVisible(true);
+  };
+
+  const handleDelete = (id) => {
+    Modal.confirm({
+      title: '确认删除',
+      content: '您确定要删除这个会友吗?此操作不可逆。',
+      onOk: async () => {
+        try {
+          await deviceApi.deletePerson(id);
+          message.success('会友删除成功');
+          fetchMembers(); // 重新获取会友列表
+        } catch (error) {
+          console.error('删除会友失败', error);
+          message.error(`删除会友失败: ${error.message}`);
+        }
+      },
+    });
+  };
+
+  const handleMemberAdded = (newMember) => {
+    setMembers([...members, newMember]);
+    setIsAddModalVisible(false);
+    message.success('会友添加成功');
+  };
+
+  const handleMemberEdited = (editedMember) => {
+    setMembers(members.map(member => 
+      member.personId === editedMember.personId ? editedMember : member
+    ));
+    setIsEditModalVisible(false);
+    message.success('会友信息更新成功');
+  };
 
   const columns = [
-    {
-      title: 'ID',
-      dataIndex: 'personId',
-      key: 'personId',
-    },
-    {
-      title: '姓名',
-      dataIndex: 'name',
-      key: 'name',
-    },
-    {
-      title: '性别',
-      dataIndex: 'gender',
-      key: 'gender',
-    },
-    {
-      title: '年龄',
-      dataIndex: 'age',
-      key: 'age',
-    },
-    {
-      title: '出生日期',
-      dataIndex: 'birthDate',
-      key: 'birthDate',
-    },
-    {
-      title: '婚姻状况',
-      dataIndex: 'maritalStatus',
-      key: 'maritalStatus',
-    },
-    {
-      title: '是否受洗',
-      dataIndex: 'isBaptized',
+    { title: 'ID', dataIndex: 'personId', key: 'personId' },
+    { title: '姓名', dataIndex: 'name', key: 'name' },
+    { title: '性别', dataIndex: 'gender', key: 'gender' },
+    { title: '年龄', dataIndex: 'age', key: 'age' },
+    { title: '出生日期', dataIndex: 'birthDate', key: 'birthDate' },
+    { title: '婚姻状况', dataIndex: 'maritalStatus', key: 'maritalStatus' },
+    { 
+      title: '是否受洗', 
+      dataIndex: 'isBaptized', 
       key: 'isBaptized',
-      render: (isBaptized) => isBaptized ? '是' : '否',
-    },
-    {
-      title: '受洗日期',
-      dataIndex: 'baptismDate',
-      key: 'baptismDate',
-    },
-    {
-      title: '联系方式',
-      dataIndex: 'contact',
-      key: 'contact',
+      render: (isBaptized) => isBaptized ? '是' : '否'
     },
+    { title: '受洗日期', dataIndex: 'baptismDate', key: 'baptismDate' },
+    { title: '联系方式', dataIndex: 'contact', key: 'contact' },
     {
       title: '操作',
       key: 'action',
@@ -103,7 +109,7 @@ const MemberList = () => {
       <Button onClick={fetchMembers} type="primary" style={{ marginBottom: 16, marginRight: 16 }}>
         刷新列表
       </Button>
-      <Button onClick={() => setIsAddModalVisible(true)} type="primary" style={{ marginBottom: 16 }}>
+      <Button onClick={handleAdd} type="primary" style={{ marginBottom: 16 }}>
         添加会友
       </Button>
       <ExcelImportExport members={members} onImport={fetchMembers} />