|
@@ -1,21 +1,129 @@
|
|
|
-const app = getApp();
|
|
|
+const app = getApp()
|
|
|
+import WxValidate from '../../../utils/wxValidate';
|
|
|
Page({
|
|
|
- /**
|
|
|
- * 页面的初始数据
|
|
|
- */
|
|
|
data: {
|
|
|
- frameStyle: { useTop: true, name: '学校信息', leftArrow: true, useBar: false },
|
|
|
+ frameStyle: { useTop: true, name: '学员信息管理', leftArrow: true, useBar: false },
|
|
|
+ id: '',
|
|
|
+ form: { icon: [] },
|
|
|
+ // 性别
|
|
|
+ genderList: [],
|
|
|
+ //运动等级
|
|
|
+ levelList: [],
|
|
|
},
|
|
|
- // 跳转菜单
|
|
|
- back(e) {
|
|
|
+ initValidate() {
|
|
|
+ const rules = { icon: { required: true }, name: { required: true }, age: { required: false }, birth: { required: true }, gender: { required: true }, phone: { required: true, tel: true } }
|
|
|
+ // 验证字段的提示信息,若不传则调用默认的信息
|
|
|
+ const messages = { icon: { required: '请选择头像' }, name: { required: '请输入学员姓名' }, age: { required: '请输入年龄' }, gender: { required: '请选择性别' }, birth: { required: '请选择出生日期' }, phone: { required: '请输入联系电话' } };
|
|
|
+ this.WxValidate = new WxValidate(rules, messages)
|
|
|
+ },
|
|
|
+ // 返回
|
|
|
+ back: function () {
|
|
|
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 });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 选择出生日期
|
|
|
+ birthChange: function (e) {
|
|
|
+ const that = this;
|
|
|
+ that.setData({ 'form.birth': e.detail.value });
|
|
|
+ },
|
|
|
+ // 选择等级
|
|
|
+ levelChange: 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 form = that.data.form;
|
|
|
+ const params = e.detail.value;
|
|
|
+ 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;
|
|
|
+ if (form._id) arr = await app.$post(`/student/${form._id}`, params);
|
|
|
+ if (arr.errcode == '0') { wx.showToast({ title: `维护信息完成`, icon: 'success', duration: 2000 }); that.watchLogin(); }
|
|
|
+ else wx.showToast({ title: `${errmsg}`, icon: 'error', duration: 2000 })
|
|
|
+ }
|
|
|
+ },
|
|
|
/**
|
|
|
* 生命周期函数--监听页面加载
|
|
|
*/
|
|
|
- onLoad: function (options) {
|
|
|
-
|
|
|
+ onLoad: async function (options) {
|
|
|
+ const that = this;
|
|
|
+ that.setData({ id: options.id || '' })
|
|
|
+ //验证规则函数
|
|
|
+ that.initValidate();
|
|
|
+ // 查询其他信息
|
|
|
+ await that.searchOther();
|
|
|
+ // 监听用户是否登录
|
|
|
+ await that.watchLogin();
|
|
|
+ },
|
|
|
+ searchOther: async function () {
|
|
|
+ const that = this;
|
|
|
+ let arr;
|
|
|
+ // 性别
|
|
|
+ arr = await app.$get(`/dict`, { code: 'gender' });
|
|
|
+ if (arr.errcode == '0' && arr.total > 0) {
|
|
|
+ let list = arr.data[0].list;
|
|
|
+ that.setData({ genderList: list })
|
|
|
+ }
|
|
|
+ // 运动等级
|
|
|
+ arr = await app.$get(`/dict`, { code: 'student_grade' });
|
|
|
+ if (arr.errcode == '0' && arr.total > 0) {
|
|
|
+ let list = arr.data[0].list;
|
|
|
+ that.setData({ levelList: list })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 监听用户是否登录
|
|
|
+ watchLogin: async function () {
|
|
|
+ const that = this;
|
|
|
+ let genderList = that.data.genderList;
|
|
|
+ let levelList = that.data.levelList;
|
|
|
+ wx.getStorage({
|
|
|
+ key: 'user',
|
|
|
+ success: async res => {
|
|
|
+ const arr = await app.$get(`/student/${res.data?.info?._id}`);
|
|
|
+ if (arr.errcode == '0') {
|
|
|
+ let gender = genderList.find(i => i.value == arr.data.gender)
|
|
|
+ if (gender) arr.data.zhGender = gender.label;
|
|
|
+ let level = levelList.find(i => i.value == arr.data.level)
|
|
|
+ if (level) arr.data.zhLevel = level.label;
|
|
|
+ that.setData({ form: arr.data });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ fail: async res => {
|
|
|
+ wx.redirectTo({ url: '/pages/index/index' })
|
|
|
+ }
|
|
|
+ })
|
|
|
},
|
|
|
/**
|
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
@@ -28,16 +136,15 @@ Page({
|
|
|
* 生命周期函数--监听页面显示
|
|
|
*/
|
|
|
onShow: function () {
|
|
|
- const that = this;
|
|
|
|
|
|
},
|
|
|
|
|
|
-
|
|
|
/**
|
|
|
* 生命周期函数--监听页面隐藏
|
|
|
*/
|
|
|
onHide: function () {
|
|
|
-
|
|
|
+ const that = this;
|
|
|
+ that.setData({ skip: 0, page: 0, list: [] })
|
|
|
},
|
|
|
|
|
|
/**
|