info.js 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. const app = getApp()
  2. import WxValidate from '../../../utils/wxValidate'
  3. Page({
  4. data: {
  5. frameStyle: { useTop: true, name: '个人档案', leftArrow: true, useBar: false },
  6. form: { icon: [] },
  7. // 性别
  8. genderList: [],
  9. // 等级列表
  10. levelList: [],
  11. },
  12. initValidate() {
  13. const rules = { icon: { required: true }, name: { required: true }, gender: { required: true }, age: { required: true }, phone: { required: true, tel: true } }
  14. // 验证字段的提示信息,若不传则调用默认的信息
  15. const messages = { icon: { required: '请选择头像', }, name: { required: '请输入用户姓名', }, gender: { required: '请选择性别', }, age: { required: '请输入年龄', }, phone: { required: '请输入联系电话', } };
  16. this.WxValidate = new WxValidate(rules, messages)
  17. },
  18. // 返回
  19. back(e) {
  20. wx.navigateBack({ delta: 1 })
  21. },
  22. imgUpl: function (e) {
  23. const that = this;
  24. let data = that.data.form.icon;
  25. data.push(e.detail)
  26. that.setData({ 'form.icon': data })
  27. },
  28. // 删除图片
  29. imgDel: function (e) {
  30. const that = this;
  31. let list = that.data.form.icon;
  32. let arr = list.filter((i, index) => index != e.detail.index)
  33. that.setData({ 'form.icon': arr })
  34. },
  35. // 选择性别
  36. genderChange: function (e) {
  37. const that = this;
  38. let data = that.data.genderList[e.detail.value];
  39. if (data) {
  40. that.setData({ 'form.gender': data.value });
  41. that.setData({ 'form.zhGender': data.label });
  42. }
  43. },
  44. //选择等级
  45. coachChange: function (e) {
  46. const that = this;
  47. let data = that.data.levelList[e.detail.value];
  48. if (data) {
  49. that.setData({ 'form.level': data.value });
  50. that.setData({ 'form.zhLevel': data.label });
  51. }
  52. },
  53. // 提交保运
  54. onSubmit: async function (e) {
  55. const that = this;
  56. const params = e.detail.value;
  57. const form = that.data.form;
  58. params.icon = form.icon;
  59. if (!this.WxValidate.checkForm(params)) {
  60. const error = this.WxValidate.errorList[0];
  61. wx.showToast({ title: `${error.msg}`, icon: 'error', duration: 2000 })
  62. return false
  63. } else {
  64. let arr = await app.$post(`/coach/${params._id}`, params);
  65. if (arr.errcode == '0') {
  66. wx.showToast({ title: `维护信息完成`, icon: 'success', duration: 2000 });
  67. that.back()
  68. }
  69. else wx.showToast({ title: `${arr.errmsg}`, icon: 'error', duration: 2000 })
  70. }
  71. },
  72. /**
  73. * 生命周期函数--监听页面加载
  74. */
  75. onLoad: async function (options) {
  76. const that = this;
  77. //验证规则函数
  78. that.initValidate();
  79. // 查询其他信息
  80. await that.searchOther();
  81. // 监听用户是否登录
  82. await that.watchLogin();
  83. },
  84. // 查询其他信息
  85. searchOther: async function () {
  86. const that = this;
  87. let arr;
  88. // 等级
  89. arr = await app.$get(`/dict`, { code: "coach_grade" });
  90. if (arr.errcode == '0' && arr.total > 0) that.setData({ levelList: arr.data[0].list });
  91. // 性别
  92. arr = await app.$get(`/dict`, { code: "gender" });
  93. if (arr.errcode == '0' && arr.total > 0) that.setData({ genderList: arr.data[0].list });
  94. },
  95. // 监听用户是否登录
  96. watchLogin: async function () {
  97. const that = this;
  98. let levelList = that.data.levelList;
  99. let genderList = that.data.genderList;
  100. wx.getStorage({
  101. key: 'user',
  102. success: async res => {
  103. const arr = await app.$get(`/coach/${res.data?.info?._id}`);
  104. if (arr.errcode == '0') {
  105. // 等级
  106. let grade = levelList.find(i => i.value == arr.data.level);
  107. if (grade) arr.data.zhLevel = grade.label;
  108. // 性别
  109. let gender = genderList.find(i => i.value == arr.data.gender);
  110. if (gender) arr.data.zhGender = gender.label;
  111. that.setData({ form: arr.data })
  112. }
  113. },
  114. fail: async res => {
  115. wx.redirectTo({ url: '/pages/index/index' })
  116. }
  117. })
  118. },
  119. /**
  120. * 生命周期函数--监听页面初次渲染完成
  121. */
  122. onReady: function () { },
  123. /**
  124. * 生命周期函数--监听页面显示
  125. */
  126. onShow: function () {
  127. },
  128. /**
  129. * 页面上拉触底事件的处理函数
  130. */
  131. /**
  132. * 生命周期函数--监听页面隐藏
  133. */
  134. onHide: function () {
  135. },
  136. /**
  137. * 生命周期函数--监听页面卸载
  138. */
  139. onUnload: function () {
  140. },
  141. /**
  142. * 页面相关事件处理函数--监听用户下拉动作
  143. */
  144. onPullDownRefresh: function () {
  145. },
  146. /**
  147. * 用户点击右上角分享
  148. */
  149. onShareAppMessage: function () {
  150. }
  151. })