// pages/gengduogongneng/gengduogongneng.js
import * as echarts from '../../ec-canvas/echarts';
const app = getApp();


//预警状态
let formatNumber_0 = function(num) {
  let reg = /(?=(\B)(\d{3})+$)/g;
  return num.toString().replace(reg, ',');
}
function arrayobj_0  (array, key) {
  var resObj = {}
  for (var i = 0; i < array.length; i++) {
      resObj[array[i][key]] = array[i]
  }
  return resObj
}
function initChart_0(chart_0,datas_0,datas_name) {
  //定义参数
  let objData_0 = arrayobj_0(datas_0, 'name')
  let total_0 = datas_0.reduce((a, b) => {
    return a + b.value * 1
  }, 0);
  let title_0 = '本月预警';

  var option_0 = {
    color: ["#ffac50", "#ed6942", "#9e40ec", "#1f8efa", "#06c985"],
    title: [{
      text: '{val|' + formatNumber_1(total_0) + '} \n {name|' + title_0 + '} ',
      top: '31%',
      left: '17%',
      textStyle: {
          rich: {
              name: {
                  fontSize: 14,
                  fontWeight: 'normal',
                  color: '#fff',
                  padding: [10, 0]
              },
              val: {
                  fontSize:25,
                  fontWeight: 'bold',
                  color: '#0ad7ec',
                  padding: [0, 20]
              }
          }
      }
  }],
    tooltip: {
      trigger: 'item',
    },
    legend: {
        orient: 'vertical',
        top: "center",
        right: "5%",
        icon: 'circle',
        data: datas_name,
        textStyle: {
            color: "#fff",
            fontSize: 10
        },
        formatter(name) {
          return `${name}   ${objData_0[name].value}`
        }
    },
    series: [{
          type: 'pie',
          radius: ['65%', '90%'],
          center: ['30%', '50%'],
          avoidLabelOverlap: false,
          label: {
              show: false,
              position: 'center'
          },
          emphasis: {
              label: {
                  show: true,
                  fontSize: '14'
              }
          },
          labelLine: {
              show: false
          },
          hoverAnimation: false,
          data: datas_0
      }]
  };
  chart_0.setOption(option_0);
}


//人员预警信息
let datas_1 = []
let formatNumber_1 = function(num) {
  let reg = /(?=(\B)(\d{3})+$)/g;
  return num.toString().replace(reg, ',');
}
function arrayobj_1  (array, key) {
  var resObj = {}
  for (var i = 0; i < array.length; i++) {
      resObj[array[i][key]] = array[i]
  }
  return resObj
}
function initChart_1(chart_1,datas_1,datas_name) {
  //定义参数
  let objData_1 = arrayobj_1(datas_1, 'name');
  let total_1 = datas_1.reduce((a, b) => {
    return a + b.value * 1
  }, 0);
  let title_1 = '本日预警';

  var option_1 = {
    color: ["#ffac50", "#ed6942", "#9e40ec", "#1f8efa", "#06c985"],
    title: [{
      text: '{val|' + formatNumber_1(total_1) + '} \n {name|' + title_1 + '} ',
      top: '31%',
      left: '17%',
      textStyle: {
          rich: {
              name: {
                  fontSize: 14,
                  fontWeight: 'normal',
                  color: '#fff',
                  padding: [10, 0]
              },
              val: {
                  fontSize:25,
                  fontWeight: 'bold',
                  color: '#0ad7ec',
                  padding: [0, 20]
              }
          }
      }
  }],
    tooltip: {
      trigger: 'item',
    },
    legend: {
        orient: 'vertical',
        top: "center",
        right: "5%",
        icon: 'circle',
        data: datas_name,
        textStyle: {
            color: "#fff",
            fontSize: 10
        },
        formatter(name) {
          return `${name}   ${objData_1[name].value}`
        }
    },
    series: [{
          type: 'pie',
          radius: ['65%', '90%'],
          center: ['30%', '50%'],
          avoidLabelOverlap: false,
          label: {
              show: false,
              position: 'center'
          },
          emphasis: {
              label: {
                  show: true,
                  fontSize: '14'
              }
          },
          labelLine: {
              show: false
          },
          hoverAnimation: false,
          data: datas_1
      }]
  };
  chart_1.setOption(option_1);
}


//机械预警信息
let datas_6 = []
let formatNumber_6 = function(num) {
  let reg = /(?=(\B)(\d{3})+$)/g;
  return num.toString().replace(reg, ',');
}
function arrayobj_6  (array, key) {
  var resObj = {}
  for (var i = 0; i < array.length; i++) {
      resObj[array[i][key]] = array[i]
  }
  return resObj
}
function initChart_6(chart_6,datas_6,datas_name) {
  //定义参数
  let objData_6 = arrayobj_6(datas_6, 'name');
  let total_6 = datas_6.reduce((a, b) => {
    return a + b.value * 1
  }, 0);
  let title_6 = '本日预警';

  var option_6 = {
    color: ["#ffac50", "#ed6942", "#9e40ec", "#1f8efa", "#06c985"],
    title: [{
      text: '{val|' + formatNumber_1(total_6) + '} \n {name|' + title_6 + '} ',
      top: '31%',
      left: '17%',
      textStyle: {
          rich: {
              name: {
                  fontSize: 14,
                  fontWeight: 'normal',
                  color: '#fff',
                  padding: [10, 0]
              },
              val: {
                  fontSize:25,
                  fontWeight: 'bold',
                  color: '#0ad7ec',
                  padding: [0, 20]
              }
          }
      }
  }],
    tooltip: {
      trigger: 'item',
    },
    legend: {
        orient: 'vertical',
        top: "center",
        right: "5%",
        icon: 'circle',
        data: datas_name,
        textStyle: {
            color: "#fff",
            fontSize: 10
        },
        formatter(name) {
          return `${name}   ${objData_6[name].value}`
        }
    },
    series: [{
          type: 'pie',
          radius: ['65%', '90%'],
          center: ['30%', '50%'],
          avoidLabelOverlap: false,
          label: {
              show: false,
              position: 'center'
          },
          emphasis: {
              label: {
                  show: true,
                  fontSize: '14'
              }
          },
          labelLine: {
              show: false
          },
          hoverAnimation: false,
          data: datas_6
      }]
  };
  chart_6.setOption(option_6);
}


//物料预警
let formatNumber_2 = function(num) {
  let reg = /(?=(\B)(\d{3})+$)/g;
  return num.toString().replace(reg, ',');
}
function arrayobj_2  (array, key) {
  var resObj = {}
  for (var i = 0; i < array.length; i++) {
      resObj[array[i][key]] = array[i]
  }
  return resObj
}
function initChart_2(chart_2,datas_2) {
  //定义参数
  let objData_2 = arrayobj_2(datas_2, 'name');
  let total_2 = datas_2.reduce((a, b) => {
    return a + b.value * 1
  }, 0);
  let title_2 = '本日预警';

  var option_2 = {
    color: ["#ffac50", "#ed6942", "#9e40ec", "#1f8efa", "#06c985"],
    title: [{
      text: '{val|' + formatNumber_1(total_2) + '} \n {name|' + title_2 + '} ',
      top: '31%',
      left: '17%',
      textStyle: {
          rich: {
              name: {
                  fontSize: 14,
                  fontWeight: 'normal',
                  color: '#fff',
                  padding: [10, 0]
              },
              val: {
                  fontSize:25,
                  fontWeight: 'bold',
                  color: '#0ad7ec',
                  padding: [0, 20]
              }
          }
      }
  }],
    tooltip: {
      trigger: 'item',
    },
    legend: {
        orient: 'vertical',
        top: "center",
        right: "5%",
        icon: 'circle',
        data: ['塔吊', '电梯', '龙门吊','砂浆罐', '其他 '],
        textStyle: {
            color: "#fff",
            fontSize: 10
        },
        formatter(name) {
          return `${name}   ${objData_2[name].value}`
        }
    },
    series: [{
          type: 'pie',
          radius: ['65%', '90%'],
          center: ['30%', '50%'],
          avoidLabelOverlap: false,
          label: {
              show: false,
              position: 'center'
          },
          emphasis: {
              label: {
                  show: true,
                  fontSize: '14'
              }
          },
          labelLine: {
              show: false
          },
          hoverAnimation: false,
          data: datas_2
      }]
  };
  chart_2.setOption(option_2);
}

//本月预警
let formatNumber_3 = function(num) {
  let reg = /(?=(\B)(\d{3})+$)/g;
  return num.toString().replace(reg, ',');
}
function arrayobj_3  (array, key) {
  var resObj = {}
  for (var i = 0; i < array.length; i++) {
      resObj[array[i][key]] = array[i]
  }
  return resObj
}
function initChart_3(chart_3,datas_3,datas_name) {
  //定义参数
  let objData_3 = arrayobj_3(datas_3, 'name')
  let total_3 = datas_3.reduce((a, b) => {
    return a + b.value * 1
  }, 0);
  let title_3 = '本月预警';

  var option_3 = {
    color: ["#ffac50", "#ed6942", "#9e40ec", "#1f8efa", "#06c985"],
    title: [{
      text: '{val|' + formatNumber_1(total_3) + '} \n {name|' + title_3 + '} ',
      top: '31%',
      left: '17%',
      textStyle: {
          rich: {
              name: {
                  fontSize: 14,
                  fontWeight: 'normal',
                  color: '#fff',
                  padding: [10, 0]
              },
              val: {
                  fontSize:25,
                  fontWeight: 'bold',
                  color: '#0ad7ec',
                  padding: [0, 20]
              }
          }
      }
  }],
    tooltip: {
      trigger: 'item',
    },
    legend: {
        orient: 'vertical',
        top: "center",
        right: "5%",
        icon: 'circle',
        data: datas_name,
        textStyle: {
            color: "#fff",
            fontSize: 10
        },
        formatter(name) {
          return `${name}   ${objData_3[name].value}`
        }
    },
    series: [{
          type: 'pie',
          radius: ['65%', '90%'],
          center: ['30%', '50%'],
          avoidLabelOverlap: false,
          label: {
              show: false,
              position: 'center'
          },
          emphasis: {
              label: {
                  show: true,
                  fontSize: '14'
              }
          },
          labelLine: {
              show: false
          },
          hoverAnimation: false,
          data: datas_3
      }]
  };
  chart_3.setOption(option_3);
}


//离线视频
let formatNumber_4 = function(num) {
  let reg = /(?=(\B)(\d{3})+$)/g;
  return num.toString().replace(reg, ',');
}
function arrayobj_4  (array, key) {
  var resObj = {}
  for (var i = 0; i < array.length; i++) {
      resObj[array[i][key]] = array[i]
  }
  return resObj
}
function initChart_4(chart_4,datas_4,datas_name4) {
  //定义参数
  let objData_4 = arrayobj_4(datas_4, 'name')
  let total_4 = datas_4.reduce((a, b) => {
    return a + b.value * 1
  }, 0);
  let title_4 = '本日离线';

  var option_4 = {
    color: ["#ffac50", "#ed6942", "#9e40ec", "#1f8efa", "#06c985"],
    title: [{
      text: '{val|' + formatNumber_1(total_4) + '} \n {name|' + title_4 + '} ',
      top: '31%',
      left: '17%',
      textStyle: {
          rich: {
              name: {
                  fontSize: 14,
                  fontWeight: 'normal',
                  color: '#fff',
                  padding: [10, 0]
              },
              val: {
                  fontSize:25,
                  fontWeight: 'bold',
                  color: '#0ad7ec',
                  padding: [0, 20]
              }
          }
      }
  }],
    tooltip: {
      trigger: 'item',
    },
    legend: {
        orient: 'vertical',
        top: "center",
        right: "5%",
        icon: 'circle',
        data: datas_name4,
        textStyle: {
            color: "#fff",
            fontSize: 10
        },
        formatter(name) {
          return `${name}   ${objData_4[name].value}`
        }
    },
    series: [{
          type: 'pie',
          radius: ['65%', '90%'],
          center: ['30%', '50%'],
          avoidLabelOverlap: false,
          label: {
              show: false,
              position: 'center'
          },
          emphasis: {
              label: {
                  show: true,
                  fontSize: '14'
              }
          },
          labelLine: {
              show: false
          },
          hoverAnimation: false,
          data: datas_4
      }]
  };
  chart_4.setOption(option_4);
}

//今日扬尘指标
let value_5 = 0;
function initChart_5(chart_5,value_5) {
  var option_5 = {
    series: [{
      type: 'gauge',
      radius: '73%',
      //splitNumber: 10,
      min: 0,
      max: 500,
      startAngle: 90,
      endAngle: -269.9999,
      
      axisLine: {
          show: true,
          lineStyle: {
              width: 1,
              color: [
                  [1, 'rgba(0,0,0,0)']
              ]
          }
      }, //仪表盘轴线
      axisTick: {
          show: true,
          lineStyle: {
              color: '#468EFD',
              width: 1
          },
          length: -5
      }, //刻度样式
      splitLine: {
          show: true,
          length: -8,
          lineStyle: {
              color: '#468EFD'
          }
      }, //分隔线样式
      axisLabel: {
          //show:false,
          distance: 10,
          textStyle: {
              color: '#468EFD',
              fontSize: '10',
              fontWeight: 'bold'
          },
          formatter: '{value}'
      },
      pointer: {
          show: 0
      },
      detail: {
          show: 0
      }
  },

  // 内侧指针、数值显示
  {
      name: '达标率',
      type: 'gauge',
      radius: '100%',
      startAngle: 90,
      endAngle: -269.9999,
      min: 0,
      max: 500,
      axisLine: {
          show: true,
          lineStyle: {
              width: 10,
              color: [
                  [
                      value_5 / 500, new echarts.graphic.LinearGradient(
                          0, 0, 1, 0, [{
                                  offset: 0,
                                  color: '#04c5ff',
                              },
                              {
                                  offset: 1,
                                  color: '#04c5ff',
                              }
                          ]
                      )
                  ],
                  [
                      1, '#1c3f5f'
                  ]
              ]
          }
      },
      axisTick: {
          show: 0,
      },
      splitLine: {
          show: 0,
      },
      axisLabel: {
          show: 0
      },
      pointer: {
          show: false,
          length: '105%'
      },
      detail: {
          show: true,
          offsetCenter: [0, '0'],
          textStyle: {
              fontSize: 25,
              color: '#29EEF3',
              fontWeight: 'bold'
          },
          formatter: [
              '{value}' + '',
              '' + '{name|PM2.5}'
          ].join('\n'),
          rich: {
              name: {
                  fontSize: 14,
                  color: '#ffbd05',
                  padding: [5,0]
              }
          }
      },
      itemStyle: {
          normal: {
              color: '#03b7c9',
          }
      },
      data: [{
          value: value_5
      }]
  }
]
  }
  chart_5.setOption(option_5);
}


Page({

  /**
   * 页面的初始数据
   */
  data: {
    active:1,  
    show: false,  
    check:['video_nav active','video_nav ','video_nav ','video_nav ','video_nav ','video_nav '],
    ec_0:{
      lazyLoad: true
    },
    ec_1: {
      lazyLoad: true
    },
    ec_2: {
      lazyLoad: true
    },
    ec_3: {
      lazyLoad: true
    },
    ec_4: {
      lazyLoad: true
    },
    ec_5: {
      lazyLoad: true
    },
    ec_6: {
      lazyLoad: true
    },
    aqi:0,
    marginLeft: "11%",
    projectName:'',
    projectId:'',
    dayEarlyNum:'',
    yangchenCount:'',
    monthEarlyNum:'',
    monthCount:'',
    PM25:'0',
    PM10:'0',
    DB:'0',
    WindSpeed:'0',
    WindDirection:'',
    Temperature:'0',
    Humidity:'0',
    AQI:'0',
    TSP:'0',
    videoDay:'0',
    videoMonth:'0',
    enviorDayData:{},
    enviorMonthData:{},
    dayCountNum:'0',
    monthCountNum:'0',
    machineEnvironCountDay:"0",
    machineEnvironCountmonth:"0",
    userEnvironCountDay:"0",
    userEnvironCountMonyh:"0",
    envirMonthEarlyNum:"0",
    //加载模板参数
    loadShow:false,
    list: ["人员", "机械", "物料", "环境", "视频", "其他"],
    highlight:0,
    height1:"",
    height2:"",
    height3:"",
    height4:"",
    height5:"",
    height6:"",
    height7:"",
    height8:"",
    height9:"",

    index_0:"",
    index_1:"",
    index_2:"",
    index_3:"",
    index_4:"",

    initData:{}
  },

  //项目切换 返回值
  onProjectSelect(e){
    this.onClickShow();
    let projectId = e.detail.id;
    let projectName = e.detail.text;
    app.globalData.projectId = projectId;
    app.globalData.projectName = projectName;
    this.setData({
      projectId:projectId,
      projectName:projectName
    })
    this.onLoad();
  },

  showPopup() {
    this.setData({ show: true });
  },

  onClose() {
    this.setData({ show: false });
  },

   //初始化环境状态本月预警
   init_zero: function (datas_0,datas_name) {
    this.zeroComponent.init((canvas, width, height,dpr) => {
      const chart = echarts.init(canvas, null, {
        width: width,
        height: height,
        devicePixelRatio: dpr //解决小程序视图模糊的问题，必写
      });
      initChart_0(chart,datas_0,datas_name);
      this.chart = chart;
      return chart;
    });
  },

  //初始化人员预警
  init_one: function (datas_1,datas_name) {
    this.oneComponent.init((canvas, width, height,dpr) => {
      const chart = echarts.init(canvas, null, {
        width: width,
        height: height,
        devicePixelRatio: dpr //解决小程序视图模糊的问题，必写
      });
      initChart_1(chart, datas_1,datas_name);
      this.chart = chart;
      return chart;
    });
  },

  //初始化机械预警
  init_sex: function (datas_6,datas_name) {
    this.sexComponent.init((canvas, width, height,dpr) => {
      const chart = echarts.init(canvas, null, {
        width: width,
        height: height,
        devicePixelRatio: dpr //解决小程序视图模糊的问题，必写
      });
      initChart_6(chart, datas_6,datas_name);
      this.chart = chart;
      return chart;
    });
  },

  //初始化物料预警
  init_two: function (datas_2) {
    this.twoComponent.init((canvas, width, height,dpr) => {
      const chart = echarts.init(canvas, null, {
        width: width,
        height: height,
        devicePixelRatio: dpr //解决小程序视图模糊的问题，必写
      });
      initChart_2(chart, datas_2);
      this.chart = chart;
      return chart;
    });
  },
  
  //初始化环境管理本月预警
  init_three: function (datas_3,datas_name) {
    this.threeComponent.init((canvas, width, height,dpr) => {
      const chart = echarts.init(canvas, null, {
        width: width,
        height: height,
        devicePixelRatio: dpr //解决小程序视图模糊的问题，必写
      });
      initChart_3(chart,datas_3,datas_name);
      this.chart = chart;
      return chart;
    });
  },

  //初始化视频预警
  init_four: function (datas_4,datas_name4) {
    this.fourComponent.init((canvas, width, height,dpr) => {
      const chart = echarts.init(canvas, null, {
        width: width,
        height: height,
        devicePixelRatio: dpr //解决小程序视图模糊的问题，必写
      });
      initChart_4(chart,datas_4,datas_name4);
      this.chart = chart;
      return chart;
    });
  },

   //初始化今日扬尘预警
   init_five: function (value_5) {
    this.fiveComponent.init((canvas, width, height,dpr) => {
      const chart = echarts.init(canvas, null, {
        width: width,
        height: height,
        devicePixelRatio: dpr //解决小程序视图模糊的问题，必写
      });
      initChart_5(chart,value_5);
      this.chart = chart;
      return chart;
    });
  },

  onClickShow() {
    this.setData({ loadShow: true });
  },

  onClickHide() {
    this.setData({ loadShow: false });
  },

  clickScroll(e) {
    this.setData({
      highlight: e.target.dataset.index
    })
    var height0 = this.data.height0;
    var height1 = this.data.height1;
    var height2 = this.data.height2;
    var height3 = this.data.height3;
    var height4 = this.data.height4;
    var height5 = this.data.height5;
    var height6 = this.data.height6;
    var height7 = this.data.height7;
    var height8 = this.data.height8;
    var height9 = this.data.height9;
    var heigth10 = 15;

    var index_0 =  height1+height2+height3+height4+height0+heigth10*1
    var index_1 =  height1+height2+height3+height4+height5+height0+heigth10*2
    var index_2 =  height1+height2+height3+height4+height5+height6+height0+heigth10*3
    var index_3 =  height1+height2+height3+height4+height5+height6+height7+height0+heigth10*4
    var index_4 =  height1+height2+height3+height4+height5+height6+height7+height8+height0+heigth10*5

    var index = e.currentTarget.dataset.index
    if(index==0){
      wx.pageScrollTo({
        scrollTop:index_0
      })
    }else if(index==1){
      wx.pageScrollTo({
        scrollTop:index_1
      })
    }else if(index==2){
      wx.pageScrollTo({
        scrollTop:index_2
      })
    }else if(index==3){
      wx.pageScrollTo({
        scrollTop:index_3 
      })
    }else if(index==4){
      wx.pageScrollTo({
        scrollTop: index_4
      })
    }else{
      wx.pageScrollTo({
        scrollTop:  0
      })
    }
  },

 onPageScroll(e){ // 获取滚动条当前位置
  var height1 = this.data.height1;
  var height2 = this.data.height2;
  var height3 = this.data.height3;
  var height4 = this.data.height4;
  var height5 = this.data.height5;
  var height6 = this.data.height6;
  var height7 = this.data.height7;
  var height8 = this.data.height8;
  var height9 = this.data.height9;

  var index_0 =  height1+height2+height3+height4
  var index_1 =  height1+height2+height3+height4+height5
  var index_2 =  height1+height2+height3+height4+height5+height6
  var index_3 =  height1+height2+height3+height4+height5+height6+height7
  var index_4 =  height1+height2+height3+height4+height5+height6+height7+height8

    if(e.scrollTop < index_1){
      this.setData({
        highlight: 0
      })
    }else if(e.scrollTop < index_2){
      this.setData({
        highlight: 1
      })
    }else if(e.scrollTop < index_3){
      this.setData({
        highlight: 2
      })
    }else if(e.scrollTop < index_4){
      this.setData({
        highlight: 3
      })
    }
    if(e.scrollTop == 1757){
      this.setData({
        highlight: 4
      })
    }
  },


  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

    let query0 = wx.createSelectorQuery();
      query0.select('.height_0').boundingClientRect(rect=>{
      let height0 = rect.height;
      this.setData({height0:height0})
    }).exec();

    let query1 = wx.createSelectorQuery();
      query1.select('.height_1').boundingClientRect(rect=>{
      let height1 = rect.height;
      this.setData({height1:height1})
    }).exec();

    let query2 = wx.createSelectorQuery();
    query2.select('.height_2').boundingClientRect(rect=>{
    let height2 = rect.height;
    this.setData({height2:height2})
  }).exec();

  let query3 = wx.createSelectorQuery();
      query3.select('.height_3').boundingClientRect(rect=>{
      let height3 = rect.height;
      this.setData({height3:height3})
    }).exec();

    let query4 = wx.createSelectorQuery();
      query4.select('.height_4').boundingClientRect(rect=>{
      let height4 = rect.height;
      this.setData({height4:height4})
    }).exec();

    let query5 = wx.createSelectorQuery();
      query5.select('.height_5').boundingClientRect(rect=>{
      let height5 = rect.height;
      this.setData({height5:height5})
    }).exec();
    let query6 = wx.createSelectorQuery();
      query6.select('.height_6').boundingClientRect(rect=>{
      let height6 = rect.height;
      this.setData({height6:height6})
    }).exec();

    let query7 = wx.createSelectorQuery();
      query7.select('.height_7').boundingClientRect(rect=>{
      let height7 = rect.height;
      this.setData({height7:height7})
    }).exec();

    let query8 = wx.createSelectorQuery();
      query8.select('.height_8').boundingClientRect(rect=>{
      let height8 = rect.height;
      this.setData({height8:height8})
    }).exec();

    let query9 = wx.createSelectorQuery();
      query9.select('.height_9').boundingClientRect(rect=>{
      let height9 = rect.height;
      this.setData({height9:height9})
    }).exec();

     //加载蒙版
    this.onClickShow();
    this.setData({aqi:value_5});
    var aqi = this.data.aqi;
    var percentage = aqi / 500 * 58 + 16;
    if(aqi >=500){
      this.setData({marginLeft:"74%"})
    }else{
      this.setData({marginLeft:percentage+"%"})
    }
    //根据id获取组件
    this.zeroComponent = this.selectComponent('#mychart-zero');  
    this.oneComponent = this.selectComponent('#mychart-one');  
    this.twoComponent = this.selectComponent('#mychart-two');  
    this.threeComponent = this.selectComponent('#mychart-three');  
    this.fourComponent = this.selectComponent('#mychart-four');  
    this.fiveComponent = this.selectComponent('#mychart-five'); 
    this.sexComponent = this.selectComponent('#mychart-sex');   
    var that = this;
      //获取缓存数据
      wx.getStorage({
        key: 'userinfo',
        success:function(res){
          that.setData({
            loginName:res.data.loginName,
            userName:res.data.userName,
            projectName: app.globalData.projectName,
            projectId:app.globalData.projectId,
            initData:{text:app.globalData.projectName,id:app.globalData.projectId}
          })  
        }
      })
    this.getEarlyWarningData(app.globalData.projectId);
  },

   // 底部导航
   onChange(event) {
    // event.detail 的值为当前选中项的索引
    this.setData({ active: event.detail });
  },

  //获取页面初始化预警信息
  getEarlyWarningData:function(even){
    var that =this;
    wx.request({
      url: app.globalData.reqUrl+'/wechat/project/getProjectFoundation',
      data:{
          "id":even
      },
      method:"GET",
      success:function(res){
          //查询出机械预警信息
          wx.request({
            url: app.globalData.reqUrl+'/weixin/machicnery/selectMachineryEnviron',
            data:{
              "state":"1",
              "projectId":even
            },
            method:"GET",
            success:function(jxyj){
                that.setData({
                  machineEnvironCountDay:jxyj.data.dayCount,
                  machineEnvironCountmonth:jxyj.data.monthCount,
                })
                if(jxyj.data.list == ''){
                  that.init_sex([{"value":'0',"name":''}]);
                }else{
                  that.init_sex(jxyj.data.list);
                }                
            }
          })

          //查询出环境预警数据
          wx.request({
            url: app.globalData.reqUrl+'/weixin/applets/selectEarlyWarning',
            method:"GET",
            data:{
                projectId:even,
            },
            success:function(hjyj){
                that.setData({
                    dayEarlyNum:hjyj.data.dayCount,
                    monthEarlyNum:hjyj.data.monthCount,
                    yangchenCount:hjyj.data.yangchenCount,
                    monthCount:hjyj.data.monthCount
                })                 
            }
          })

          //查询实时环境数据
          wx.request({
            url: app.globalData.reqUrl+'/weixin/applets/selectEnvironmental',
            method:"GET",
            data:{
                projectId:even
            },
            success:function(envirData){
                that.setData({
                  PM25:envirData.data.PM25,
                  PM10:envirData.data.PM10,
                  DB:envirData.data.DB,
                  WindSpeed:envirData.data.WindSpeed,
                  WindDirection:envirData.data.WindDirection,
                  Temperature:envirData.data.Temperature,
                  Humidity:envirData.data.Humidity
                })
                that.init_five(envirData.data.PM25);
            }
          })

          //查询环境预警饼图数据
          wx.request({
            url: app.globalData.reqUrl+'/weixin/applets/selectEarlyWarningByMonth',
            method:"GET",
            data:{
              projectId:even
            },
            success:function(datalist){
              let envirMonthEarlyNum = 0;
              for(let i = 0;i<datalist.data.length;i++){
                envirMonthEarlyNum+=datalist.data[i].value
              }
              that.setData({
                envirMonthEarlyNum:envirMonthEarlyNum
              })
              if(datalist.data == ''){
                that.init_three([{"name":'',"value":'0'}]);
              }else{
                that.init_three(datalist.data,datalist.data);
              }   
            }
          })

          //视频离线数饼图日
          wx.request({
            url: app.globalData.reqUrl+'/weixin/video/getDayOutline',
            method:'GET',
            data:{
              "projectId":even,
              "type":"1"
            },
            success:function(resulatData) {
              if(resulatData.data.list == ''){
                that.init_four([{"name":'',"value":'0'}]);  
              }else{
                that.init_four(resulatData.data.list);
              }
              
              that.setData({
                  videoDay:resulatData.data.dayCount,
                  videoMonth:resulatData.data.monthCount
              })
            }
          })
          
          //查询出人员安全帽预警
          wx.request({
            url: app.globalData.reqUrl+'/weixin/userinfo/selectUserEnviron',
            data:{
              "projectId":even,
              "type":"1"
            },
            method:"GET",
            success:function(ryyj){
               //关闭蒙版
              that.onClickHide();
              that.setData({
                userEnvironCountDay:ryyj.data.dayCount,
                userEnvironCountMonyh:ryyj.data.monthCount
              })
              if(ryyj.data.list == ''){
                that.init_one([{"name":'',"value":'0'}]);
              }else{
                that.init_one(ryyj.data.list);
              }  
            }
          })  
      }    
    }),

    //查询出当天预警信息数据
    wx.request({
      url: app.globalData.reqUrl+'/weixin/applets/selectEnvironDayAndMonth',
      data:{
        "projectId":even,
        "dataNum":'3'
      },
      method:"GET",
      success:function(res){
        that.setData({
          enviorDayData:res.data
        })
      }
    }),

    //查询出预警状态饼图数据
    wx.request({
      url: app.globalData.reqUrl+'/weixin/applets/selectEnvironPieData',
      data:{
        "projectId":even,
        "state":'1'
      },
      method:"GET",
      success:function(res){
        that.setData({
          dayCountNum:res.data.dayCount,
          monthCountNum:res.data.monthCount
        })
        if(res.data.dayList == ''){
          that.init_zero([{"name":'',"value":'0'}]);    
        }else{
          that.init_zero(res.data.dayList,res.data.dayList);    
        } 
      }
    })
    
  },

  //预警状态本日预警
  CheckdDayEnviron:function(even){
    this.onClickShow();
      var that = this;
      wx.request({
        url: app.globalData.reqUrl+'/weixin/applets/selectEnvironPieData',
        data:{
          "projectId":even.currentTarget.dataset.projectid,
          "state":'1'
        },
        method:"GET",
        success:function(res){
          that.onClickHide();
          that.setData({
            dayCountNum:res.data.dayCount,
            monthCountNum:res.data.monthCount
          })
          if(res.data.dayList == ''){
            that.init_zero([{"name":'',"value":'0'}]);    
          }else{
            that.init_zero(res.data.dayList,res.data.dayList);    
          } 
        }
      })
  },

   //预警状态本月预警
   CheckdMonthEnviron:function(even){
    this.onClickShow();
    var that = this;
    wx.request({
      url: app.globalData.reqUrl+'/weixin/applets/selectEnvironPieData',
      data:{
        "projectId":even.currentTarget.dataset.projectid,
        "state":'2'
      },
      method:"GET",
      success:function(res){
        that.onClickHide();
        that.setData({
          dayCountNum:res.data.dayCount,
          monthCountNum:res.data.monthCount
        })
        if(res.data.monthList == ''){
          that.init_zero([{"name":'',"value":'0'}]);    
        }else{
          that.init_zero(res.data.monthList,res.data.monthList);    
        } 
      }
    })
},

  //机械预警当天与当月切换
  chechMachine:function(even){
    this.onClickShow();
    var that = this;
    wx.request({
      url: app.globalData.reqUrl+'/weixin/machicnery/selectMachineryEnviron',
      data:{
        "state":even.currentTarget.dataset.state,
        "projectId":even.currentTarget.dataset.projectid,
      },
      method:"GET",
      success:function(jxyj){
        that.onClickHide();
          that.setData({
            machineEnvironCountDay:jxyj.data.dayCount,
            machineEnvironCountmonth:jxyj.data.monthCount,
          })
          if(jxyj.data.list == ''){
            that.init_sex([{"name":'',"value":'0'}]);
          }else{
            that.init_sex(jxyj.data.list);
          }
      }
    })
  },

  //人员预警本月本日切换
  checkUserEnivr:function(even){
    this.onClickShow();
    var that = this;
    wx.request({
      url: app.globalData.reqUrl+'/weixin/userinfo/selectUserEnviron',
      data:{
        "projectId":even.currentTarget.dataset.projectid,
        "type":even.currentTarget.dataset.type
      },
      method:"GET",
      success:function(ryyj){
        that.onClickHide();
        that.setData({
          userEnvironCountDay:ryyj.data.dayCount,
          userEnvironCountMonyh:ryyj.data.monthCount
        })
        if(ryyj.data.list == ''){
          that.init_one([{"name":'',"value":'0'}]);
        }else{
          that.init_one(ryyj.data.list);
        }
      }
    })
  },

  //视频预警切换
  chechVideo:function(even){
    var that =this;
    wx.request({
      url: app.globalData.reqUrl+'/weixin/video/getDayOutline',
      method:'GET',
      data:{
        "projectId":even.currentTarget.dataset.projectid,
        "type":even.currentTarget.dataset.type
      },
      success:function(resulatData) {
        if(resulatData.data.list == ''){
          that.init_four([{"name":'',"value":'0'}]);
        }else{
          that.init_four(resulatData.data.list);
        } 
        that.setData({
            videoDay:resulatData.data.dayCount,
            videoMonth:resulatData.data.monthCount
        })
      }
    })
  },

  //跳转到预警详情页面
  YJXQ:function(even){
    wx.navigateTo({
      url: '../yujingxinxi/yujingxinxi'
    })
  },

  //退出登录
  TCDL:function(){
    wx.clearStorageSync();
    wx.setStorageSync('isReload', "1")
    wx.redirectTo({
      url:'../login/login',
    })
  },

  //返回到更多功能
  goGCLB:function(){
    wx.redirectTo({
      url:'../../pages/gengduogongneng/gengduogongneng'
  })
}
})