// pages/login/login.js import WxValidate from '../../utils/wxValidate' const app = getApp() Page({ /** * 页面的初始数据 */ data: { showModal: false, // 主体高度 infoHeight: '', frameStyle: { useTop: true, name: '创建团队', leftArrow: true, useBar: false }, form: { type: ['乒乓球', '足球', '篮球'], objectType: [{ id: 0, name: '乒乓球' }, { id: 1, name: '足球' }, { id: 2, name: '篮球' },], create_time: '2020-02-02', create_id: '', create_user: '', }, members: [], lists: [], index: 0, //选择成员列表 item: [], check: [], // 上传图片 fileList: [], }, determine: function (e) { this.setData({ showModal: false }) console.log(this.data.members); }, //选择队员 checkboxChange: function (e) { const that = this; let data = e.detail.value; let item = that.data.item; let members = []; for (const val of data) { let arr = item.find((i) => i._id == val); console.log(arr); if (arr) members.push({ id: arr._id, nickname: arr.nickname, icon: arr.icon }) } that.setData({ members: members }) }, //显示对话框 clickme: function () { this.setData({ showModal: true }) }, preventTouchMove: function () { }, //关闭弹窗 go: function () { this.setData({ showModal: false }) }, //选择 bindPickerChange: function (e) { console.log('picker发送选择改变,携带值为', e.detail.value) this.setData({ index: e.detail.value }) }, bindDateChange: function (e) { console.log('picker发送选择改变,携带值为', e.detail.value) this.setData({ ['form.create_time']: e.detail.value }) }, back: function () { wx.navigateBack({ url: '/pages/me/index' }) }, //点击减号删除 delList: function () { var members = this.data.members; members.pop();//实质是删除lists数组内容,使for循环少一次 this.setData({ members: members, }) }, //上传图片 imgUpload: function (e) { const that = this; let data = that.data.fileList; data.push(e.detail) that.setData({ fileList: data }) }, //删除图片 imgDel: function (e) { const that = this; let data = that.data.fileList; let arr = data.filter((i, index) => index != e.detail.index) that.setData({ fileList: arr }) }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { // 计算高度 this.searchHeight() // 监听用户是否登录 this.watchLogin(); //验证规则函数 this.initValidate() }, //验证必填项 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) }, // 监听用户是否登录 watchLogin: function () { const that = this; wx.getStorage({ key: 'token', success: res => { //数据请求 wx.request({ url: `${app.globalData.publicUrl}/courtAdmin/api/user`, //接口地址 method: "get", data: {}, header: {}, success: res => { that.setData({ item: res.data.data }) }, error: err => { console.log(err); } }) wx.request({ url: `${app.globalData.publicUrl}/courtAdmin/api/user/${res.data.id}`, //接口地址 method: "get",//请求方法 data: {},//请求参数 header: {}, success: res => { console.log(res); that.setData({ ['form.create_user']: res.data.data.nickname, ['form.create_id']: res.data.data.id }) console.log(res.data.data.nickname); }, error: err => { console.log(err); } }) }, fail: res => { wx.redirectTo({ url: '/pages/login/index', }) } }) }, //提交 formSubmit: function (e) { const value = e.detail.value; 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 = this.data.fileList; value.members = this.data.members; value.create_id = this.data.form.create_id; wx.getStorage({ key: 'token', success: function (res) { wx.request({ url: `${app.globalData.publicUrl}/courtAdmin/api/team`, //接口地址 method: "post",//请求方法 //请求参数 data: value, header: {}, success: res => { console.log(res); if (res.data.errcode == 0) { wx.showToast({ title: '创建团队成功', icon: 'success', duration: 2000//延迟两秒 }) } else { wx.showToast({ title: '创建团队失败', icon: 'error', duration: 2000 }) } }, error: err => { console.log(err); } }) } }) } console.log(e.detail.value); }, // 计算高度 searchHeight: function () { let frameStyle = this.data.frameStyle; let client = app.globalData.client; // 减去状态栏 let infoHeight = client.windowHeight - (client.statusBarHeight + client.getMenu.height + (client.getMenu.top - client.statusBarHeight) * 2); // 是否减去底部菜单 if (frameStyle.useBar) infoHeight = infoHeight - 50; if (infoHeight) this.setData({ infoHeight: infoHeight }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } })