index.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. // pages/index/index.js
  2. import { homePage } from '../../api/index'
  3. import { userEntityRecharge } from '../../api/charge'
  4. import { createQRcode } from "../../api/document";
  5. const app = getApp()
  6. Page({
  7. /**
  8. * 页面的初始数据
  9. */
  10. data: {
  11. locationStr: '定位地址…',
  12. useNumber: 0, // 剩余预约次数
  13. documentVos: [], // 档案信息
  14. cardNo: '',
  15. cardSecret: '',
  16. scanTimer: null,
  17. baseStr: 'data:image/jpg;base64,',
  18. QRCodeBase64: '',
  19. qrcodeDialog: false
  20. },
  21. onShow () {
  22. if (app.globalData.userInfo.login) {
  23. this.initIndexData()
  24. } else {
  25. wx.reLaunch({
  26. url: '/pages/my/my'
  27. })
  28. }
  29. },
  30. onPullDownRefresh () {
  31. wx.vibrateShort({
  32. type: 'medium'
  33. })
  34. this.initIndexData(true)
  35. },
  36. onShareAppMessage () {
  37. return {
  38. title: 'ITTHealth',
  39. path: '/pages/index/index'
  40. }
  41. },
  42. // 获取首页信息
  43. initIndexData (pullDownRefresh = false) {
  44. var that = this
  45. wx.showLoading({
  46. title: '加载中...',
  47. mask: true
  48. })
  49. homePage({}).then(hoemRes => {
  50. wx.hideLoading()
  51. if (pullDownRefresh) {
  52. wx.stopPullDownRefresh()
  53. }
  54. var response = hoemRes.data.documentVos || []
  55. response.map(item => {
  56. item.birthDay = item.birthday.split(' ')[0]
  57. })
  58. that.setData({
  59. useNumber: hoemRes.data.useNumber,
  60. documentVos: response
  61. })
  62. }).catch(e => {
  63. wx.hideLoading()
  64. wx.showModal({
  65. content: e,
  66. confirmColor: '#333',
  67. showCancel: false
  68. })
  69. })
  70. },
  71. // 打开地图选择位置。
  72. openMap () {
  73. wx.chooseLocation()
  74. },
  75. /**
  76. * 处理套餐 购买 or 预约
  77. * useNumber: 0-购买 1-预约
  78. * **/
  79. handlePackage () {
  80. var type = this.data.useNumber > 0 ? 1 : 0
  81. switch (type) {
  82. case 0:
  83. wx.navigateTo({
  84. url: '/pages/buy/buy',
  85. })
  86. break;
  87. case 1:
  88. wx.navigateTo({
  89. url: '/pages/appointment/appointment',
  90. })
  91. break;
  92. }
  93. },
  94. // 点击全部档案
  95. handleAllFile () {
  96. wx.navigateTo({
  97. url: '/pages/myFile/myFile',
  98. })
  99. },
  100. // 添加检测人
  101. handleAddCheck () {
  102. wx.navigateTo({
  103. url: '/pages/createFile/createFile?form=index',
  104. })
  105. },
  106. /* 车子的图片 做跳转交互,跳转做判断,0次则跳出去充值弹框,充值弹窗有两个选择 :若激活卡,则跳转至实体卡兑换页面;若充值,则跳转至体验卡购买页面 */
  107. handlActions () {
  108. if (this.data.useNumber == 0) {
  109. wx.showModal({
  110. title: '去充值',
  111. cancelColor: '#666',
  112. cancelText: '激活卡',
  113. confirmText: '去充值',
  114. confirmColor: '#333',
  115. success (res) {
  116. if (res.confirm) {
  117. wx.navigateTo({
  118. url: '/pages/buy/buy?form=index',
  119. })
  120. } else if (res.cancel) {
  121. wx.navigateTo({
  122. url: '/pages/exchange/exchange',
  123. })
  124. }
  125. }
  126. })
  127. } else {
  128. wx.navigateTo({
  129. url: '/pages/appointment/appointment'
  130. })
  131. }
  132. },
  133. handleShowQRCode (e) {
  134. var that = this
  135. var id = e.currentTarget.dataset.id
  136. wx.showLoading({
  137. title: '生成中...'
  138. })
  139. createQRcode({ documentId: id }).then(res => {
  140. wx.hideLoading()
  141. that.setData({
  142. QRCodeBase64: that.data.baseStr + res.data,
  143. qrcodeDialog: true
  144. })
  145. }).catch(e => {
  146. wx.hideLoading()
  147. wx.showModal({
  148. content: e,
  149. confirmColor: '#333',
  150. showCancel: false
  151. })
  152. })
  153. },
  154. handleCloseQRCode (e) {
  155. this.setData({
  156. qrcodeDialog: false,
  157. QRCodeBase64: ''
  158. })
  159. }
  160. })