|
@@ -1,38 +1,134 @@
|
|
|
-const app = getApp();
|
|
|
+const app = getApp()
|
|
|
+import WxValidate from '../../../utils/wxValidate'
|
|
|
Page({
|
|
|
- /**
|
|
|
- * 页面的初始数据
|
|
|
- */
|
|
|
data: {
|
|
|
frameStyle: { useTop: true, name: '个人档案', leftArrow: true, useBar: false },
|
|
|
+ form: { icon: [] },
|
|
|
+ // 性别
|
|
|
+ genderList: [],
|
|
|
+ // 等级列表
|
|
|
+ levelList: [],
|
|
|
+ },
|
|
|
+ initValidate() {
|
|
|
+ const rules = { icon: { required: true }, name: { required: true }, gender: { required: true }, age: { required: true }, phone: { required: true, tel: true } }
|
|
|
+ // 验证字段的提示信息,若不传则调用默认的信息
|
|
|
+ const messages = { icon: { required: '请选择头像', }, name: { required: '请输入用户姓名', }, gender: { required: '请选择性别', }, age: { required: '请输入年龄', }, phone: { required: '请输入联系电话', } };
|
|
|
+ this.WxValidate = new WxValidate(rules, messages)
|
|
|
},
|
|
|
- // 跳转菜单
|
|
|
+ // 返回
|
|
|
back(e) {
|
|
|
wx.navigateBack({ delta: 1 })
|
|
|
},
|
|
|
-
|
|
|
+ imgUpl: function (e) {
|
|
|
+ const that = this;
|
|
|
+ let data = that.data.form.icon;
|
|
|
+ data.push(e.detail)
|
|
|
+ that.setData({ 'form.icon': data })
|
|
|
+ },
|
|
|
+ // 删除图片
|
|
|
+ imgDel: function (e) {
|
|
|
+ const that = this;
|
|
|
+ let list = that.data.form.icon;
|
|
|
+ let arr = list.filter((i, index) => index != e.detail.index)
|
|
|
+ that.setData({ 'form.icon': arr })
|
|
|
+ },
|
|
|
+ // 选择性别
|
|
|
+ genderChange: function (e) {
|
|
|
+ const that = this;
|
|
|
+ let data = that.data.genderList[e.detail.value];
|
|
|
+ if (data) {
|
|
|
+ that.setData({ 'form.gender': data.value });
|
|
|
+ that.setData({ 'form.zhGender': data.label });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //选择等级
|
|
|
+ coachChange: function (e) {
|
|
|
+ const that = this;
|
|
|
+ let data = that.data.levelList[e.detail.value];
|
|
|
+ if (data) {
|
|
|
+ that.setData({ 'form.level': data.value });
|
|
|
+ that.setData({ 'form.zhLevel': data.label });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 提交保运
|
|
|
+ onSubmit: async function (e) {
|
|
|
+ const that = this;
|
|
|
+ const params = e.detail.value;
|
|
|
+ const form = that.data.form;
|
|
|
+ params.icon = form.icon;
|
|
|
+ if (!this.WxValidate.checkForm(params)) {
|
|
|
+ const error = this.WxValidate.errorList[0];
|
|
|
+ wx.showToast({ title: `${error.msg}`, icon: 'error', duration: 2000 })
|
|
|
+ return false
|
|
|
+ } else {
|
|
|
+ let arr = await app.$post(`/coach/${params._id}`, params);
|
|
|
+ if (arr.errcode == '0') {
|
|
|
+ wx.showToast({ title: `维护信息完成`, icon: 'success', duration: 2000 });
|
|
|
+ that.watchLogin();
|
|
|
+ }
|
|
|
+ else wx.showToast({ title: `${arr.errmsg}`, icon: 'error', duration: 2000 })
|
|
|
+ }
|
|
|
+ },
|
|
|
/**
|
|
|
* 生命周期函数--监听页面加载
|
|
|
*/
|
|
|
- onLoad: function (options) {
|
|
|
-
|
|
|
+ onLoad: async function (options) {
|
|
|
+ const that = this;
|
|
|
+ //验证规则函数
|
|
|
+ that.initValidate();
|
|
|
+ // 查询其他信息
|
|
|
+ await that.searchOther();
|
|
|
+ // 监听用户是否登录
|
|
|
+ await that.watchLogin();
|
|
|
+ },
|
|
|
+ // 查询其他信息
|
|
|
+ searchOther: async function () {
|
|
|
+ const that = this;
|
|
|
+ let arr;
|
|
|
+ // 等级
|
|
|
+ arr = await app.$get(`/dict`, { code: "coach_grade" });
|
|
|
+ if (arr.errcode == '0' && arr.total > 0) that.setData({ levelList: arr.data[0].list });
|
|
|
+ // 性别
|
|
|
+ arr = await app.$get(`/dict`, { code: "gender" });
|
|
|
+ if (arr.errcode == '0' && arr.total > 0) that.setData({ genderList: arr.data[0].list });
|
|
|
+ },
|
|
|
+ // 监听用户是否登录
|
|
|
+ watchLogin: async function () {
|
|
|
+ const that = this;
|
|
|
+ let levelList = that.data.levelList;
|
|
|
+ let genderList = that.data.genderList;
|
|
|
+ wx.getStorage({
|
|
|
+ key: 'user',
|
|
|
+ success: async res => {
|
|
|
+ const arr = await app.$get(`/coach/${res.data?.info?._id}`);
|
|
|
+ if (arr.errcode == '0') {
|
|
|
+ // 等级
|
|
|
+ let grade = levelList.find(i => i.value == arr.data.level);
|
|
|
+ if (grade) arr.data.zhLevel = grade.label;
|
|
|
+ // 性别
|
|
|
+ let gender = genderList.find(i => i.value == arr.data.gender);
|
|
|
+ if (gender) arr.data.zhGender = gender.label;
|
|
|
+ that.setData({ form: arr.data })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ fail: async res => {
|
|
|
+ wx.redirectTo({ url: '/pages/index/index' })
|
|
|
+ }
|
|
|
+ })
|
|
|
},
|
|
|
/**
|
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
|
*/
|
|
|
- onReady: function () {
|
|
|
-
|
|
|
- },
|
|
|
-
|
|
|
+ onReady: function () { },
|
|
|
/**
|
|
|
* 生命周期函数--监听页面显示
|
|
|
*/
|
|
|
onShow: function () {
|
|
|
- const that = this;
|
|
|
|
|
|
},
|
|
|
-
|
|
|
-
|
|
|
+ /**
|
|
|
+ * 页面上拉触底事件的处理函数
|
|
|
+ */
|
|
|
/**
|
|
|
* 生命周期函数--监听页面隐藏
|
|
|
*/
|
|
@@ -54,13 +150,6 @@ Page({
|
|
|
|
|
|
},
|
|
|
|
|
|
- /**
|
|
|
- * 页面上拉触底事件的处理函数
|
|
|
- */
|
|
|
- onReachBottom: function () {
|
|
|
-
|
|
|
- },
|
|
|
-
|
|
|
/**
|
|
|
* 用户点击右上角分享
|
|
|
*/
|