123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198 |
- import React, { useState, useEffect } from 'react';
- import { PageHeaderWrapper } from '@ant-design/pro-layout';
- import { Form, Pagination, Button, Icon, message, Modal, Table, Input } from 'antd';
- import router from 'umi/router';
- import moment from 'moment';
- import className from 'classnames';
- import Cell from '../../components/Cell';
- import styles from './style.less';
- import { fetch, apis } from '../../utils/request';
- import request from '../../utils/request';
- import AuthButton from '@/components/AuthButton';
- import SelectContact from './components/SelectContact';
-
-
- function header(props) {
- // 获取初始化数据
- const [data, setData] = useState({})
- const [contactList, setContactList] = useState([])
-
- useEffect(() => {
- getList({ pageNum: 1, pageSize: 10 });
- }, [])
-
- // 查询列表
- const getList = (params) => {
- request({ ...apis.fund.contactList, params: { ...params, contentType: 'finance' } }).then((data) => {
- console.log(data)
- setData(data)
- })
- }
-
-
- // 提交事件
- const handleSubmit = (e, props) => {
- e.preventDefault();
- props.form.validateFields((err, values) => {
- if (!err) {
- let { ...submitValue } = values
-
- getList({ pageNum: 1, pageSize: 10, ...submitValue })
- }
- });
- }
-
- const changePageNum = (pageNumber) => {
- let { ...submitValue } = props.form.getFieldsValue()
-
- getList({ pageNum: pageNumber, pageSize: 10, ...submitValue })
- }
-
- /**
- *
- *
- * @param {*} props
- * @returns
- */
- const columns = [
- {
- title: '姓名',
- dataIndex: 'contactName',
- key: 'contactName',
- align: 'center',
- },
- {
- title: '性别',
- dataIndex: 'sex',
- key: 'sex',
- align: 'center',
- render: (text, record) => <span>{record.sex == '1' ? '男' : record.sex == '2' ? '女' : '未知'}</span>
-
- },
- {
- title: '头像',
- dataIndex: 'avatar',
- key: 'avatar',
- align: 'center',
- render: (text, record) => <img src={record.avatar} className={styles.touxiang} />,
- },
- {
- title: '固话',
- dataIndex: 'telephone',
- key: 'telephone',
- align: 'center',
- },
- {
- title: '手机号',
- dataIndex: 'phone',
- key: 'phone',
- align: 'center',
- },
- {
- title: '对外头衔',
- dataIndex: 'appellation',
- key: 'appellation',
- align: 'center',
- },
- {
- title: '权重',
- dataIndex: 'orderNo',
- key: 'orderNo',
- align: 'center',
- },
-
- ];
- function handleReset() {
- props.form.resetFields();
- getList({ pageNum: 1, pageSize: 10 })
- }
-
-
- const rowSelection = {
- onChange: (selectedRowKeys, selectedRows) => {
- console.log('selectedRowKeys:', selectedRowKeys, 'selectedRows: ', selectedRows);
- setContactList(selectedRows)
- },
- };
-
- const toDel = () => {
- if (contactList.length < 1) {
- message.info('请至少选择一条数据')
- return
- }
- Modal.confirm({
- title: `确认将所选的${contactList.length}条数据删除`,
- okText: '确定',
- cancelText: '取消',
- onOk() {
- request({ ...apis.fund.delContact, data: contactList, }).then((data) => {
- message.info("操作成功")
- getList({ pageNum: 1, pageSize: 10 });
- setContactList([])
- }).catch((err) => {
-
- })
- },
- onCancel() { },
- });
- }
- const { getFieldDecorator } = props.form
- return (
-
- <>
- <Form layout="inline" onSubmit={e => handleSubmit(e, props)} >
- <Form.Item>
- {getFieldDecorator('contactName')(
- <Input
- prefix={<Icon type="text" style={{ color: 'rgba(0,0,0,.25)' }} />}
- placeholder="姓名"
- />,
- )}
- </Form.Item>
- <Form.Item>
- {getFieldDecorator('telephone')(
- <Input
- prefix={<Icon type="text" style={{ color: 'rgba(0,0,0,.25)' }} />}
- placeholder="固话"
- />,
- )}
- </Form.Item>
- <Form.Item>
- {getFieldDecorator('phone')(
- <Input
- prefix={<Icon type="text" style={{ color: 'rgba(0,0,0,.25)' }} />}
- placeholder="手机号"
- />,
- )}
- </Form.Item>
- <Form.Item>
- {getFieldDecorator('appellation')(
- <Input
- prefix={<Icon type="text" style={{ color: 'rgba(0,0,0,.25)' }} />}
- placeholder="对外头衔"
- />,
- )}
- </Form.Item>
- <Form.Item>
- <Button type="primary" htmlType="submit" className={styles.searchBtn}>
- 搜索
- </Button>
- <Button style={{ marginLeft: 8 }} onClick={handleReset}>
- 重置
- </Button>
- </Form.Item>
- </Form>
- <div style={{ margin: '10px 0 16px 0' }}>
- <Button type="danger" className={styles.addBtn} style={{ padding: '0' }} ><SelectContact onClick={() => getList({ pageNum: 1, pageSize: 10 })} /></Button>
- <Button type="primary" className={styles.addBtn} onClick={() => toDel()} style={{ marginLeft: '30px' }} >删除</Button>
- </div>
- <Table rowSelection={rowSelection} rowKey={r => r.contactId} dataSource={data.records} columns={columns} pagination={false} />
- <div style={{ display: 'flex', justifyContent: 'flex-end', marginTop: '30px' }}>
- <Pagination showQuickJumper defaultCurrent={1} total={data.total} onChange={changePageNum} current={data.current} />
- </div>
- </>
- )
- }
- const WrappedHeader = Form.create({ name: 'header' })(header);
-
- export default WrappedHeader
|