diff --git a/src/components/ActiveChart/index.js b/src/components/ActiveChart/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..1ab1cd54cb8b9de2a79aadda68686cb05e245dd0
--- /dev/null
+++ b/src/components/ActiveChart/index.js
@@ -0,0 +1,77 @@
+import React, { PureComponent } from 'react';
+
+import { NumberInfo, MiniArea } from '../Charts';
+import { fixedZero } from '../../utils/utils';
+
+import styles from './index.less';
+
+function getActiveData() {
+ const activeData = [];
+ for (let i = 0; i < 24; i += 1) {
+ activeData.push({
+ x: `${fixedZero(i)}:00`,
+ y: (i * 50) + (Math.floor(Math.random() * 200)),
+ });
+ }
+ return activeData;
+}
+
+export default class ActiveChart extends PureComponent {
+ state = {
+ activeData: getActiveData(),
+ }
+
+ componentDidMount() {
+ setInterval(() => {
+ this.setState({
+ activeData: getActiveData(),
+ });
+ }, 1000);
+ }
+
+ render() {
+ const { activeData = [] } = this.state;
+
+ return (
+
+
+
+
+
+ {
+ activeData && (
+
+
{[...activeData].sort()[activeData.length - 1].y + 200} 亿元
+
{[...activeData].sort()[Math.floor(activeData.length / 2)].y} 亿元
+
+ )
+ }
+ {
+ activeData && (
+
+ 00:00
+ {activeData[Math.floor(activeData.length / 2)].x}
+ {activeData[activeData.length - 1].x}
+
+ )
+ }
+
+ );
+ }
+}
diff --git a/src/components/ActiveChart/index.less b/src/components/ActiveChart/index.less
new file mode 100644
index 0000000000000000000000000000000000000000..0f7814702c7164b7e6685f29e85b883b348d5313
--- /dev/null
+++ b/src/components/ActiveChart/index.less
@@ -0,0 +1,34 @@
+@import "~antd/lib/style/themes/default.less";
+@import "../../utils/utils.less";
+
+.activeChart {
+ position: relative;
+}
+.activeChartGrid {
+ p {
+ position: absolute;
+ top: 80px;
+ }
+ p:last-child {
+ top: 115px;
+ }
+}
+.activeChartLegend {
+ position: relative;
+ font-size: 0;
+ margin-top: 8px;
+ height: 20px;
+ line-height: 20px;
+ span {
+ display: inline-block;
+ font-size: 12px;
+ text-align: center;
+ width: 33.33%;
+ }
+ span:first-child {
+ text-align: left;
+ }
+ span:last-child {
+ text-align: right;
+ }
+}
diff --git a/src/routes/Dashboard/Monitor.js b/src/routes/Dashboard/Monitor.js
index 44764b2829fb4ab10672a78ef389bbc9e262a6ef..741a19229907e49585cfcbeddef4867c84ac0865 100644
--- a/src/routes/Dashboard/Monitor.js
+++ b/src/routes/Dashboard/Monitor.js
@@ -7,21 +7,11 @@ import { NumberInfo, MiniArea, Pie, WaterWave, Gauge } from '../../components/Ch
import MapChart from '../../components/MapChart';
import TagCloud from '../../components/TagCloud';
import Countdown from '../../components/Countdown';
+import ActiveChart from '../../components/ActiveChart';
import { fixedZero } from '../../utils/utils';
import styles from './Monitor.less';
-function getActiveData() {
- const activeData = [];
- for (let i = 0; i < 24; i += 1) {
- activeData.push({
- x: `${fixedZero(i)}:00`,
- y: (i * 50) + (Math.floor(Math.random() * 200)),
- });
- }
- return activeData;
-}
-
const MapData = [];
for (let i = 0; i < 50; i += 1) {
MapData.push({
@@ -36,23 +26,13 @@ const targetTime = new Date().getTime() + 3900000;
monitor: state.monitor,
}))
export default class Monitor extends PureComponent {
- state = {
- activeData: getActiveData(),
- }
-
componentDidMount() {
this.props.dispatch({
type: 'monitor/fetchTags',
});
-
- setInterval(() => {
- this.setState({
- activeData: getActiveData(),
- });
- }, 1000);
}
+
render() {
- const { activeData = [] } = this.state;
const { monitor } = this.props;
const { tags } = monitor;
@@ -96,45 +76,7 @@ export default class Monitor extends PureComponent {
-
-
-
-
-
- {
- activeData && (
-
-
{[...activeData].sort()[activeData.length - 1].y + 200} 亿元
-
{[...activeData].sort()[Math.floor(activeData.length / 2)].y} 亿元
-
- )
- }
- {
- activeData && (
-
- 00:00
- {activeData[Math.floor(activeData.length / 2)].x}
- {activeData[activeData.length - 1].x}
-
- )
- }
-
+