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;
//