// pages/wangdian/wangdian.js
var t = require("../../utils/login.js");

Page({

  /**
   * 页面的初始数据
   */
  data: {
    banner: [],
    info: {},
    jiqilist: [],
    number: '',
    machineCount: 0,
    freeMachineCount: 0,
    timer: null,
  },

  onLoad(options) {

    // 如果没有wx.getStorageSync('latitude') 或者 wx.getStorageSync('longitude') 则获取当前位置
    if (!wx.getStorageSync('latitude') || !wx.getStorageSync('longitude')) {
      wx.getLocation({
        type: 'wgs84',
        success: (res) => {
          wx.setStorageSync('latitude', res.latitude);
          wx.setStorageSync('longitude', res.longitude);
          this.getBranchDetail();
        }
      });
    }

    this.setData({
      number: options.number || ''
    });
    this.getBranchDetail();
    this.getMachineList();
    // 设置定时器,每10秒刷新一次机器状态
    this.data.timer = setInterval(() => {
      this.getMachineList();
    }, 10000);
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

    // 页面卸载时清除定时器
    if (this.data.timer) {
      clearInterval(this.data.timer);
      this.data.timer = null;
    }
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {
    // 页面卸载时清除定时器
    if (this.data.timer) {
      clearInterval(this.data.timer);
      this.data.timer = null;
    }
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },
  // 获取网点详情信息
  getBranchDetail() {
    t.request('/miniprogram/branch/detail', {
      number: this.data.number,
      latitude: wx.getStorageSync('latitude'),
      longitude: wx.getStorageSync('longitude'),
      method: 'GET',
    }, !0).then((res) => {
      if (res.code == 200) {
        this.setData({
          banner: res.data.banner || [],
          info: res.data.info || {},
        });
      }
    })
  },

  // 获取机器列表
  getMachineList() {

    t.request('/miniprogram/branch/machine', {
      number: this.data.number,
    }).then((res) => {
      if (res.code == 200) {
        this.setData({
          jiqilist: res.data || [],
        });
        // 计算机器数量, 与空闲机器数量 free machine
        let machineCount = this.data.jiqilist.length;
        let freeMachineCount = 0;
        for (let i = 0; i < this.data.jiqilist.length; i++) {
          if (this.data.jiqilist[i].devicestatus == 0) {
            freeMachineCount++;
          }
        }
        // 更新数据
        this.setData({
          machineCount,
          freeMachineCount
        });
      }
    })
  },

  // 打开地图导航
  openLocation() {
    if (this.data.info.latitude && this.data.info.longitude) {
      wx.openLocation({
        latitude: Number(this.data.info.latitude),
        longitude: Number(this.data.info.longitude),
        name: this.data.info.name,
        address: this.data.info.address,
        scale: 18
      })
    } else {
      wx.showToast({
        title: '暂无位置信息',
        icon: 'none'
      })
    }
  },
})