You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

179 lines
3.9 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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() {
},
})