// pages/reportDetail/reportDetail.js import { getReport, getReportUserInfo } from '../../api/my' Page({ /** * 页面的初始数据 */ data: { reportid: '', name: '评估说明', // 默认展示: 评估说明 小结 ReportTotal, 系统:用具体的中文名称 systemName: ['评估说明','检测小结','循环系统', '呼吸系统', '消化系统','泌尿与生殖系统', '血液系统', '内分泌系统', '营养与代谢', '神经系统', '免疫系统', '运动系统', '感官系统', '理化因素', '情绪表格'], 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 == '情绪表格') { console.log(that.data.name == '情绪表格'); that.setData({ summaryList: res.data || [] }) console.log(that.data.summaryList); } 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 }) }, /** * 用户点击左侧系统分类 */ async handleSwitchNav(e) { var that = this var navIndex = e.currentTarget.dataset.index var navName = that.data.systemName[navIndex] if (navIndex == 0) { that.setData({ name: navName }) } else { if (navIndex == 1) { that.setData({ name: 'ReportTotal' }) } else { that.setData({ name: navName == '情绪表格' ? '精神及心理' : navName }) } await that.getReportFn() } that.setData({ leftNavActive: navIndex }) } })