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

146 lines
5.4 KiB
JavaScript
Raw Normal View History

2025-07-18 09:09:30 +08:00
optionBar.xAxis.data = ['03/01', '03/02', '03/03', '03/04', '03/05', '03/06', '03/07']
2025-05-19 09:54:33 +08:00
optionBar.legend.data = ['发电电量', '入网电量']
optionBar.series = [
{ name: '发电电量', type: 'bar', data: [50, 28, 35, 18, 36, 27, 19] },
{ name: '入网电量', type: 'bar', data: [10, 32, 20, 33, 39, 13, 22] },
]
var mychartSolar = echarts.init(document.getElementById('mychartSolar'))
mychartSolar.setOption(optionBar)
optionBar.legend.data = ['充电电量', '放电电量']
optionBar.series = [
{ name: '充电电量', type: 'bar', data: [50, 28, 35, 18, 36, 27, 19] },
{ name: '放电电量', type: 'bar', data: [10, 32, 20, 33, 39, 13, 22] },
]
var mychartStorage = echarts.init(document.getElementById('mychartStorage'))
mychartStorage.setOption(optionBar)
optionBar.legend.data = ['用电电量', '最大功率']
optionBar.series = [
{ name: '用电电量', type: 'bar', data: [50, 28, 35, 18, 36, 27, 19] },
{ name: '最大功率', type: 'bar', data: [10, 32, 20, 33, 39, 13, 22] },
]
var mychartLoad = echarts.init(document.getElementById('mychartLoad'))
mychartLoad.setOption(optionBar)
optionBar.legend.data = ['充电电量', '充电次数', '充电收益']
optionBar.series = [
{ name: '充电电量', type: 'bar', data: [50, 28, 35, 18, 36, 27, 19] },
{ name: '充电次数', type: 'bar', data: [10, 32, 20, 33, 39, 13, 22] },
{ name: '充电收益', type: 'bar', data: [10, 32, 20, 33, 39, 13, 22] },
]
var mychartCharge = echarts.init(document.getElementById('mychartCharge'))
mychartCharge.setOption(optionBar)
optionBar.legend.data = ['光伏设备', '储能设备', '负荷设备']
optionBar.series = [
{ name: '光伏设备', type: 'bar', data: [50, 28, 35, 18, 36, 27, 19] },
{ name: '储能设备', type: 'bar', data: [10, 32, 20, 33, 39, 13, 22] },
{ name: '负荷设备', type: 'bar', data: [10, 32, 20, 33, 39, 13, 22] },
]
var mychartAlert = echarts.init(document.getElementById('mychartAlert'))
mychartAlert.setOption(optionBar)
function getRandomCurveData(m, n) {
var data = []
var t0 = Date.parse('2025-03-01 00:00:00')
var step = 600
var N = 86400 / step
2025-07-18 09:09:30 +08:00
var y = 500
2025-05-19 09:54:33 +08:00
for (var i = 0; i <= N; ++i) {
var t = t0 + i * step * 1000
2025-07-18 09:09:30 +08:00
//var y = Math.sin(i * 0.1) * (n - m) + m
y = Math.floor((y + RAND(0, 50) - 25) * 100) / 100
data[i] = { name: t, value: [t, y] }
2025-05-19 09:54:33 +08:00
}
return data
}
optionCurve.legend.data = ['发电功率', '辐照度']
optionCurve.series = [
{ name: '发电功率', type: 'line', hoverAnimation: false, smooth: false, symbolSize: 0, data: getRandomCurveData(100, 200) },
{ name: '辐照度', type: 'line', hoverAnimation: false, smooth: false, symbolSize: 0, data: getRandomCurveData(100, 200) },
]
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'])
solar.d2.push(item['elect_in_solar'])
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]
mychartSolar.setOption({ series: [{ data: solar.d1 }, { data: solar.d2 }, { data: solar.d3 }] });
mychartStorage.setOption({ series: [{ data: storage.d1 }, { data: storage.d2 }, { data: storage.d3 }] });
mychartLoad.setOption({ series: [{ data: load.d1 }, { data: load.d2 }, { data: load.d3 }] });
mychartCharge.setOption({ series: [{ data: charge.d1 }, { data: charge.d2 }, { data: charge.d3 }] });
mychartAlert.setOption({ series: [{ data: solar.d1 }, { data: solar.d2 }, { data: solar.d3 }] });
}))
// 查询数据获取环境信息:光照、风速、环境温度、湿度
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 () {
updatePageData()
// 定时器更新页面数据
timerId = setInterval(updatePageData, 1000)
})