// pages/reportDetail/reportDetail.js
import { getReport, getReportUserInfo } from '../../api/my'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    reportid: '',
    name: '评估说明', // 默认展示: 评估说明 小结 ReportTotal, 系统:用具体的中文名称
    systemNameList: [
      {
        index: 0,
        viewName: '评估说明',
        reqName: '评估说明'
      },
      {
        index: 1,
        viewName: '检测小结',
        reqName: 'ReportTotal'
      },
      {
        index: 2,
        viewName: '循环系统',
        reqName: '循环系统'
      },
      {
        index: 3,
        viewName: '呼吸系统',
        reqName: '呼吸系统'
      },
      {
        index: 4,
        viewName: '消化系统',
        reqName: '消化系统'
      },
      {
        index: 5,
        viewName: '泌尿系统',
        reqName: '泌尿与生殖系统'
      },
      {
        index: 6,
        viewName: '血液系统',
        reqName: '血液系统'
      },
      {
        index: 7,
        viewName: '内分泌系统',
        reqName: '内分泌系统'
      },
      {
        index: 8,
        viewName: '营养代谢',
        reqName: '营养与代谢'
      },
      {
        index: 9,
        viewName: '神经系统',
        reqName: '神经系统'
      },
      {
        index: 10,
        viewName: '免疫系统',
        reqName: '免疫系统'
      },
      {
        index: 11,
        viewName: '运动系统',
        reqName: '运动系统'
      },
      {
        index: 12,
        viewName: '感官系统',
        reqName: '感官系统'
      },
      {
        index: 13,
        viewName: '理化因素',
        reqName: '理化因素'
      },
      {
        index: 14,
        viewName: '情绪压力',
        reqName: '精神及心理'
      }
    ],
    leftNavActive: 0, // 0 小结 1 系统
    summaryList: [],
    systemList: [],
    realName: '',
    addTime: ''
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.setData({
      reportId: options.reportid
    })
    this.getReportUserInfoFn(options.reportid)
  },

  // 获取当前报告人的信息
  getReportUserInfoFn (reportid) {
    var that = this
    getReportUserInfo({
      reportId: reportid
    }).then(res => {
      that.setData({
        addTime: res.data.addTime,
        realName: res.data.realName
      })
    })
  },

  // 获取具体的报告信息
  getReportFn () {
    var that = this
    var data = {
      reportId: this.data.reportId,
      name: this.data.name
    }
    wx.showLoading({
      title: '加载中...',
      mask: true
    })
    getReport(data).then(res => {
      wx.hideLoading()
      if (that.data.name == 'ReportTotal' || that.data.name == '精神及心理') {
        that.setData({
          summaryList: res.data || []
        })
      } else {
        that.handleRespose(res.data)
      }
    }).catch(e => {
      wx.hideLoading()
      wx.showModal({
        content: e,
        confirmColor: '#333',
        showCancel: false
      })
    })
  },

  // 处理系统返回的数据
  handleRespose (response) {
    var outKey = Object.keys(response)
    var result = []
    for (var index = 0; index < outKey.length; index++) {
      const element = outKey[index];
      const innetList = Object.keys(response[element])
      var tempArr = []
      for (var i = 0; i < innetList.length; i++) {
        const innerElement = innetList[i];
        tempArr.push({
          fatherName: element,
          name: innerElement,
          value: response[element][innerElement]
        })
      }
      result.push(
        {
          name: element,
          childNode: tempArr
        }
      )
    }
    this.handleSortFn(result)
  },

  // 排序函数
  handleSortFn (result) {
    var handleResult = [...result]
    for (var index = 0; index < handleResult.length; index++) {
      const element = handleResult[index];
      hanldSort(element.childNode)
    }
    function hanldSort (childNode) {
      childNode.sort(function(a,b){
        return b.value - a.value
      })
    }
    this.setData({
      systemList: handleResult
    })
  },

  /**
   * 用户点击左侧系统分类
   */
  handleSwitchNav(e) {
    var navIndex = e.currentTarget.dataset.index
    var reqName = e.currentTarget.dataset.reqname
    this.setData({
      name: reqName,
      leftNavActive: navIndex
    })
    this.getReportFn()
  }
})