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)
|
|
|
|
|
|
})
|