import { match_status } from '../../utils/dict'; const app = getApp() Page({ /** * 页面的初始数据 */ data: { frameStyle: { useTop: true, name: '赛事信息', leftArrow: true, useBar: false }, fileUrl: app.globalData.fileUrl, user: {}, id: '', info: {}, // 选项卡 tabs: { active: 'a', list: [ { title: '规程', name: 'a' }, { title: '选手', name: 'b' }, { title: '秩序册', name: 'c' }, { title: '赛况', name: 'd' }, { title: '成绩册', name: 'e' }, ], }, // 选手 bActive: '0', groupList: [], // 秩序册 cType: '0', cList: [], raceList: [], raceteamList: [], // 赛况 dtabs: { active: 0, list: [] } }, // 跳转菜单 back(e) { wx.navigateBack({ delta: 1 }) }, // 选项卡 tabsChange: function (e) { const that = this; const { name } = e.detail; that.setData({ 'tabs.active': e.detail.name }); }, // 更多 toCommon: function (e) { const { route } = e.currentTarget.dataset; wx.redirectTo({ url: `/pages/${route}/index` }) }, // 报名 toSign: function (e) { const { item } = e.currentTarget.dataset; wx.navigateTo({ url: `/pages/matchInfo/sign?id=${item._id}` }) }, // 选择手风琴 bChange: function (e) { const that = this; that.setData({ bActive: e.detail }) }, // 秩序册 orderChange: function (e) { const that = this; const { ctype } = e.currentTarget.dataset; that.setData({ cType: ctype == '0' ? '1' : '0' }) that.setData({ cList: ctype == '0' ? that.data.raceList : that.data.raceteamList }) }, // 赛况 dtabsChange: async function (e) { const that = this; let info = that.data.info; const { name } = e.detail; that.setData({ 'dtabs.active': name }); let data = that.data.dtabs.list[name]; let searchInfo = { match_id: info._id, limit: 1000 }; if (data._id) { searchInfo.ground_id = data._id } const arr = await app.$get(`/newCourt/api/race`, { ...searchInfo }); if (arr.errcode == '0') { that.setData({ raceList: arr.data }) } }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { const that = this; that.setData({ id: options.id || '62e388d4fd61d871861b80af' }); // 监听用户是否登录 that.watchLogin(); }, watchLogin: function () { const that = this; wx.getStorage({ key: 'user', success: async (res) => { that.setData({ user: res.data }) if (that.data.id) { let arr; // 比赛信息 arr = await app.$get(`/newCourt/api/match/${that.data.id}`); if (arr.errcode == '0') { arr.data.statusZh = that.getStatusZh(arr.data.status); that.setData({ info: arr.data }) } else { wx.showToast({ title: `${res.errmsg}`, icon: 'fail', duration: 2000 }); } // 选手信息 arr = await app.$get(`/newCourt/api/view/groupProjectUser?match_id=${that.data.id}`); if (arr.errcode == '0') { that.setData({ groupList: arr.data }) }; // 查询场地信息 arr = await app.$get(`/newCourt/api/ground`, { is_use: '0' }); let ground = [{ title: '全部场地', name: 0 }] if (arr.errcode == '0') { for (const [index, val] of arr.data.entries()) { ground.push({ title: val.name, name: index + 1, _id: val._id }) } } that.setData({ 'dtabs.list': ground }) // 赛程信息 that.searchOrder(); } }, fail: async (res) => { wx.redirectTo({ url: '/pages/index/index' }); }, }); }, // 查询赛程信息 searchOrder: async function () { wx.showLoading({ title: '加载中' }) const that = this; let type = that.data.cType; let info = that.data.info; let arr; // 赛程信息 arr = await app.$get(`/newCourt/api/race`, { match_id: info._id, limit: 1000 }); if (arr.errcode == '0') { that.setData({ raceList: arr.data }); } else wx.showToast({ title: `${arr.errmsg}`, icon: 'fail', duration: 2000 }); // 组信息 arr = await app.$get(`/newCourt/api/raceTeam`, { match: info._id }); if (arr.errcode == '0') { that.setData({ raceteamList: arr.data }); } else wx.showToast({ title: `${arr.errmsg}`, icon: 'fail', duration: 2000 }); // 合并信息 that.setData({ cList: type == '0' ? that.data.raceList : that.data.raceteamList }) wx.hideLoading(); }, getStatusZh(status) { let word = "未知" let data = match_status.find((i) => i.label == status); if (data) word = data.value; return word; }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } })