// pages/login/login.js import WxValidate from '../../utils/wxValidate' const app = getApp() var type = "";//用来保存picker组件选中的类别id Page({ /** * 页面的初始数据 */ data: { frameStyle: { useTop: true, name: '比赛修改', leftArrow: true, useBar: false }, // 主体高度 infoHeight: '', ids: '', form: {}, cateArray: [ { id: '0', type: '未开始' }, { id: '1', type: '报名中' }, { id: '2', type: '待比赛' }, { id: '3', type: '进行中' }, { id: '4', type: '已结束' }], cateIndex: 0, starttime: '2018-01-01',//默认起始时间 endtime: '2018-01-24',//默认结束时间 timedate: '2018-09-01', time: '12:01', // 赛制信息 // 默认值 szValue: [], // 赛制选择信息 valueList: [], // 原数据 levelArray: [ ['淘汰制', '循环制'], ['单败淘汰', '双败淘汰', '交叉淘汰'], ['单循环', '双循环', '四循环'] ], // 赛制储存信息 szList: [], }, //当用户点击确定时,执行的事件 bindCatePickerChange: function (e) { var cid = this.data.cateArray[e.detail.value].id; type = cid //下面重新赋值必须有,页面显示的信息才会改为刚刚选中的值 this.setData({ cateIndex: e.detail.value, }) }, // 确定选择 szChange: function (e) { const that = this; let value = e.detail.value; let list = that.data.valueList; let data = [] for (let [index, val] of value.entries()) { if (list[index][val]) data.push(list[index][val]) else data.push(list[index][0]) } //存值 let sz = [...that.data.szList, { type: data[0], name: data[1] }] that.setData({ szList: sz }) that.setData({ szValue: data }) that.search(); }, // 列值改变时 columnChange: function (e) { const that = this; let array = that.data.levelArray; let list = that.data.valueList; if (e.detail.column == '0') list[1] = array[parseInt(e.detail.value) + 1]; that.setData({ valueList: list }); }, //删除 toDel: function (e) { const that = this; let list = that.data.szList; let value = e.currentTarget.dataset.index; let data = list.filter((i, index) => index != value) this.setData({ szList: data }) }, bindDateChange3: function (e) { this.setData({ timedate: e.detail.value }) }, bindTimeChange: function (e) { this.setData({ time: e.detail.value }) }, // 时间段选择 bindDateChange(e) { let that = this; that.setData({ starttime: e.detail.value, }) }, bindDateChange2(e) { let that = this; that.setData({ endtime: e.detail.value, }) }, //提交 formSubmit: function (e) { const value = e.detail.value; var form = this.data.form var id = this.ids; var name = value.name; var match_time = this.data.starttime + ' - ' + this.data.endtime; var single_time = this.data.timedate + ' ' + this.data.time; var address = value.address; var format = this.data.szList; // var match_team = this.form.match_team; const params = { "id": id, "name": name, "match_time": match_time, "single_time": single_time, "address": address, "format": format, "match_team": [], "status": type }; if (!this.WxValidate.checkForm(params)) { const error = this.WxValidate.errorList[0]; wx.showToast({ title: `${error.msg}`, icon: 'error', duration: 2000 }) return false } else { wx.getStorage({ key: 'token', success: function (res) { wx.request({ url: `${app.globalData.publicUrl}/courtAdmin/api/match/${id}`, //接口地址 method: 'post', data: params, success(res) { if (res.data.errcode == 0) { wx.showToast({ title: `修改比赛成功`, icon: 'success', duration: 2000 }) //创建成功提示 // wx.navigateTo({ url: '/pages/administration/index' })// 跳转页面 } else { wx.showToast({ title: res.data.errmsg, icon: 'none', duration: 2000 }) } } }) } }) } }, back: function () { wx.navigateBack({ url: '/pages/home/index' }) }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { this.ids = options.id; //选择器 var cindex = this.data.cateIndex type = this.data.cateArray[cindex].id // 监听用户是否登录 this.watchLogin(); //验证规则函数 this.initValidate() // 计算高度 this.searchHeight() const that = this; // 初始化数据 that.search(); }, //验证是否输入 initValidate() { const rules = { name: { required: true }, match_time: { required: true, }, single_time: { required: true }, address: { required: true, }, format: { required: true } } // 验证字段的提示信息,若不传则调用默认的信息 const messages = { name: { required: '请输入比赛名称', }, match_time: { required: '请输入时间', }, single_time: { required: '请输入单场时间', }, address: { required: '请输入地点', }, format: { required: '请选择赛制', } }; this.WxValidate = new WxValidate(rules, messages) }, // 监听用户是否登录 watchLogin: function () { wx.getStorage({ key: 'token', success: res => { var that = this; var id = that.ids; wx.request({ url: `${app.globalData.publicUrl}/courtAdmin/api/match/${id}`, //接口地址 method: 'get', // data: {}, success(res) { if (res.data.errcode == 0) { let datas = res.data.data let timer = res.data.data.single_time let date = res.data.data.match_time let status = res.data.data.status let szList = res.data.data.format let timedate = timer.substring(0, 10) let time = timer.substring(11, 16) let starttime = date.substring(0, 10) let endtime = date.substring(12, 28) that.setData({ form: datas, timedate: timedate, time: time, starttime: starttime, endtime: endtime, cateIndex: status, szList: szList }); } else { wx.showToast({ title: res.data.errmsg, icon: 'none', duration: 2000 }) } } }) }, fail: res => { return wx.redirectTo({ url: '/pages/login/index', }) } }) }, //查找选择器的值 search: function () { const that = this; let data = that.data.levelArray; that.setData({ valueList: [data[0], data[1]] }) }, // 计算高度 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 () { } })