123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- // pages/wateranalysis/wateranalysis.js
- import * as echarts from '../../components/ec-canvas/echarts.js';
- import {
- barChartOptions,
- lineChartOptions
- } from '../../utils/chart.js';
- let moment = require('../../utils/moment.js');
- const app = getApp();
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- currentYear: moment().year(),
- waterInfo: {},
- ec: {
- lazyLoad: true,
- },
- },
- // 初始化echart图表
- initChart({
- id,
- type,
- data,
- color,
- configs
- }) {
- const {
- legend = [], xAxis = [], series = []
- } = data;
- const setOption = () => {
- if (type == 'bar') {
- this[id].setOption(barChartOptions({
- legend,
- xAxis,
- series
- }, color, configs), true);
- } else {
- this[id].setOption(lineChartOptions({
- legend,
- xAxis,
- series
- }, color), true);
- }
- }
- if (this[id]) {
- setOption();
- return
- }
- this.selectComponent(`#${id}`).init((canvas, width, height) => {
- this[id] = echarts.init(canvas, null, {
- width: width,
- height: height
- });
- canvas.setChart(this[id]);
- setOption();
- return this[id];
- });
- },
- /**
- * 生命周期函数--监听页面加载
- */
- getWaterAnalysis() {
- wx.showLoading({
- title: '加载中',
- mask: true
- });
- app.$http.get('/statistics/getUseWaterAnalyze').then(({
- status,
- msg,
- data: {
- list = [],
- averageUseVolume = 0,
- maxUseWater = 0,
- minUseWater = 0,
- totalUseVolume = 0
- }
- }) => {
- if (status === 0) {
- this.setData({
- waterInfo: {
- list,
- averageUseVolume,
- maxUseWater,
- minUseWater,
- totalUseVolume
- }
- })
- list = list.sort(function(a, b) {
- return a.date - b.date
- })
- const legend = ['用水量'],
- xAxis = [],
- series = [
- []
- ];
- if (list.length) {
- this.setData({
- list: list
- })
- list.forEach(v => {
- let date = v.date.toString();
- date = date.substr(4, 2);
- xAxis.push(date);
- series[0].push(v.useVolume)
- })
- const option = {
- id: 'weekChart',
- type: 'bar',
- data: {
- legend,
- series,
- xAxis
- },
- color: ['#FFF'],
- configs: {
- barWidth: 16
- }
- }
- this.initChart(option);
- }
- }
- wx.hideLoading();
- }).catch(() => {
- wx.hideLoading();
- })
- },
- onLoad: function(options) {
- this.getWaterAnalysis();
- },
- })
|