import React, { useState, useRef, useEffect } from 'react';
|
import {
|
ProForm,
|
ProFormDigit,
|
ProFormText,
|
ProFormSelect,
|
ProFormDateTimePicker
|
} from '@ant-design/pro-components';
|
import { Form, Modal } from 'antd';
|
import moment from 'moment';
|
import Http from '@/utils/http';
|
|
const Edit = (props) => {
|
const [form] = Form.useForm();
|
const { } = props;
|
|
useEffect(() => {
|
form.resetFields();
|
form.setFieldsValue({
|
...props.values
|
})
|
}, [form, props])
|
|
const handleCancel = () => {
|
props.onCancel();
|
};
|
|
const handleOk = () => {
|
form.submit();
|
}
|
|
const handleFinish = async (values) => {
|
props.onSubmit({ ...values });
|
}
|
|
return (
|
<>
|
<Modal
|
title="Edit"
|
width={640}
|
forceRender
|
destroyOnClose
|
open={props.open}
|
onCancel={handleCancel}
|
onOk={handleOk}
|
>
|
<ProForm
|
form={form}
|
submitter={false}
|
onFinish={handleFinish}
|
layout="horizontal"
|
grid={true}
|
>
|
<ProFormDigit
|
name="id"
|
disabled
|
hidden={true}
|
/>
|
<ProForm.Group>
|
<ProFormText
|
name="username"
|
label="账号"
|
colProps={{ md: 12, xl: 12 }}
|
placeholder="请输入"
|
rules={[{ required: true, message: "账号不能为空!" }]}
|
/>
|
<ProFormText
|
name="password"
|
label="密码"
|
colProps={{ md: 12, xl: 12 }}
|
placeholder="请输入"
|
/>
|
</ProForm.Group>
|
<ProForm.Group>
|
<ProFormText
|
name="nickname"
|
label="昵称"
|
colProps={{ md: 12, xl: 12 }}
|
placeholder="请输入"
|
/>
|
<ProFormText
|
name="avatar"
|
label="头像"
|
colProps={{ md: 12, xl: 12 }}
|
placeholder="请输入"
|
/>
|
</ProForm.Group>
|
<ProForm.Group>
|
<ProFormText
|
name="code"
|
label="工号"
|
colProps={{ md: 12, xl: 12 }}
|
placeholder="请输入"
|
/>
|
<ProFormSelect
|
name="sex"
|
label="性别"
|
colProps={{ md: 12, xl: 12 }}
|
placeholder="请选择"
|
options={[
|
{ label: '未知', value: 0 },
|
{ label: '男', value: 1 },
|
{ label: '女', value: 2 },
|
]}
|
/>
|
</ProForm.Group>
|
<ProForm.Group>
|
<ProFormText
|
name="phone"
|
label="手机号"
|
colProps={{ md: 12, xl: 12 }}
|
placeholder="请输入"
|
/>
|
<ProFormText
|
name="email"
|
label="邮箱"
|
colProps={{ md: 12, xl: 12 }}
|
placeholder="请输入"
|
/>
|
</ProForm.Group>
|
<ProForm.Group>
|
<ProFormSelect
|
name="emailVerified"
|
label="邮箱验证"
|
colProps={{ md: 12, xl: 12 }}
|
placeholder="请选择"
|
options={[
|
{ label: '否', value: 0 },
|
{ label: '是', value: 1 },
|
]}
|
/>
|
<ProFormSelect
|
name="deptId"
|
label="所属部门"
|
colProps={{ md: 12, xl: 12 }}
|
fieldProps={{ precision: 0 }}
|
placeholder="请选择"
|
showSearch
|
debounceTime={300}
|
request={async ({ keyWords }) => {
|
const resp = await Http.doPostForm('api/dept/query', { condition: keyWords });
|
return resp.data;
|
}}
|
/>
|
</ProForm.Group>
|
<ProForm.Group>
|
<ProFormText
|
name="realName"
|
label="真实姓名"
|
colProps={{ md: 12, xl: 12 }}
|
placeholder="请输入"
|
/>
|
<ProFormText
|
name="idCard"
|
label="身份证号"
|
colProps={{ md: 12, xl: 12 }}
|
placeholder="请输入"
|
/>
|
</ProForm.Group>
|
<ProForm.Group>
|
<ProFormText
|
name="birthday"
|
label="出生日期"
|
colProps={{ md: 12, xl: 12 }}
|
placeholder="请输入"
|
/>
|
<ProFormText
|
name="introduction"
|
label="个人简介"
|
colProps={{ md: 12, xl: 12 }}
|
placeholder="请输入"
|
/>
|
</ProForm.Group>
|
<ProForm.Group>
|
<ProFormSelect
|
name="status"
|
label="状态"
|
colProps={{ md: 12, xl: 12 }}
|
placeholder="请选择"
|
options={[
|
{ label: '正常', value: 1 },
|
{ label: '禁用', value: 0 },
|
]}
|
/>
|
<ProFormDateTimePicker
|
name="createTime"
|
label="添加时间"
|
colProps={{ md: 12, xl: 12 }}
|
placeholder="请选择"
|
transform={(value) => moment(value).toISOString()}
|
/>
|
</ProForm.Group>
|
<ProForm.Group>
|
<ProFormSelect
|
name="createBy"
|
label="添加人员"
|
colProps={{ md: 12, xl: 12 }}
|
fieldProps={{ precision: 0 }}
|
placeholder="请选择"
|
showSearch
|
debounceTime={300}
|
request={async ({ keyWords }) => {
|
const resp = await Http.doPostForm('api/user/query', { condition: keyWords });
|
return resp.data;
|
}}
|
/>
|
<ProFormDateTimePicker
|
name="updateTime"
|
label="修改时间"
|
colProps={{ md: 12, xl: 12 }}
|
placeholder="请选择"
|
transform={(value) => moment(value).toISOString()}
|
/>
|
</ProForm.Group>
|
<ProForm.Group>
|
<ProFormSelect
|
name="updateBy"
|
label="修改人员"
|
colProps={{ md: 12, xl: 12 }}
|
fieldProps={{ precision: 0 }}
|
placeholder="请选择"
|
showSearch
|
debounceTime={300}
|
request={async ({ keyWords }) => {
|
const resp = await Http.doPostForm('api/user/query', { condition: keyWords });
|
return resp.data;
|
}}
|
/>
|
</ProForm.Group>
|
|
</ProForm>
|
</Modal>
|
</>
|
)
|
}
|
|
export default Edit;
|