123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289 |
- // 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 () {
- }
- })
|