import React, { useState } from 'react'; import { Table, Input, Select, Tag, Row, Col } from 'antd'; import './Table.less'; import apihost from './Var'; const { Option } = Select; class DataTable extends React.Component { state = { data: [], platform: "openrec", pagination: { current: 1, pageSize: 20, position: ["topLeft"], }, loading: false, filters: null, sorter: null, }; expandedRow = (record) => { const ecolumns = [ { title: 'uid', dataIndex: 'Uid', key: 'Uid', dataField:'uid', }, { title: '直播地址', dataIndex: 'LiveUrl', key: 'LiveUrl', dataField: 'live_url' }, { title: '直播标题', dataIndex: 'LiveTitle', key: 'LiveTitle', dataField:'live_title', }, { title: '近直播开始时间', dataIndex: 'LiveStartTime', key: 'LiveStartTime', dataField:'live_start_time', }, { title: '近直播结束时间', dataIndex: 'LiveEndTime', key: 'LiveEndTime', dataField:'live_end_time', }, ]; var data = [record]; return ; }; updatePlatform(p) { const { pagination, sorter, filters } = this.state; console.log("filters", filters); // ${filters?`&filters=${filters}`:""} console.log("sorter", sorter); pagination.current = 1; this.setState({ platform: p }, () => { this.fetchapi({ pagination, sorter, filters }); }); } componentDidMount() { const { platform } = this.state; this.updatePlatform(platform); } handleTableChange = (pagination, filters, sorter) => { this.fetchapi({ pagination, sorter, filters, }); }; fetchapi = (params = {}) => { const { pagination, sorter, filters } = params; const { platform, } = this.state; this.setState({ loading: true }); console.log("filters", filters); // ${filters?`&filters=${filters}`:""} console.log("sorter", sorter); fetch(`${apihost}/${platform}/query?page=${pagination.current}&psize=${pagination.pageSize}${sorter?`&orderfield=${sorter.column?sorter.column.dataField:""}&ordertype=${sorter.order}`:""}`, { mode: "cors" }).then((response) => { // console.log(response); response.json().then( (data) => { var result = JSON.parse(data) this.setState({ loading: false, data: result.Data ? result.Data : [], pagination: { ...params.pagination, total: 100000, }, filters: filters, sorter: sorter }); } ) }) }; render() { let { data, pagination, loading, sorter, filters } = this.state; sorter = sorter || {}; filters = filters || {}; const columns = [ { title: '平台', dataIndex: 'Platform', editable: false, key: 'Platform', // width: "8%", dataField: 'platform', }, { title: 'userid', dataIndex: 'UserId', editable: false, key: 'UserId', dataField: 'user_id', // width: "7%", }, { title: '名称', dataIndex: 'UserName', editable: false, key: 'UserName', dataField: 'user_name', // width: "7%", }, { title: '标签', dataIndex: 'Tags', editable: false, dataField: 'tags', render: tags => ( <> { tags != null ? tags.map(tag => { let color = "purple"; if (tag.length < 3) { color = 'green'; } else if (tag.length < 6) { color = 'geekblue'; } else if (tag.length < 9) { color = 'volcano'; } return ( {tag} ); } ) : null} ) }, { title: '粉丝数(关注)', dataIndex: 'Followers', key: 'Followers', width: "8%", dataField: 'followers', sorter: (a, b) => a.Followers - b.Followers, // sortOrder: sorter.columnKey === 'Gratuity' && sorter.order, sortDirections: ['descend', 'ascend'], ellipsis: false, }, { title: '礼物数(币|钱)', dataIndex: 'Gratuity', key: 'Gratuity', width: "8%", dataField: 'gratuity', // defaultSortOrder: 'ascend', // filterMultiple: false, // onFilter: (value, record)=>{ console.log(record, value) ;return record.Gratuity >= value;}, sorter: (a, b) => a.Gratuity - b.Gratuity, // sortOrder: sorter.columnKey === 'Gratuity' && sorter.order, sortDirections: ['descend', 'ascend'], ellipsis: false, }, { title: '数据更新时间', dataIndex: 'UpdateTime', key: 'UpdateTime', dataField: 'update_time', // width: "7%", }, ]; return (
{/*
*/}
); } }; export default DataTable; //