/**
* Created by gxl.gao on 2017/10/25.
*/
import React, { Component } from 'react';
import { connect } from 'react-redux';
import axios from 'axios';
import PropTypes from 'prop-types';
import './index.scss';
// import { withRouter } from 'react-router-dom';
import { Row, Col, Tooltip, Icon } from 'antd';
import { setBreadcrumb } from 'client/reducer/modules/user';
import StatisChart from './StatisChart';
import StatisTable from './StatisTable';
const CountOverview = props => (
分组总数
{props.date.groupCount}
项目总数
{props.date.projectCount}
接口总数
{/*?*/}
{props.date.interfaceCount}
测试接口总数
{/*?*/}
{props.date.interfaceCaseCount}
);
CountOverview.propTypes = {
date: PropTypes.object
};
const StatusOverview = props => (
操作系统类型
{props.data.systemName}
cpu负载
{props.data.load} %
系统空闲内存总量 / 内存总量
{props.data.freemem} G / {props.data.totalmem} G{' '}
邮箱状态
{props.data.mail}
);
StatusOverview.propTypes = {
data: PropTypes.object
};
@connect(
null,
{
setBreadcrumb
}
)
class statisticsPage extends Component {
static propTypes = {
setBreadcrumb: PropTypes.func
};
constructor(props) {
super(props);
this.state = {
count: {
groupCount: 0,
projectCount: 0,
interfaceCount: 0,
interfactCaseCount: 0
},
status: {
mail: '',
systemName: '',
totalmem: '',
freemem: '',
uptime: ''
},
dataTotal: []
};
}
async UNSAFE_componentWillMount() {
this.props.setBreadcrumb([{ name: '系统信息' }]);
this.getStatisData();
this.getSystemStatusData();
this.getGroupData();
}
// 获取统计数据
async getStatisData() {
let result = await axios.get('/api/plugin/statismock/count');
if (result.data.errcode === 0) {
let statisData = result.data.data;
this.setState({
count: { ...statisData }
});
}
}
// 获取系统信息
async getSystemStatusData() {
let result = await axios.get('/api/plugin/statismock/get_system_status');
if (result.data.errcode === 0) {
let statusData = result.data.data;
this.setState({
status: { ...statusData }
});
}
}
// 获取分组详细信息
async getGroupData() {
let result = await axios.get('/api/plugin/statismock/group_data_statis');
if (result.data.errcode === 0) {
let statusData = result.data.data;
statusData.map(item => {
return (item['key'] = item.name);
});
this.setState({
dataTotal: statusData
});
}
}
render() {
const { count, status, dataTotal } = this.state;
return (
);
}
}
export default statisticsPage;