2025-07-31 17:56:08 +08:00
|
|
|
|
var optionBar = echartGetOptionBar()
|
|
|
|
|
|
optionBar.xAxis.data = []
|
2025-05-19 09:54:33 +08:00
|
|
|
|
optionBar.legend.data = ['发电电量', '入网电量']
|
|
|
|
|
|
optionBar.series = [
|
2025-07-31 17:56:08 +08:00
|
|
|
|
{ name: '发电电量', type: 'bar', data: [] },
|
|
|
|
|
|
{ name: '入网电量', type: 'bar', data: [] },
|
2025-05-19 09:54:33 +08:00
|
|
|
|
]
|
2025-07-31 17:56:08 +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 = [
|
2025-07-31 17:56:08 +08:00
|
|
|
|
{ name: '充电电量', type: 'bar', data: [] },
|
|
|
|
|
|
{ name: '放电电量', type: 'bar', data: [] },
|
2025-05-19 09:54:33 +08:00
|
|
|
|
]
|
2025-07-31 17:56:08 +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 = [
|
2025-07-31 17:56:08 +08:00
|
|
|
|
{ name: '用电电量', type: 'bar', data: [] },
|
|
|
|
|
|
{ name: '最大功率', type: 'bar', data: [] },
|
2025-05-19 09:54:33 +08:00
|
|
|
|
]
|
2025-07-31 17:56:08 +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 = [
|
2025-07-31 17:56:08 +08:00
|
|
|
|
{ name: '充电电量', type: 'bar', data: [] },
|
|
|
|
|
|
{ name: '充电次数', type: 'bar', data: [] },
|
|
|
|
|
|
{ name: '充电收益', type: 'bar', data: [] },
|
2025-05-19 09:54:33 +08:00
|
|
|
|
]
|
2025-07-31 17:56:08 +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 = [
|
2025-07-31 17:56:08 +08:00
|
|
|
|
{ name: '光伏设备', type: 'bar', data: [] },
|
|
|
|
|
|
{ name: '储能设备', type: 'bar', data: [] },
|
|
|
|
|
|
{ name: '负荷设备', type: 'bar', data: [] },
|
2025-05-19 09:54:33 +08:00
|
|
|
|
]
|
2025-07-31 17:56:08 +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)
|
|
|
|
|
|
|
2025-07-31 17:56:08 +08:00
|
|
|
|
var optionCurve = echartGetOptionCurve()
|
2025-05-19 09:54:33 +08:00
|
|
|
|
optionCurve.legend.data = ['发电功率', '辐照度']
|
|
|
|
|
|
optionCurve.series = [
|
2025-07-31 17:56:08 +08:00
|
|
|
|
{ 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
|
|
|
|
]
|
2025-07-31 17:56:08 +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 => {
|
2025-07-31 17:56:08 +08:00
|
|
|
|
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]
|
|
|
|
|
|
|
2025-07-31 17:56:08 +08:00
|
|
|
|
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
|
|
|
|
}))
|
|
|
|
|
|
|
2025-07-31 17:56:08 +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-07-31 17:56:08 +08:00
|
|
|
|
|
|
|
|
|
|
|
2025-05-19 09:54:33 +08:00
|
|
|
|
updatePageData()
|
|
|
|
|
|
|
|
|
|
|
|
// 定时器更新页面数据
|
|
|
|
|
|
timerId = setInterval(updatePageData, 1000)
|
|
|
|
|
|
})
|