| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- <template>
- <div id="ConsoleNet" style="width: 100%; height: 100%; background: #FFFFFF; text-align: center">
- <ve-line ref="ConsoleNet" :data="chartData" :extend="extend" :settings="chartSettings" :events="chartEvents" width="100%" height="100%" ></ve-line>
- </div>
- </template>
- <script>
- import moment from "moment/moment";
- export default {
- name: 'ConsoleNet',
- data() {
- return {
- chartData: {
- columns: ['time','out','in'],
- rows: []
- },
- chartSettings: {
- area: true,
- labelMap: {
- 'in': '下载',
- 'out': '上传'
- },
- },
- extend: {
- title: {
- show: true,
- text: "网络",
- left: "center",
- top: 20,
- },
- grid: {
- show: true,
- right: "30px",
- containLabel: true,
- },
- xAxis: {
- time: "time",
- max: 'dataMax',
- boundaryGap: ['20%', '20%'],
- axisLabel: {
- formatter:(v)=>{
- return moment(v).format("HH:mm:ss");
- },
- showMaxLabel: true,
- },
- },
- yAxis: {
- type: 'value',
- min: 0,
- max: 1000,
- splitNumber: 6,
- position: "left",
- silent: true,
- },
- tooltip: {
- trigger: 'axis',
- formatter: (data)=>{
- let in_sel = true;
- let out_sel = true;
- for (let key in this.extend.legend.selected) {
- if (key == "上传") {
- out_sel = this.extend.legend.selected[key];
- }
- if (key == "下载") {
- in_sel = this.extend.legend.selected[key];
- }
- }
- if (out_sel && in_sel) {
- return (
- data[1].marker +
- "下载:" +
- parseFloat(data[1].data[1]).toFixed(2) +
- "Mbps" +
- "</br> " +
- data[0].marker +
- "上传:" +
- parseFloat(data[0].data[1]).toFixed(2) +
- "Mbps"
- );
- } else if (out_sel)
- return (
- data[0].marker +
- "上传:" +
- parseFloat(data[0].data[1]).toFixed(2) +
- "Mbps"
- );
- else if (in_sel)
- return (
- data[0].marker +
- "下载:" +
- parseFloat(data[0].data[1]).toFixed(2) +
- "Mbps"
- );
- return "";
- }
- },
- legend: {
- left: "center",
- bottom: "15px",
- selected: {},
- }
- },
- chartEvents: {
- legendselectchanged: (item) => {
- this.extend.legend.selected = item.selected;
- }
- }
- };
- },
- mounted() {
- this.$nextTick(_ => {
- setTimeout(()=>{
- this.$refs.ConsoleNet.echarts.resize()
- }, 100)
- })
- },
- destroyed() {
- },
- methods: {
- setData: function(data, total) {
- this.chartData .rows = data;
- this.extend.yAxis.max= total;
- }
- }
- };
- </script>
|