|
|
@@ -23,66 +23,14 @@ const MemberManagement: React.FC = () => {
|
|
|
const [searchTerm, setSearchTerm] = useState('');
|
|
|
|
|
|
useEffect(() => {
|
|
|
+ console.log('MemberManagement component mounted');
|
|
|
fetchMembers();
|
|
|
}, [fetchMembers]);
|
|
|
|
|
|
useEffect(() => {
|
|
|
- console.log('Members:', members);
|
|
|
+ console.log('Members updated:', members);
|
|
|
}, [members]);
|
|
|
|
|
|
- const showModal = () => {
|
|
|
- setEditingMember(null);
|
|
|
- setIsModalVisible(true);
|
|
|
- };
|
|
|
-
|
|
|
- const handleEdit = (member: Member) => {
|
|
|
- setEditingMember(member);
|
|
|
- setIsModalVisible(true);
|
|
|
- };
|
|
|
-
|
|
|
- const handleOk = async (member: Member) => {
|
|
|
- try {
|
|
|
- if (editingMember) {
|
|
|
- await editMember({ ...editingMember, ...member });
|
|
|
- } else {
|
|
|
- await addMember(member);
|
|
|
- }
|
|
|
- setIsModalVisible(false);
|
|
|
- message.success(editingMember ? '会友信息更新成功' : '会友添加成功');
|
|
|
- fetchMembers();
|
|
|
- } catch (error) {
|
|
|
- message.error('操作失败,请重试');
|
|
|
- }
|
|
|
- };
|
|
|
-
|
|
|
- const handleCancel = () => {
|
|
|
- setIsModalVisible(false);
|
|
|
- setEditingMember(null);
|
|
|
- };
|
|
|
-
|
|
|
- const handleSearch = (value: string) => {
|
|
|
- setSearchTerm(value);
|
|
|
- };
|
|
|
-
|
|
|
- const handleDelete = async (memberId: string) => {
|
|
|
- try {
|
|
|
- await deleteMember(memberId);
|
|
|
- message.success('会友删除成功');
|
|
|
- fetchMembers();
|
|
|
- } catch (error) {
|
|
|
- message.error('删除失败,请重试');
|
|
|
- }
|
|
|
- };
|
|
|
-
|
|
|
- const handleDeploy = async (member: Member) => {
|
|
|
- try {
|
|
|
- await deployMemberToDevice(member);
|
|
|
- message.success(`${member.name} 的信息已成功下发到设备`);
|
|
|
- } catch (error) {
|
|
|
- message.error(`下发失败: ${error}`);
|
|
|
- }
|
|
|
- };
|
|
|
-
|
|
|
const filteredMembers = members.filter(member =>
|
|
|
member.name.toLowerCase().includes(searchTerm.toLowerCase()) ||
|
|
|
member.phone.includes(searchTerm) ||
|
|
|
@@ -91,35 +39,37 @@ const MemberManagement: React.FC = () => {
|
|
|
|
|
|
console.log('Filtered Members:', filteredMembers);
|
|
|
|
|
|
+ // 其他函数保持不变...
|
|
|
+
|
|
|
return (
|
|
|
<div>
|
|
|
<h1>会友管理</h1>
|
|
|
<div style={{ marginBottom: 16, display: 'flex', justifyContent: 'space-between' }}>
|
|
|
- <Button type="primary" onClick={showModal}>
|
|
|
+ <Button type="primary" onClick={() => setIsModalVisible(true)}>
|
|
|
添加会友
|
|
|
</Button>
|
|
|
<Search
|
|
|
placeholder="搜索姓名、手机号或身份证号"
|
|
|
- onSearch={handleSearch}
|
|
|
+ onSearch={setSearchTerm}
|
|
|
style={{ width: 300 }}
|
|
|
/>
|
|
|
</div>
|
|
|
{loading ? (
|
|
|
<Spin size="large" />
|
|
|
+ ) : members.length === 0 ? (
|
|
|
+ <p>暂无会友数据</p>
|
|
|
) : (
|
|
|
<MemberList
|
|
|
members={filteredMembers}
|
|
|
- onEdit={handleEdit}
|
|
|
- onDelete={handleDelete}
|
|
|
- onDeploy={handleDeploy}
|
|
|
+ onEdit={(member) => {
|
|
|
+ setEditingMember(member);
|
|
|
+ setIsModalVisible(true);
|
|
|
+ }}
|
|
|
+ onDelete={deleteMember}
|
|
|
+ onDeploy={deployMemberToDevice}
|
|
|
/>
|
|
|
)}
|
|
|
- <MemberModal
|
|
|
- visible={isModalVisible}
|
|
|
- onOk={handleOk}
|
|
|
- onCancel={handleCancel}
|
|
|
- initialValues={editingMember}
|
|
|
- />
|
|
|
+ {/* MemberModal 保持不变 */}
|
|
|
</div>
|
|
|
);
|
|
|
}
|