index.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. // pages/index/index.js
  2. import { homePage } from '../../api/index'
  3. import { userEntityRecharge } from '../../api/charge'
  4. Page({
  5. /**
  6. * 页面的初始数据
  7. */
  8. data: {
  9. locationStr: '定位地址…',
  10. useNumber: 0, // 剩余预约次数
  11. documentVos: [], // 档案信息
  12. cardNo: '',
  13. cardSecret: '',
  14. scanTimer: null,
  15. scanOverShow: false,
  16. scanResMsg: '',
  17. scanSuccess: true
  18. },
  19. /**
  20. * 生命周期函数--监听页面显示
  21. */
  22. onLoad() {
  23. this.initIndexData()
  24. },
  25. onPullDownRefresh () {
  26. wx.vibrateShort({
  27. type: 'medium'
  28. })
  29. this.initIndexData(true)
  30. },
  31. // 获取首页信息
  32. initIndexData (pullDownRefresh = false) {
  33. wx.showLoading({
  34. title: '加载中...',
  35. mask: true
  36. })
  37. homePage({}).then(hoemRes => {
  38. wx.hideLoading()
  39. if (pullDownRefresh) {
  40. wx.stopPullDownRefresh()
  41. }
  42. var response = hoemRes.data.documentVos
  43. response.map(item => {
  44. item.birthDay = item.birthday.split(' ')[0]
  45. })
  46. this.setData({
  47. useNumber: hoemRes.data.useNumber,
  48. documentVos: response
  49. })
  50. }).catch(e => {
  51. wx.hideLoading()
  52. wx.showModal({
  53. content: e,
  54. confirmColor: '#333',
  55. showCancel: false
  56. })
  57. })
  58. },
  59. // 打开地图选择位置。
  60. openMap () {
  61. wx.chooseLocation()
  62. },
  63. /**
  64. * 处理套餐 购买 or 预约
  65. * useNumber: 0-购买 1-预约
  66. * **/
  67. handlePackage () {
  68. var type = this.data.useNumber > 0 ? 1 : 0
  69. switch (type) {
  70. case 0:
  71. wx.navigateTo({
  72. url: '/pages/buy/buy',
  73. })
  74. break;
  75. case 1:
  76. wx.navigateTo({
  77. url: '/pages/appointment/appointment',
  78. })
  79. break;
  80. }
  81. },
  82. // 点击全部档案
  83. handleAllFile () {
  84. wx.navigateTo({
  85. url: '/pages/allFile/allFile',
  86. })
  87. },
  88. // 添加检测人
  89. handleAddCheck () {
  90. wx.navigateTo({
  91. url: '/pages/createFile/createFile?form=index',
  92. })
  93. },
  94. handleScanCode () {
  95. var that = this
  96. wx.scanCode({
  97. onlyFromCamera: true,
  98. scanType: ['barCode','qrCode'],
  99. success (res) {
  100. wx.vibrateShort({
  101. type: 'medium',
  102. })
  103. var response = res.result
  104. if (response.indexOf('|') !== -1) {
  105. var code = response.split('|')[0]
  106. var password = response.split('|')[1]
  107. that.setData({
  108. cardNo: code,
  109. cardSecret: password
  110. })
  111. var scantime = setTimeout(() => {
  112. that.userEntityRechargeFn()
  113. }, 500);
  114. that.setData({
  115. scanTimer: scantime
  116. })
  117. } else {
  118. wx.showModal({
  119. content: '请扫描正确的二维码',
  120. confirmColor: '#333',
  121. showCancel: false
  122. })
  123. }
  124. }
  125. })
  126. },
  127. // 重新扫描
  128. handleRescan () {
  129. this.setData({
  130. scanOverShow: false,
  131. scanResMsg: '',
  132. scanSuccess: true
  133. })
  134. this.handleScanCode()
  135. },
  136. // 实体卡充值
  137. userEntityRechargeFn () {
  138. var that = this
  139. clearTimeout(that.data.scanTimer)
  140. wx.showLoading({
  141. title: '充值中...',
  142. mask: true
  143. })
  144. var data = {
  145. cardNo: that.data.cardNo,
  146. cardSecret: that.data.cardSecret
  147. }
  148. userEntityRecharge(data).then(res => {
  149. wx.hideLoading()
  150. console.log(res);
  151. this.setData({
  152. scanOverShow: true,
  153. scanResMsg: res.msg,
  154. scanSuccess: true
  155. })
  156. }).catch(e => {
  157. wx.hideLoading()
  158. this.setData({
  159. scanOverShow: true,
  160. scanResMsg: e,
  161. scanSuccess: false
  162. })
  163. })
  164. },
  165. onClickHide () {
  166. this.setData({
  167. scanOverShow: false
  168. })
  169. },
  170. noop () {},
  171. // 去预约
  172. handleAppointment () {
  173. wx.navigateTo({
  174. url: '/pages/appointment/appointment?form=index',
  175. })
  176. }
  177. })