import React,{ useState,useEffect,useRef } from 'react';
// import {getGroupManaList,addGroupMana,delGroupMana,
// editGroupMana,getPersonList,groupBindPerson,getCheckPointList,groupBindCheckPoint
// } from "@/api/groupManage.js";
import {getPersonnelInfoList,addUser,editUser,deleteUsers} from "@/api/personnelManagement.js";
import { Button,Form,Input,Select} from 'antd';
import EditableFormTable from './table';
import ModalWrap from '@/components/Modal/modal.js';
const { Option } = Select;
const {Search} = Input;
class TableForm extends React.Component {
state = {
BindStatus:'',
BindCheckPointStatus:'',
groupList:[],
checkPointList:[]
}
handleCommit = () => {
console.log('开始校验表单');
// let data;
return new Promise((resolve,reject)=>{
this.props.form.validateFields((err,values) => {
// console.log({err,values});
if (!err) {
console.log({'success':values});
let data = {
...this.props.content,
...values
}
// this.props.form.resetFields();
resolve(data);
}
});
});
};
shouldComponentUpdate(nextProps,nextState){
// this.props.form.resetFields();
return true;
}
componentDidMount(){
// getGroupListForBind().then(data=>{
// this.setState({
// groupList:data.data.data
// })
// });
// getCheckPointList().then(data=>{
// this.setState({
// checkPointList:data.data.data
// })
// });
}
render(){
const { getFieldDecorator,resetFields } = this.props.form;
const {content,edit} = this.props;
// const {BindStatus,groupList,BindCheckPointStatus,checkPointList} = this.state;
const {name,telPhone,password,code} = content;
// console.log({content,edit});
const formItemLayout = {
labelCol: {
xs: { span: 24 },
sm: { span:6 },
},
wrapperCol: {
xs: { span: 12 },
sm: { span: 12 },
},
};
const config =(key,rules)=>{
return {
initialValue:edit?key:'',
rules: [
...rules
],
}
}
return (
{
getFieldDecorator('name',config(name,[{required: true,message: '请输入姓名!',}]))()
}
{
!edit&&
{getFieldDecorator('code',config(code,[{required:true,message: '请输入账号!',}])
)()}
}
{getFieldDecorator('password',config(password,[{required: true,message: '请输入密码!',}])
)()}
{getFieldDecorator('telPhone',config(telPhone,[{required: false,message: '请输入号码!',}])
)()}
{/*
{
getFieldDecorator('bindGroup',config('',[{required: false,}]))(
,
)
}
*/}
{/*
{
getFieldDecorator('bindCheckPoint',config('',[{required: false,}]))(
,
)
}
*/}
)
}
}
const WrappedTableForm = Form.create({ name: 'register' })(TableForm);
const GroupMana = () => {
let [arr,setarr] = useState([]);
let [pages,setpages] = useState({});
let [ifUpdateList,setifUpdateList]=useState(false);
let [ifRender,setifRender] = useState(false);
let [ifShowDialog,setifShowDialog] = useState(false);
const [item,setitem]=useState({});
const [ifEdit,setifEdit]=useState(false);
const modalNode = useRef(null);
const formNode = useRef(null);
const thisForm = useRef(null);
const [searchKey,setsearchKey] = useState('');
// let [editingKey,seteditingKey] = useState('');
const columns = [
{
title: 'id',
dataIndex: 'id',
key: 'id',
render: text => {text},
},
{
title: '姓名',
dataIndex: 'name',
key: 'name',
editable: true,
},
{
title: '电话号码',
dataIndex: 'telPhone',
key: 'telPhone',
editable: true,
},
// {
// title: '门诊管理员',
// dataIndex: 'deptManagerName',
// key: 'deptManagerName',
// editable: true,
// },
];
const getData = async (pageObj)=>{
let data = await getPersonnelInfoList(pageObj);
const renderData = data.data.data.list.map((item,index)=>{
return {
...item,
key:item['id'],
// editable: true,
}
});
setifEdit(false);
setarr(renderData);
setpages({
'currPage':data.data.data.currPage,
'totalPage':data.data.data.totalPage,
'totalCount':data.data.data.totalCount,
});
setifRender(false);
setifRender(true);
}
const callbackFromChild = (data)=>{
setitem(data);
setifEdit(true);
thisForm.current&&thisForm.current.resetFields();
modalNode.current.showModal();
}
const deleteCallback = (record)=>{
// console.log('删除');
deleteUsers([record.id]).then(res=>{
if(res&&res.data.status==200){
getData();
}
})
}
const handleAdd=()=>{
setifEdit(false);
//初始化表单
setitem(arr[0]);
modalNode.current.showModal();
}
const commitForm = async ()=>{ //表单提交
console.log('提交表单');
// console.log({formNode});
const formData = await formNode.current.handleCommit()
// console.log({ifEdit,formData,formNode});
thisForm.current.resetFields();
if(!ifEdit){
const param = {
"code":formData.code, // 登录账号 必填
"headUrl":'url', // 头像url
"name":formData.name, // 昵称 必填
"password":formData.password, // 密码 必填
"permissions": "", // 权限相关 必填 e.g.(admin,editor,guest,group-leader,company-manager)
"telPhone":formData.telPhone // 电话
}
addUser(param).then(res=>{
if(res&&res.data.status==200){
modalNode.current.handleCancel();
getData();
}
})
}
if(ifEdit){
const param = {
"id":item.id, // 需要编辑的人员ID
"name":formData.name, // 需要编辑的人员名称
"password":formData.password, // 密码
"permissions": "", // 权限 e.g. admin,editor,guest,group-leader,company-manager
"telPhone":formData.telPhone //
}
// console.log({param});
editUser(param).then(res=>{
if(res&&res.data.status==200){
modalNode.current.handleCancel();
getData({page:pages.currPage});
}
});
}
}
const paginationCallback = (obj)=>{
const {currPage} = obj;
getData({page:currPage,pageSize:10,keyword:searchKey});
}
const onSearch = (searchKey)=>{
setsearchKey(searchKey)
getData({
'keyword':searchKey?searchKey:''
});
}
useEffect(()=>{
getData();
},[]);
return (
人员信息维护
{
ifRender&&
}
);
}
export default GroupMana;