|
|
var Api = require("../../../utils/util.js");
|
|
|
import * as echarts from '../../ec-canvas/echarts';
|
|
|
let chart = null;
|
|
|
Page({
|
|
|
/**
|
|
|
* 页面的初始数据
|
|
|
*/
|
|
|
data: {
|
|
|
detail: {},
|
|
|
ec: {
|
|
|
lazyLoad: true //开启懒加载
|
|
|
},
|
|
|
xData:[], //用于存放x轴的数据
|
|
|
seriesData:[] //用于存放折线图的数据
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 生命周期函数--监听页面加载
|
|
|
*/
|
|
|
onLoad(options) {
|
|
|
this.echartsComponnet = this.selectComponent('#mychart');
|
|
|
if(options.id){
|
|
|
this.setData({
|
|
|
code: options.code,
|
|
|
id: options.id,
|
|
|
entryId: options.eid
|
|
|
})
|
|
|
}
|
|
|
this.getDetail()
|
|
|
this.getList()
|
|
|
this.getianqi()
|
|
|
},
|
|
|
//天气
|
|
|
getianqi(){
|
|
|
var that = this
|
|
|
wx.showLoading({
|
|
|
title: '加载中...',
|
|
|
})
|
|
|
Api.req('nh/home/weather', {
|
|
|
stationId: this.data.id
|
|
|
}, 'get')
|
|
|
.then(res => {
|
|
|
wx.hideLoading()
|
|
|
if(res.code == 200){
|
|
|
that.setData({
|
|
|
weatherObj: res.data.now
|
|
|
})
|
|
|
}else{
|
|
|
wx.showToast({
|
|
|
title: res.msg,
|
|
|
icon: 'none'
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
//详情
|
|
|
getDetail(){
|
|
|
var that = this
|
|
|
wx.showLoading({
|
|
|
title: '加载中...',
|
|
|
})
|
|
|
Api.req('nh/powerStation/detail', {
|
|
|
stationCode: this.data.code
|
|
|
}, 'get')
|
|
|
.then(res => {
|
|
|
wx.hideLoading()
|
|
|
if(res.code == 200){
|
|
|
that.setData({
|
|
|
detail: res.data
|
|
|
})
|
|
|
}else{
|
|
|
wx.showToast({
|
|
|
title: res.msg,
|
|
|
icon: 'none'
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
//设备列表
|
|
|
goDevice(e){
|
|
|
wx.navigateTo({
|
|
|
url: '../deviceList/deviceList?id=' + e.currentTarget.dataset.id,
|
|
|
})
|
|
|
},
|
|
|
//7日发电
|
|
|
getList(){
|
|
|
Api.req('nh/powerStation/powerGenerationTrends', {
|
|
|
entryId: this.data.id
|
|
|
}, 'get')
|
|
|
.then(res => {
|
|
|
if(res.code == 200){
|
|
|
this.setData({
|
|
|
xData: res.data.XStr,
|
|
|
seriesData: res.data.fdlY
|
|
|
})
|
|
|
this.initChart(); //初始化图表
|
|
|
}else{
|
|
|
wx.showToast({
|
|
|
title: res.msg,
|
|
|
icon: 'none'
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
//模拟从后端获取数据,并赋值给xData 、seriesData
|
|
|
// setTimeout(() => {
|
|
|
// const xData = ['1日', '2日', '3日', '4日', '5日', '3日', '7日']
|
|
|
// const seriesData = [500, 270, 890, 1344, 300, 320, 310]
|
|
|
// this.setData({xData,seriesData})
|
|
|
// this.initChart(); //初始化图表
|
|
|
// },500)
|
|
|
},
|
|
|
//初始化echarts图表
|
|
|
initChart() {
|
|
|
//如果是二次赋值,就需要先清空,避免bug
|
|
|
if(this.chart){
|
|
|
chart.clear();
|
|
|
}
|
|
|
this.echartsComponnet.init((canvas, width, height,dpr) => {
|
|
|
// 初始化图表
|
|
|
chart = echarts.init(canvas, null, {
|
|
|
width: width,
|
|
|
height: height,
|
|
|
devicePixelRatio: dpr //清晰度 使canvas的图表更加清晰
|
|
|
});
|
|
|
chart.setOption(this.getOption())
|
|
|
return chart;
|
|
|
});
|
|
|
},
|
|
|
|
|
|
//设置图表各项数据
|
|
|
getOption() {
|
|
|
let option = {
|
|
|
tooltip: {
|
|
|
trigger: 'axis',
|
|
|
axisPointer: {
|
|
|
type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
|
|
|
},
|
|
|
confine: true
|
|
|
},
|
|
|
legend: {
|
|
|
data: ['发电量(kW)']
|
|
|
},
|
|
|
grid: {
|
|
|
left: 20,
|
|
|
right: 20,
|
|
|
bottom: 15,
|
|
|
top: 40,
|
|
|
containLabel: true
|
|
|
},
|
|
|
xAxis: [{
|
|
|
type: 'category',
|
|
|
data: this.data.xData
|
|
|
}],
|
|
|
yAxis: [{
|
|
|
type: 'value',
|
|
|
}],
|
|
|
series: [{
|
|
|
name: '发电量(kW)',
|
|
|
type: 'bar',
|
|
|
label: {
|
|
|
normal: {
|
|
|
show: true,
|
|
|
position: 'inside'
|
|
|
}
|
|
|
},
|
|
|
data: this.data.seriesData,
|
|
|
}]
|
|
|
}
|
|
|
return option;
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 生命周期函数--监听页面显示
|
|
|
*/
|
|
|
onShow() {
|
|
|
|
|
|
},
|
|
|
|
|
|
}) |