Files
2026-01-16 14:13:44 +08:00

220 lines
4.8 KiB
Plaintext

<%@ page language="java" pageEncoding="UTF-8"%>
<script type="text/javascript">
option = {
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'cross',
label: {
backgroundColor: '#283b56'
}
}
},
grid: {
left: '10%',
right: '10%',
bottom: '10%',
top: '10%',
},
legend: {
left: 'center',
itemGap: 50,
textStyle: {
fontSize: 20
},
data: ['年等额总成本', '设备年等额运行成本', '等额资产恢复成本']
},
dataZoom: {
show: false,
start: 0,
end: 100
},
xAxis: [
{
name: '年份',
position: 'bottom',
type: 'category',
axisTick: {
show: false,
},
boundaryGap: true,
data: []
}
],
yAxis: [{
type: 'value',
//inverse: true,
name: '成本',
//namelocation: 'end',
scale: true,
axisTick: {
show: true,
},
splitLine: {
show: true
},
//max: 1200,
min: 0,
data: [],
boundaryGap: [0.2, 0.2]
}],
series: [
{
name: '年等额总成本',
type: 'line',//line
smooth: true, //平滑曲线显示
itemStyle: {
color: '#4F81BD',
borderWidth: 1,
},
lineStyle: {
width: 3,
},
markLine: {
data: [
{
type: 'min',
value: '最小值',
}
]
},
markPoint: {
data: []
},
data: []
},
{
name: '设备年等额运行成本',
type: 'line',
smooth: true, //平滑曲线显示
itemStyle: {
color: '#C0504D',
borderWidth: 1,
},
lineStyle: {
width: 3,
},
data: (function () {
var res = [];
var len = 12;
while (len--) {
res.push(Math.round(Math.random() * 10));
}
return res;
})()
}, {
name: '等额资产恢复成本',
type: 'line',
smooth: true, //平滑曲线显示
itemStyle: {
color: '#99BB58',
borderWidth: 1,
},
lineStyle: {
width: 3,
},
data: (function () {
var res = [];
var len = 12;
while (len--) {
res.push(Math.round(Math.random() * 10));
}
return res;
})()
}
]
};
//等额资产恢复成本
function getRecoverCost(data) {
var res = [];
for (var len = 0; len < data.length; len++) {
//res.push((data[len] / (len + 1)).toFixed(2));
res.push((data[len]).toFixed(2));
}
return res;
}
//设备年等额运行成本
function getRunCost(data) {
var res = [];
for (var len = 0; len < data.length; len++) {
//res.push((data[len] / (len + 1)).toFixed(2));
res.push((data[len]).toFixed(2));
}
return res;
}
//年等额总成本
function getTotalCost(runResult, recoverResult) {
var res = [];
for (var len = 0; len < runResult.length; len++) {
var run = runResult[len];
var recover = recoverResult[len];
res.push((run + recover).toFixed(2));
}
return res;
}
//经济寿命标注
function economicLifeYear(runResult, recoverResult, xAis) {
var xMark;
var yMark;
var value;
for (var len = 0; len < runResult.length; len++) {
var run = runResult[len];
var recover = recoverResult[len];
var x = xAis[len];
if (len == 0) {
xMark = len;
value = x;
yMark = (run + recover).toFixed(2);
}
if (parseFloat((run + recover).toFixed(2)) < parseFloat(yMark)) {
xMark = len;
value = x;
yMark = (run + recover).toFixed(2);
}
}
return [{ xAxis: xMark, yAxis: yMark, value: '最小值:' + value + '年' }];
}
//获取折线图数据
function getChartData() {
$.post(ext.contextPath + '/valueEngineering/equipmentEvaluate/getEconomicLifeLineChart.do', { id: equipmentid }, function (result) {
//console.log(result);
result = JSON.parse(result);
if (result != "") {
var lifeChart = echarts.init(document.getElementById('eLifeDiv'));
option.xAxis[0].data = result.xAis;
option.series[0].data = getTotalCost(result.runCost, result.recoverCost);//年等额总成本
option.series[1].data = getRunCost(result.runCost);//设备年等额运行成本
option.series[2].data = getRecoverCost(result.recoverCost);//等额资产恢复成本
option.series[0].markPoint.data = economicLifeYear(result.runCost, result.recoverCost, result.xAis);
//console.log(option);
//console.log(lifeChart);
lifeChart.setOption(option);
}
});
}
$(function () {
getChartData();
})
</script>
<div class="modal fade" id="economicLifeModal">
<div class="modal-dialog modal-lg" id="sub">
<div class="modal-content" id="content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">设备经济寿命曲线</h4>
</div>
<div class="modal-body" style="overflow-x:auto;">
<div id="eLifeDiv" style="height:500px;width:850px"></div>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>