import React, { Component, useState, useEffect } from 'react'; import { Form, Icon, Input, Button, DatePicker, Select, Card, Row, Col, Pagination, Alert, Table, Avatar, Radio, Modal, Descriptions, } from 'antd'; import moment from 'moment'; import request from '../../../utils/request'; import apis from '../../../services/apis'; import router from 'umi/router'; import AuthButton from '@/components/AuthButton'; import BuildingSelect from '@/components/SelectButton/BuildSelect'; import WxDictSelect from '@/components/SelectButton/WxDictSelect'; import Prompt from 'umi/prompt'; const { RangePicker } = DatePicker; const { Option } = Select; const formItemLayout = { labelCol: { span: 10 }, wrapperCol: { span: 14 }, }; let daterange = []; let tableTitle = ['类型']; let columns = [ { title: '姓名', dataIndex: 'nickName', key: 'nickName', }, { title: '电话', dataIndex: 'phone', key: 'phone', }, { title: '性别', dataIndex: 'gender', key: 'gender', }, { title: '归属地', dataIndex: 'province', key: 'province', }, { title: '来源渠道', dataIndex: 'personFrom', key: 'personFrom', }, { title: '置业顾问', dataIndex: 'realtyConsultant', key: 'realtyConsultant', }, { title: '置业顾问电话', dataIndex: 'realtyConsultantPhone', key: 'realtyConsultantPhone', }, { title: '分享者', dataIndex: 'sharePersonName', key: 'sharePersonName', }, { title: '分享者电话', dataIndex: 'sharePersonPhone', key: 'sharePersonPhone', }, ]; class SharePersonNum extends React.Component { constructor(props) { super(props); let startDate; let endDate; if (props.location.query.queryDate) { startDate = moment(props.location.query.queryDate) .hours(0) .minutes(0) .seconds(0) .milliseconds(0) .format('YYYY-MM-DDTHH:mm:ss') + '.000Z'; endDate = moment(props.location.query.queryDate) .hours(23) .minutes(59) .seconds(59) .milliseconds(999) .format('YYYY-MM-DDTHH:mm:ss') + '.999Z'; } else { startDate = moment(props.location.query.startDate) .hours(0) .minutes(0) .seconds(0) .milliseconds(0) .format('YYYY-MM-DDTHH:mm:ss') + '.000Z'; endDate = moment(props.location.query.endDate) .hours(23) .minutes(59) .seconds(59) .milliseconds(999) .format('YYYY-MM-DDTHH:mm:ss') + '.999Z'; } this.state = { formData: { personFrom: '', province: '', pageNum: '', pageSize: '', startDate: startDate, endDate: endDate, activityId: props.location.query.activityId, activityType: props.location.query.activityType, buildingId: props.location.query.buildingId, }, personData: [], dataSoures: [], tableData: [], userType: 'all', activityName: props.location.query.activityName, }; } componentDidMount() { this.getTableList(); } getTableList() { const { formData } = this.state; console.log(formData); request({ ...apis.activityDataStatis.activityAddRegist, params: formData }) .then(data => { console.log(data); this.setState({ tableData: data.records, total: data.total }); }) .catch(); } handleSubmit = (e, props) => { let startDate = null; let endDate = null; const personFrom = this.props.form.getFieldValue('personFrom'); const province = this.props.form.getFieldValue('province'); const { formData } = this.state; this.setState( { formData: { ...formData, personFrom: personFrom, province: province, pageNum: 1, pageSize: 999, }, }, this.getTableList, ); }; //重置搜索 handleReset = e => { this.props.form.resetFields(); let startDate; let endDate; if (this.props.location.query.queryDate) { startDate = moment(this.props.location.query.queryDate) .hours(0) .minutes(0) .seconds(0) .milliseconds(0) .format('YYYY-MM-DDTHH:mm:ss') + '.000Z'; endDate = moment(this.props.location.query.queryDate) .hours(23) .minutes(59) .seconds(59) .milliseconds(999) .format('YYYY-MM-DDTHH:mm:ss') + '.999Z'; } else { startDate = moment(this.props.location.query.startDate) .hours(0) .minutes(0) .seconds(0) .milliseconds(0) .format('YYYY-MM-DDTHH:mm:ss') + '.000Z'; endDate = moment(this.props.location.query.endDate) .hours(23) .minutes(59) .seconds(59) .milliseconds(999) .format('YYYY-MM-DDTHH:mm:ss') + '.999Z'; } this.setState( { formData: { personFrom: '', province: '', pageNum: '', pageSize: '', startDate: startDate, endDate: endDate, activityId: this.props.location.query.activityId, activityType: this.props.location.query.activityType, buildingId: this.props.location.query.buildingId, }, personData: [], dataSoures: [], tableData: [], userType: 'all', activityName: this.props.location.query.activityName, }, this.getTableList, ); }; goback = () => { router.go(-1); }; exportActivityStats = () => { const { formData } = this.state; request({ ...apis.activityDataStatis.activityAddRegistNumExport, params: formData }) .then(data => { if (!data) { return; } const url = window.URL.createObjectURL(new Blob([data])); const link = document.createElement('a'); link.style.display = 'none'; link.href = url; link.setAttribute('download', '分享统计.xlsx'); document.body.append(link); link.click(); }) .catch(); }; //排序 handleTableChange = (pagination, filters, sorter) => { console.log(pagination, filters, sorter); const { formData } = this.state; this.setState( { formData: { ...formData, personFrom: formData.personFrom, pageNum: pagination.current, pageSize: pagination.pageSize, }, }, this.getTableList, ); }; render() { const { radioVal } = this.state; const { getFieldDecorator } = this.props.form; return (
{this.state.activityName && (
分享内容:{this.state.activityName}
)}
this.handleSubmit(e, this.props)}> {getFieldDecorator('province')()} {getFieldDecorator('personFrom')()}
); } } const WrappedTypeForm = Form.create()(SharePersonNum); export default WrappedTypeForm;