reportDetail.js 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. // pages/reportDetail/reportDetail.js
  2. import { getReport, getReportUserInfo } from '../../api/my'
  3. Page({
  4. /**
  5. * 页面的初始数据
  6. */
  7. data: {
  8. reportid: '',
  9. name: '评估说明', // 默认展示: 评估说明 小结 ReportTotal, 系统:用具体的中文名称
  10. systemName: ['评估说明','检测小结','循环系统', '呼吸系统', '消化系统','泌尿系统', '血液系统', '内分泌系统', '营养与代谢', '神经系统', '免疫系统', '运动系统', '感官系统', '理化因素', '情绪压力'],
  11. leftNavActive: 0, // 0 小结 1 系统
  12. summaryList: [],
  13. systemList: [],
  14. realName: '',
  15. addTime: ''
  16. },
  17. /**
  18. * 生命周期函数--监听页面加载
  19. */
  20. onLoad(options) {
  21. this.setData({
  22. reportId: options.reportid
  23. })
  24. this.getReportUserInfoFn(options.reportid)
  25. },
  26. // 获取当前报告人的信息
  27. getReportUserInfoFn (reportid) {
  28. var that = this
  29. getReportUserInfo({
  30. reportId: reportid
  31. }).then(res => {
  32. that.setData({
  33. addTime: res.data.addTime,
  34. realName: res.data.realName
  35. })
  36. })
  37. },
  38. // 获取具体的报告信息
  39. getReportFn () {
  40. var that = this
  41. var data = {
  42. reportId: this.data.reportId,
  43. name: this.data.name
  44. }
  45. wx.showLoading({
  46. title: '加载中...',
  47. mask: true
  48. })
  49. getReport(data).then(res => {
  50. wx.hideLoading()
  51. console.log(that.data.name);
  52. if (that.data.name == 'ReportTotal' || that.data.name == '精神及心理') {
  53. that.setData({
  54. summaryList: res.data || []
  55. })
  56. console.log(that.data.summaryList);
  57. } else {
  58. that.handleRespose(res.data)
  59. }
  60. }).catch(e => {
  61. wx.hideLoading()
  62. wx.showModal({
  63. content: e,
  64. confirmColor: '#333',
  65. showCancel: false
  66. })
  67. })
  68. },
  69. // 处理系统返回的数据
  70. handleRespose (response) {
  71. var outKey = Object.keys(response)
  72. var result = []
  73. for (var index = 0; index < outKey.length; index++) {
  74. const element = outKey[index];
  75. const innetList = Object.keys(response[element])
  76. var tempArr = []
  77. for (var i = 0; i < innetList.length; i++) {
  78. const innerElement = innetList[i];
  79. tempArr.push({
  80. fatherName: element,
  81. name: innerElement,
  82. value: response[element][innerElement]
  83. })
  84. }
  85. result.push(
  86. {
  87. name: element,
  88. childNode: tempArr
  89. }
  90. )
  91. }
  92. this.handleSortFn(result)
  93. },
  94. // 排序函数
  95. handleSortFn (result) {
  96. var handleResult = [...result]
  97. for (var index = 0; index < handleResult.length; index++) {
  98. const element = handleResult[index];
  99. hanldSort(element.childNode)
  100. }
  101. function hanldSort (childNode) {
  102. childNode.sort(function(a,b){
  103. return b.value - a.value
  104. })
  105. }
  106. this.setData({
  107. systemList: handleResult
  108. })
  109. },
  110. /**
  111. * 用户点击左侧系统分类
  112. */
  113. async handleSwitchNav(e) {
  114. var that = this
  115. var navIndex = e.currentTarget.dataset.index
  116. var navName = that.data.systemName[navIndex]
  117. if (navIndex == 0) {
  118. that.setData({
  119. name: navName
  120. })
  121. } else {
  122. if (navIndex == 1) {
  123. that.setData({
  124. name: 'ReportTotal'
  125. })
  126. } else {
  127. if (navName == '情绪压力') {
  128. navName = '精神及心理'
  129. }
  130. if (navName == '泌尿系统') {
  131. navName = '泌尿与生殖系统'
  132. }
  133. that.setData({
  134. name: navName
  135. })
  136. }
  137. await that.getReportFn()
  138. }
  139. that.setData({
  140. leftNavActive: navIndex
  141. })
  142. }
  143. })