User.jsx 1.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import React, { useEffect } from 'react'
  2. import ProForm, {
  3. ProFormText,
  4. } from '@ant-design/pro-form';
  5. import UploadImage from '@/components/UploadImage';
  6. import { notification, Form } from 'antd';
  7. import request from '@/utils/request';
  8. export default (props) => {
  9. const [form] = Form.useForm();
  10. const handleSubmit = (values) => {
  11. if (!props.user?.userId) {
  12. // 新增
  13. request('/user', { method: 'post', data: values }).then(res => {
  14. notification.success({ message: '新增用户成功' })
  15. props.onChange(res)
  16. }).catch((e) => {
  17. notification.error({ message: e.message })
  18. })
  19. } else {
  20. //
  21. }
  22. }
  23. useEffect(() => {
  24. if (props.user && props.user.userId) {
  25. form.setFieldsValue(props.user);
  26. }
  27. }, [props.user, form]);
  28. return (
  29. <ProForm form={form} onFinish={handleSubmit}>
  30. <ProFormText
  31. label="姓名"
  32. placeholder="请输入姓名"
  33. name="userName"
  34. rules={[{ required: true, message: '请填写姓名' }]}
  35. />
  36. <Form.Item name="avatar" label="头像" placeholder="请设置头像">
  37. <UploadImage />
  38. </Form.Item>
  39. <ProFormText
  40. label="手机号"
  41. placeholder="请输入手机号"
  42. name="phone"
  43. />
  44. <ProFormText
  45. label="登录名"
  46. placeholder="请设置用户登录名"
  47. name="loginName"
  48. rules={[{ required: true, message: '请设置用户登录名' }]}
  49. extra="默认密码 abc@123 "
  50. />
  51. </ProForm>
  52. )
  53. }