import React, { useState, useEffect } from 'react'; import { Form, Select, Modal, Button, Table, Divider, Tag, Input,Row,Col,Icon,Pagination } from 'antd'; import request from '../../../../utils/request'; import apis from '../../../../services/apis'; import styles from '../style.less'; const { Column, ColumnGroup } = Table; const SelectContact = props => { const [data, setData] = useState([]); const [visible, setVisible] = useState(false); const [group, setGroup] = useState({ groupId: undefined, groupName: '请选择' }) const [selectedData, setSelectedData ] = useState([]); useEffect(() => { if (props.value && props.value != selectedData) { setSelectedData(props.value) } }, [props.value]) // 查询列表 const getList = (params) => { request({ ...apis.contact.list, params: { ...params } }).then((data) => { console.log(data) setData(data) }) } useEffect(() => { getList({ pageNum: 1, pageSize: 10,}) }, []); const handleChange = val => { } const selectData = val => { const list = selectedData.filter(x => x.contactId !== val.contactId).concat(val) setSelectedData(list) props.onSelected(list) setVisible(false) } // 提交事件 const handleSubmit = (e, props) => { e.preventDefault(); e.stopPropagation(); props.form.validateFields((err, values) => { if (!err) { getList({ pageNum: 1, pageSize: 10, ...values }) } }); } function handleReset() { props.form.resetFields(); getList({ pageNum: 1, pageSize: 10 }) } const changePageNum = (pageNumber) => { getList({ pageNum: pageNumber, pageSize: 10 }) } const removeSelected = (val) => { const list = selectedData.filter(x => x.contactId !== val.contactId) setSelectedData(list) props.onSelected(list) } const columns = [ { title: '姓名', dataIndex: 'contactName', key: 'drainageId', align: 'center', ellipsis: true, }, { title: '性别', dataIndex: 'sex', key: 'drainageId', align: 'center', ellipsis: true, render: text => {text == 1 ? '男' : text == 2 ? '女' : '' }, }, { title: '头像', dataIndex: 'avatar', key: 'drainageId', align: 'center', ellipsis: true, render: text => , }, { title: '固话', dataIndex: 'telephone', key: 'drainageId', align: 'center', ellipsis: true, render: text => {text}, }, { title: '手机号', dataIndex: 'phone', key: 'drainageId', align: 'center', ellipsis: true, render: text => {text}, }, { title: '内部岗位', dataIndex: 'job', key: 'drainageId', align: 'center', ellipsis: true, render: text => {text}, }, { title: '操作', align: 'center', width: '20%', render: (text, record) => ( selectData(record)} style={{ color: 'blue' }}>选择 ), }, ]; const { getFieldDecorator } = props.form return (
setVisible(true)}>{group.groupName}
{selectedData.map(x => { return removeSelected(x)}>{x.contactName} })}
setVisible(false)} footer={[]} >
handleSubmit(e, props)}> {getFieldDecorator('contactName')( } placeholder="姓名" />, )} {getFieldDecorator('telephone')( } placeholder="固话" />, )} {getFieldDecorator('phone')( } placeholder="手机号" />, )} {getFieldDecorator('job')( } placeholder="内部岗位" />, )}
) } const WrappedRegistrationForm = Form.create()(SelectContact); export default WrappedRegistrationForm;