/*
* @Author: dayan_hjm 近30天产量
* @Date: 2023-10-23 09:32:12
* @Last Modified by: dayan_hjm
* @Last Modified time: 2024-10-17 14:24:52
*/
import React, { useState, useEffect, Component } from "react";
import styles from "../style.less";
import { useHistory, useLocation, withRouter } from "react-router-dom";
import mod from '../mod';
import {
mondService,
} from "../api";
@withRouter
class BottomLineForSend extends Component {
// 构造函数,组件的实例创建时,最先执行
constructor(props, context) {
super(props, context);
this.store = mod;
this.state = {
factoryProdcution_arr: [],
missionsIntensity_arr: [],
year: [],
AvgQty:[],
};
}
componentDidMount() {
this.getUrl()
}
async getUrl() {
await mondService().then(({ data = [], resultCode }) => {
if (+resultCode === 0) {
let year = [], missionsIntensity_arr = [],AvgQty = [], factoryProdcution_arr = [];
data.map((x, i) => {
const name_ = x.DateId.split('-')[1] + '-' + x.DateId.split('-')[2];
year.push(name_);
missionsIntensity_arr.push(x.ProdQty);
AvgQty.push(x.AvgQty);
factoryProdcution_arr.push(x.Avg5daysQty)
});
this.setState({ year, missionsIntensity_arr, AvgQty,factoryProdcution_arr });
this.setData();
}
});
}
setData() {
setTimeout(() => {
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('echarts21'));
var option = {
tooltip: {
trigger: 'axis',
axisPointer: { type: 'shadow' },
borderColor: "rgba(105, 255, 222, 0.5)",
borderWidth: 2,
padding: 5,
className: 'dyLeft',
textStyle: {
fontSize: 12,
textAlign: "left",
color: "#ededed"
},
backgroundColor: "#0000008a",
},
// formatter: `日期: {b0}
{a0}: {c0}吨
{a1}: {c1}吨`,
grid: {
left: '5%',
top: '15%',
right: '4%',
bottom: '10%',
containLabel: true
},
legend: {
data: ['日产量(Daily Net Prodution)', '日产量趋势( Daily Net Production Trends)', "平均产量(Average Net Production)"],
fontFamily: 'DingTalkJinBuTi',
padding: [5, 0, 40, 0],
textStyle: {
color: "#CDF1FF",
fontSize: 10
},
itemWidth: 8,
itemHeight: 8,
},
xAxis: [{
type: 'category',
// boundaryGap: ['20%', '20%'],
axisLabel: {
// interval: 0,//设置是否展示全部数据在x轴
rotate: -60,
textStyle: {
color: '#7d7d7d',
fontSize: 11,
},
showMaxLabel: true,//关键部分,显示最后一个label
},
axisLine: {
lineStyle: {
color: 'rgba(255,255,255,.1)',
type: 'dashed',
}
},
splitLine: {
show: true,
lineStyle: {
color: '#3b3b3b',
type: 'dashed',
}
},
data: this.state.year
}, {
axisPointer: { show: false },
axisLine: { show: false },
position: 'bottom',
offset: 20,
}],
yAxis: [{
type: 'value',
axisTick: { show: false },
// splitNumber: 6,
axisLine: {
lineStyle: {
color: 'rgba(255,255,255,.1)'
},
},
axisLabel: {
formatter: "{value}t",
textStyle: {
color: '#7d7d7d',
fontSize: 11
},
},
splitLine: {
lineStyle: {
color: 'rgba(255,255,255,.1)'
}
}
}],
series: [
{
name: '日产量(Daily Net Prodution)',
type: 'line',
smooth: true,
symbol: 'circle',
symbolSize: 5,
showSymbol: false,
lineStyle: {
normal: {
color: '#69FFDE',
width: 2
}
},
areaStyle: {
normal: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
offset: 0,
color: 'rgba(0, 255, 182, 0.5)'
}, {
offset: 1,
color: 'rgba(0, 255, 182, 0)'
}], false),
shadowColor: 'rgba(0, 0, 0, 0.1)',
}
},
itemStyle: {
normal: {
color: 'rgba(0, 255, 182, 0.3)',
borderWidth: 12
}
},
data: this.state.missionsIntensity_arr,
"smooth": true
},
{
name: '日产量趋势( Daily Net Production Trends)',
type: 'line',
smooth: true,
showSymbol: false,
itemStyle: {
color: '#FFCE00'
},
lineStyle: {
normal: {
color: '#FFCE00',
width: 2
}
},
data: this.state.factoryProdcution_arr,
},
{
name: '平均产量(Average Net Production)',
type: 'line',
smooth: true,
symbol: 'circle',
symbolSize: 5,
showSymbol: false,
lineStyle: {
normal: {
color: '#8D93FF',
width: 2
}
},
itemStyle: {
normal: {
color: '#8D93FF',
borderColor: '#8D93FF',
borderWidth: 12
}
},
data: this.state.AvgQty,
"smooth": true
},
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
window.addEventListener("resize", function () {
myChart.resize();
});
}, 3000)
}
render() {
return (