// pages/login/login.js import WxValidate from '../../utils/wxValidate' const app = getApp() Page({ /** * 页面的初始数据 */ data: { // 主体高度 infoHeight: '', frameStyle: { useTop: true, name: '创建团队', leftArrow: true, useBar: false }, form: {}, // 团队logo logo: [], // 团队类型 typeList: ['乒乓球', '足球', '篮球'], //成员 members: [], show: false, // 用户列表 userList: [], }, //验证必填项 initValidate() { const rules = {name: { required: true },type: { required: true },create_user: { required: true },} // 验证字段的提示信息,若不传则调用默认的信息 const messages = { name: { required: '请输入团队名称' }, type: { required: '请输入团队类型' }, create_user: { required: '请输入团队创建人名称' }, }; this.WxValidate = new WxValidate(rules, messages) }, back: function () { wx.navigateBack({ url: '/pages/me/index' }) }, //上传图片 imgUpload: function (e) { const that = this; let data = that.data.logo; data.push(e.detail) that.setData({ logo: data }) }, //删除图片 imgDel: function (e) { const that = this; let data = that.data.logo; let arr = data.filter((i, index) => index != e.detail.index) that.setData({ logo: arr }) }, // 选择团队类型 typeChange: function (e) { const that = this; let index = e.detail.value; let data = that.data.typeList[index]; that.setData({ 'form.type': data }) }, // 时间选择 dataChange: function (e) { const that = this; let value = e.detail.value; that.setData({ 'form.create_time': value }) }, // 添加成员 createMem: function () { const that = this; that.setData({ show: true }) }, // 选择成员 memChange: function (e) { const that = this; let data = e.detail.value; let user = that.data.userList; let members = []; for (const val of data) { let arr = user.find((i) => i._id == val); if (arr) members.push({ id: arr._id, nickname: arr.nickname, icon: arr.icon }) } that.setData({ members: members }) }, // 确认选择成员 memfirmSubmit: function () { const that = this; that.setData({ show: false }); }, // 取消选择成员 memClose: function () { const that = this; that.setData({ members: [] }); that.setData({ show: false }); }, //删除成员 memDel: function (e) { var id = e.currentTarget.dataset.id; var members = this.data.members; for (var i = 0; i < members.length; i++) { if (members[i].id == id) { members.splice(i, 1) } } this.setData({ members: members }) }, //提交 formSubmit: function (e) { const that = this; const value = e.detail.value; let length = this.data.logo.length; if (length == 0) { value.rules = [{ logo: { required: true } }]; value.message = [{ logo: { required: '请上传团队Logo' } }] } if (!this.WxValidate.checkForm(value)) { const error = this.WxValidate.errorList[0]; wx.showToast({ title: `${error.msg}`, icon: 'error', duration: 2000 }) return false } else { value.logo = that.data.logo; value.members = that.data.members; wx.request({ url: `${app.globalData.publicUrl}/courtAdmin/api/team`, method: "post", data: value, success: res => { if (res.data.errcode == 0) { wx.showToast({ title: '创建团队成功', icon: 'success', duration: 2000 }) wx.redirectTo({ url: '/pages/me/index' }) } else { wx.showToast({ title: res.data.errmsg, icon: 'error', duration: 2000 }) } }, error: err => { } }) } }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { //验证规则函数 this.initValidate() // 计算高度 this.searchHeight() // 监听用户是否登录 this.watchLogin(); }, // 计算高度 searchHeight: function () { let frameStyle = this.data.frameStyle; let client = app.globalData.client; let infoHeight = client.windowHeight; // 是否去掉状态栏 if (frameStyle.useTop) infoHeight = infoHeight - (client.statusBarHeight + client.getMenu.height + (client.getMenu.top - client.statusBarHeight) * 2); // 是否减去底部菜单 if (frameStyle.useBar) infoHeight = infoHeight - 50; if (infoHeight) this.setData({ infoHeight: infoHeight }) }, // 监听用户是否登录 watchLogin: function () { const that = this; wx.getStorage({ key: 'token', success: res => { //查询用户列表 wx.request({ url: `${app.globalData.publicUrl}/courtAdmin/api/user`, //接口地址 method: "get", data: { status: '1' }, header: {}, success: arr => { let aee = arr.data.data.filter((i) => i.type == '2') if (aee) { that.setData({ userList: aee }); // 过滤当前用户 let user = arr.data.data.find((i) => i._id == res.data._id); if (user) that.setData({ 'form.create_user': user.nickname, 'form.create_id': user._id }) } }, error: err => { } }) }, fail: res => { wx.redirectTo({ url: '/pages/login/index', }) } }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } })