Просмотр исходного кода

AI: 更新会友列表和表单

D8D AI 1 год назад
Родитель
Сommit
239072e030
2 измененных файлов с 34 добавлено и 12 удалено
  1. 16 5
      src/components/MemberForm.jsx
  2. 18 7
      src/components/MemberList.jsx

+ 16 - 5
src/components/MemberForm.jsx

@@ -1,7 +1,6 @@
 import React, { useEffect, useState } from 'react';
-import { Form, Input, Button, Select, DatePicker, InputNumber, Switch, Upload, message } from 'antd';
+import { Form, Input, Button, Select, InputNumber, Upload, message } from 'antd';
 import { UploadOutlined } from '@ant-design/icons';
-import moment from 'moment';
 
 const { Option } = Select;
 
@@ -14,7 +13,6 @@ const MemberForm = ({ onSubmit, initialValues }) => {
       form.setFieldsValue({
         ...initialValues,
         gender: initialValues.gender === '男' ? 1 : 2,
-        // 其他字段的处理...
       });
     } else {
       form.resetFields();
@@ -26,7 +24,6 @@ const MemberForm = ({ onSubmit, initialValues }) => {
       ...values,
       gender: values.gender,
       photo: photoBase64,
-      // 添加其他必要的字段转换...
     };
     onSubmit(formattedValues);
   };
@@ -83,6 +80,13 @@ const MemberForm = ({ onSubmit, initialValues }) => {
           <Option value={2}>女</Option>
         </Select>
       </Form.Item>
+      <Form.Item
+        name="age"
+        label="年龄"
+        rules={[{ required: true, message: '请输入年龄' }]}
+      >
+        <InputNumber min={0} max={150} />
+      </Form.Item>
       <Form.Item
         name="idCard"
         label="身份证号"
@@ -92,7 +96,7 @@ const MemberForm = ({ onSubmit, initialValues }) => {
       </Form.Item>
       <Form.Item
         name="photo"
-        label="照片"
+        label="人脸照片"
         valuePropName="fileList"
         getValueFromEvent={normFile}
       >
@@ -105,6 +109,13 @@ const MemberForm = ({ onSubmit, initialValues }) => {
           <Button icon={<UploadOutlined />}>上传照片</Button>
         </Upload>
       </Form.Item>
+      <Form.Item
+        name="groupLeader"
+        label="所属小组组长"
+        rules={[{ required: true, message: '请输入所属小组组长' }]}
+      >
+        <Input />
+      </Form.Item>
       <Form.Item>
         <Button type="primary" htmlType="submit">
           提交

+ 18 - 7
src/components/MemberList.jsx

@@ -1,5 +1,5 @@
 import React, { useState, useEffect, useCallback, useRef } from 'react';
-import { Table, Button, message, Modal, Space, Input } from 'antd';
+import { Table, Button, message, Modal, Space, Input, Image } from 'antd';
 import { PlusOutlined, SearchOutlined, DownloadOutlined } from '@ant-design/icons';
 import Highlighter from 'react-highlight-words';
 import { deviceApi } from '../api/deviceApi';
@@ -140,12 +140,6 @@ const MemberList = () => {
   };
 
   const columns = [
-    { 
-      title: 'ID', 
-      dataIndex: 'personId', 
-      key: 'personId',
-      ...getColumnSearchProps('personId'),
-    },
     { 
       title: '姓名', 
       dataIndex: 'name', 
@@ -158,12 +152,29 @@ const MemberList = () => {
       key: 'gender',
       render: (gender) => (gender === 1 ? '男' : '女'),
     },
+    { 
+      title: '年龄', 
+      dataIndex: 'age', 
+      key: 'age',
+    },
     { 
       title: '身份证号', 
       dataIndex: 'idCard', 
       key: 'idCard',
       ...getColumnSearchProps('idCard'),
     },
+    {
+      title: '人脸照片',
+      dataIndex: 'photo',
+      key: 'photo',
+      render: (photo) => photo ? <Image src={`data:image/jpeg;base64,${photo}`} width={50} /> : '无照片',
+    },
+    {
+      title: '所属小组组长',
+      dataIndex: 'groupLeader',
+      key: 'groupLeader',
+      ...getColumnSearchProps('groupLeader'),
+    },
     {
       title: '操作',
       key: 'action',