tsg-web/src/views/sz/pxjlgl/options.js

137 lines
3.9 KiB
JavaScript
Raw Normal View History

2024-10-16 15:30:22 +08:00
export default function options(data={},teamName) {
2024-09-26 17:45:57 +08:00
const xAxisData = data?.list?.map(item => item.month + "月")
const maxCount = data?.list ? Math.ceil(Math.max(...data?.list?.map(obj => [obj.num1,obj.num2]).flat())) : 0
const minCount = data?.list ? Math.floor(Math.min(...data?.list?.map(obj => [obj.num1, obj.num2]).flat())) : 100
const maxRate = data?.list ? Math.ceil(Math.max(...data?.list?.map(obj => obj.rate))) : 0
const minRate = data?.list ? Math.floor(Math.min(...data?.list?.map(obj => obj.rate))) : 100
2024-09-24 16:52:53 +08:00
return {
animation: true,
tooltip: {
trigger: 'axis',
2024-09-26 17:45:57 +08:00
formatter: function (params) {
var tooltipText = params[0].name + '<br/>';
params.forEach(function (item) {
if (item.seriesName === '完成率') {
tooltipText += item.marker + ' ' + item.seriesName + ': ' + item.value.toFixed(2) + '%<br/>';
} else {
tooltipText += item.marker + ' ' + item.seriesName + ': ' + item.value + '<br/>';
}
});
return tooltipText;
}
2024-09-24 16:52:53 +08:00
},
grid: {
top: '15%',
bottom: '15%',
right: '8%',
left: '7%',
},
legend: {
show: true,
left: "10%",
top: "-1%",
itemWidth: 11,
itemHeight: 10,
},
xAxis: {
data:xAxisData,
2024-10-12 16:52:03 +08:00
// axisLine: {
// show: false // 隐藏X轴轴线
// },
// axisTick: {
// show: false // 隐藏X轴轴线
// },
2024-09-24 16:52:53 +08:00
2024-10-12 16:52:03 +08:00
// axisLabel: {
// show: true,
// margin: 14,
// // formatter: '{value}月'
// }
2024-09-24 16:52:53 +08:00
},
yAxis: [
{
type: 'value',
offset: 10,
2024-09-26 17:45:57 +08:00
min: minCount,
max: maxCount,
2024-10-12 16:52:03 +08:00
// splitLine:false,
2024-09-24 16:52:53 +08:00
axisTick: {
show: false
},
axisLine: {
show: false,
},
axisLabel: {
show: true,
margin: 0,
fontSize: 18,
}
},
{
type: 'value',
name: '(%)',
2024-10-12 16:52:03 +08:00
splitLine:false,
2024-09-26 17:45:57 +08:00
min: minRate,
max: maxRate,
2024-09-24 16:52:53 +08:00
offset: 10,
nameTextStyle: {
color: 'rgba(255,255,255,0.5)',
fontSize: '12px'
},
axisTick: {
show: false
},
axisLine: {
show: false,
},
axisLabel: {
show: true,
fontSize: 18,
formatter: '{value}%'
}
}
],
series: [
{
2024-10-16 15:30:22 +08:00
name: teamName===1?'计划人次':'计划期数',
2024-09-24 16:52:53 +08:00
type: 'bar',
barWidth: 25,
2024-09-26 17:45:57 +08:00
data: data?.list?.map(item =>item.num2),
2024-09-24 16:52:53 +08:00
itemStyle:{
color:"#6295fa"
}
},
{
2024-10-16 15:30:22 +08:00
name: teamName===1?'实际期人次':'实际期数',
2024-09-24 16:52:53 +08:00
type: 'bar',
barWidth: 25,
2024-09-26 17:45:57 +08:00
data: data?.list?.map(item =>item.num1),
2024-09-24 16:52:53 +08:00
itemStyle:{
color:"#62daab"
}
},
{
name: '完成率',
type: 'line',
yAxisIndex: 1,
showSymbol:false,
smooth: false, // 平滑曲线显示
lineStyle: {
width: 2,
color: '#5d7092'
},
itemStyle: {
color: '#5d7092',
shadowColor: '#5d7092',
shadowBlur: 10,
borderColor: '#5d7092',
borderWidth: 2
},
2024-09-26 17:45:57 +08:00
data: data?.list?.map(item => item.rate),
2024-09-24 16:52:53 +08:00
}
]
}
}