Files
energy_storage/bin/Release/assets/html/pages/系统总览.js

157 lines
5.5 KiB
JavaScript
Raw Normal View History

var optionBar = echartGetOptionBar()
optionBar.xAxis.data = []
2025-05-19 09:54:33 +08:00
optionBar.legend.data = ['发电电量', '入网电量']
optionBar.series = [
{ name: '发电电量', type: 'bar', data: [] },
{ name: '入网电量', type: 'bar', data: [] },
2025-05-19 09:54:33 +08:00
]
optionBar.yAxis[0].name = '电量'
optionBar.yAxis[1].name = ''
2025-05-19 09:54:33 +08:00
var mychartSolar = echarts.init(document.getElementById('mychartSolar'))
mychartSolar.setOption(optionBar)
optionBar.legend.data = ['充电电量', '放电电量']
optionBar.series = [
{ name: '充电电量', type: 'bar', data: [] },
{ name: '放电电量', type: 'bar', data: [] },
2025-05-19 09:54:33 +08:00
]
optionBar.yAxis[0].name = '电量'
optionBar.yAxis[1].name = ''
2025-05-19 09:54:33 +08:00
var mychartStorage = echarts.init(document.getElementById('mychartStorage'))
mychartStorage.setOption(optionBar)
optionBar.legend.data = ['用电电量', '最大功率']
optionBar.series = [
{ name: '用电电量', type: 'bar', data: [] },
{ name: '最大功率', type: 'bar', data: [] },
2025-05-19 09:54:33 +08:00
]
optionBar.yAxis[0].name = '电量'
optionBar.yAxis[1].name = '功率'
2025-05-19 09:54:33 +08:00
var mychartLoad = echarts.init(document.getElementById('mychartLoad'))
mychartLoad.setOption(optionBar)
optionBar.legend.data = ['充电电量', '充电次数', '充电收益']
optionBar.series = [
{ name: '充电电量', type: 'bar', data: [] },
{ name: '充电次数', type: 'bar', data: [] },
{ name: '充电收益', type: 'bar', data: [] },
2025-05-19 09:54:33 +08:00
]
optionBar.yAxis[0].name = '电量'
optionBar.yAxis[1].name = '收益'
2025-05-19 09:54:33 +08:00
var mychartCharge = echarts.init(document.getElementById('mychartCharge'))
mychartCharge.setOption(optionBar)
optionBar.legend.data = ['光伏设备', '储能设备', '负荷设备']
optionBar.series = [
{ name: '光伏设备', type: 'bar', data: [] },
{ name: '储能设备', type: 'bar', data: [] },
{ name: '负荷设备', type: 'bar', data: [] },
2025-05-19 09:54:33 +08:00
]
optionBar.yAxis[0].name = '次数'
optionBar.yAxis[1].name = ''
2025-05-19 09:54:33 +08:00
var mychartAlert = echarts.init(document.getElementById('mychartAlert'))
mychartAlert.setOption(optionBar)
var optionCurve = echartGetOptionCurve()
2025-05-19 09:54:33 +08:00
optionCurve.legend.data = ['发电功率', '辐照度']
optionCurve.series = [
{ name: '发电功率', type: 'line', hoverAnimation: false, smooth: false, symbolSize: 0, data: [] },
{ name: '辐照度', type: 'line', hoverAnimation: false, smooth: false, symbolSize: 0, data: [] },
2025-05-19 09:54:33 +08:00
]
optionCurve.yAxis[0].name = '功率kw'
optionCurve.yAxis[1].name = '光照Lux'
2025-05-19 09:54:33 +08:00
var mychartRunning = echarts.init(document.getElementById('mychartRunning'))
mychartRunning.setOption(optionCurve)
window.onresize = () => {
mychartSolar.resize()
mychartStorage.resize()
mychartLoad.resize()
mychartCharge.resize()
mychartAlert.resize()
mychartRunning.resize()
}
function updatePageData() {
2025-07-28 17:14:44 +08:00
// 获取统计数据(累计统计)
G.cppNative.getStatisticTotal().then((res => {
// {"ccers":100,"elect_charge":0,"elect_gen":153.8,"elect_in":130.2,"income_charge":100,"income_elect":100}
$('#windTurbineNum').text('8')
$('#solarNum').text('207')
$('#electricTotal').text(res['elect_gen'])
$('#electricInTotal').text(res['elect_in'])
$('#carbonReduction').text(res['ccers'])
}))
// 获取统计数据(日统计7天的数据)
G.cppNative.getStatisticDay(7).then((res => {
var xAxisData = []
var solar = { d1: [], d2: [], d3: [] }
var storage = { d1: [], d2: [], d3: [] }
var load = { d1: [], d2: [], d3: [] }
var charge = { d1: [], d2: [], d3: [] }
res.forEach(item => {
solar.d1.push(item['elect_gen'])
solar.d2.push(item['elect_in'])
2025-07-28 17:14:44 +08:00
storage.d1.push(item['elect_store'])
storage.d2.push(item['elect_discharge'])
load.d1.push(item['elect_load'])
load.d2.push(item['elect_load'])
charge.d1.push(item['elect_charge'])
charge.d2.push(item['num_charge'])
})
// 服务端获取光伏设备7天统计数据更新图表
// var data1 = [1, 2, 3, 4, 3, 2, 1]
// var data2 = [1, 2, 3, 4, 3, 2, 1]
// var data3 = [1, 2, 3, 4, 3, 2, 1]
var xdata = []
for (let i = 6; i >= 0; i--) {
const date = new Date();
date.setDate(date.getDate() - i);
xdata.push(G.formatDateMD(date));
}
updateEchartBar(mychartSolar, xdata, [{ data: solar.d1 }, { data: solar.d2 }, { data: solar.d3 }])
updateEchartBar(mychartStorage, xdata, [{ data: storage.d1 }, { data: storage.d2 }, { data: storage.d3 }])
updateEchartBar(mychartLoad, xdata, [{ data: load.d1 }, { data: load.d2 }, { data: load.d3 }])
updateEchartBar(mychartCharge, xdata, [{ data: charge.d1 }, { data: charge.d2 }, { data: charge.d3 }])
updateEchartBar(mychartAlert, xdata, [{ data: solar.d1 }, { data: solar.d2 }, { data: solar.d3 }])
2025-07-28 17:14:44 +08:00
}))
G.cppNative.getStatisticPowerDay().then(res => {
mychartRunning.setOption({ series: [{ data: res }] })
})
G.cppNative.getStatisticIrradianceDay().then(res => {
mychartRunning.setOption({ series: [{}, { data: res, yAxisIndex: 1 }] })
})
2025-07-28 17:14:44 +08:00
// 查询数据获取环境信息:光照、风速、环境温度、湿度
G.cppNative.getEnvironmentInfo().then(res => {
$('#envIllumination').text(res['illumination'] + ' Lux')
$('#envWindspeed').text(res['windspeed'] + ' m/s')
$('#envTemperture').text(res['temperature'] + ' ℃')
$('#envHumidity').text(res['humidity'] + ' %')
})
2025-05-19 09:54:33 +08:00
}
2025-07-28 17:14:44 +08:00
/// 清理资源
2025-05-19 09:54:33 +08:00
var timerId = null
document.currentScript.addEventListener('DOMNodeRemoved', () => {
G.cppNative.log('DOMNodeRemoved: 运行监控')
clearInterval(timerId);
});
$(document).ready(function () {
2025-05-19 09:54:33 +08:00
updatePageData()
// 定时器更新页面数据
timerId = setInterval(updatePageData, 1000)
})