import React, { useState, useEffect, useRef } from 'react'; import { Button, Popconfirm, Modal, Form, Input, message, Radio, Select } from 'antd'; import { PlusOutlined } from '@ant-design/icons'; import { getCooperativeList } from '@/services/cooperative'; import { getUserList, addUser, deleteUser, updateUser, getDefaultPassword, getUserDetail, } from '@/services/user'; import { PageHeaderWrapper } from '@ant-design/pro-layout'; import PageTable from '@/components/PageTable'; import Search from '@/components/CooperativeSearch'; const FormItem = Form.Item; const { Option } = Select; export default (props) => { //编辑弹窗 const formItemLayout = { labelCol: { span: 6 }, wrapperCol: { span: 14 } }; const [form] = Form.useForm(); const [editModal, setEditModal] = useState(false); const [loading, setLoading] = useState(false); const [userId, setuserId] = useState(); const [password, setPassWord] = useState(''); const [cooperativeList, setCooperativeList] = useState([]); //列表数据 const actionRef = useRef(); // 编辑弹窗的表单提交 const Submit = (values) => { const newData = { ...values }; if (!newData.sex && newData.sex !== 0) { newData.sex = 1; } setLoading(true); if (!/^1[0-9]{10}$/.test(newData.phone)) { message.warning('请输入正确的十一位手机号'); setLoading(false); return false; } if (userId) { updateUser(userId, newData).then(() => { setLoading(false); message.success(`修改成功`); onCancel(); actionRef.current.reload(); }); } else { addUser(newData) .then(() => { setLoading(false); message.success(`保存成功`); onCancel(); actionRef.current.reload(); }) .catch((err) => { setLoading(false); message.error(err.message || err); }); } }; //表单点击取消按钮 const onCancel = () => { setuserId(); form.resetFields(); setEditModal(false); }; // 弹窗表单中机构搜索框改变事件目前没用 const handelChange = () => {}; // 列表点击编辑按钮 const handelEdit = (val) => { setuserId(val.userId); setEditModal(true); }; //列表点击删除按钮 const handleDelete = (id) => { deleteUser(id) .then(() => { message.success('删除成功'); actionRef.current.reload(); }) .catch((err) => { message.error(err); }); }; //列表切换人员状态方法 const handleOK = (record, data) => { const title = record.status ? '您确定要将该人员状态变更为禁用吗? 禁用后该人员将不能登录' : '您确定要将该人员状态变更为启用吗? 启用后该人员可以登录!'; Modal.confirm({ title: title, okText: '确认', cancelText: '取消', onOk() { updateUser(record.userId, { ...record, status: record.status === 1 ? 0 : 1 }) .then((res) => { message.success('操作成功'); actionRef.current.reload(); }) .catch((err) => { message.error(err); }); }, }); }; useEffect(() => { //获取账号默认密码 getDefaultPassword().then((res) => { setPassWord(res); }); //获取机构列表数据 getCooperativeList().then((res) => { setCooperativeList(res.records); }); if (userId) { getUserDetail(userId).then((res) => { if (res.orgId === '-1') { form.setFieldsValue({ ...res, orgId: cooperativeList[0].orgId }); } else { form.setFieldsValue(res); } }); } else { form.resetFields(); } }, [userId]); const actions = () => [ , ]; const columns = [ { title: '用户名', dataIndex: 'userName', key: 'userName', }, { title: '性别', dataIndex: 'sex', key: 'sex', width: 80, render: (_, record) => { return record.sex === 1 ? '男' : record.sex === 0 ? '女' : '未知'; }, search: false, }, { title: '手机号', dataIndex: 'phone', key: 'phone', width: 120, }, { title: '邮箱', dataIndex: 'email', key: 'email', }, { title: '状态', dataIndex: 'status', key: 'status', renderFormItem: () => { return ( ); }, render: (_, record) => { return record.status === 1 ? '启用' : '未启用'; }, }, { title: '操作', valueType: 'option', render: (_, record) => [ , handelEdit(record)}> 编辑 , handleDelete(record.userId)} okText="确定" cancelText="取消" > 删除 , ], }, ]; return (
默认密码{password} {/* */}
); };