219 lines
6.4 KiB
JavaScript
219 lines
6.4 KiB
JavaScript
// pages/meeting/meeting.js
|
|
import MeetingApi from '../../assets/js/http/meetingApi'
|
|
import UserApi from '../../assets/js/http/userApi'
|
|
import {isLogin} from '../../assets/js/common'
|
|
Page({
|
|
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
statusBarHeight: wx.getSystemInfoSync()['statusBarHeight'],
|
|
searchParams: {
|
|
pageNo: 1,
|
|
pageSize: 10,
|
|
meetingSignUpType: 0, // 可报名:1 全部 0
|
|
meetingStatus: '', // 会议状态 可报名: meetingSignUpType==1 未开始:2 进行中:3 已结束4
|
|
meetingType: '', // 工作组会议:1 标协会议 2 国际研讨会 3 其他会议 4 分标委会议 5
|
|
meetingStartTime: '', // 开始时间
|
|
meetingEndTime: '', // 结束时间
|
|
// 创建时间倒叙排序
|
|
column: 'pm.createTime',
|
|
order: 'desc'
|
|
},
|
|
// 会议筛选参数
|
|
meetingStatus: ['可报名', '未开始', '进行中', '已结束'],
|
|
// 会议类型筛选参数
|
|
meetingType: ['工作组会议', '标协会议', '国际研讨会', '其他会议', '分标委会议'],
|
|
// 会议列表数据
|
|
meetingList: [],
|
|
// 下拉框送搜索数据
|
|
selectData: [],
|
|
// 控制弹窗显示的
|
|
visible: false,
|
|
// 控制月份选择器显示
|
|
visibleDate: false,
|
|
// 是哪个筛选条件
|
|
index: -1
|
|
},
|
|
goBack(){
|
|
wx.navigateBack()
|
|
},
|
|
// 扫码签到
|
|
signUp(){
|
|
isLogin(() => {
|
|
wx.scanCode({
|
|
onlyFromCamera: false,
|
|
scanType: [],
|
|
success: (result) => {
|
|
if (result.result.indexOf("scansign") > -1) { // 证明是签到二维码
|
|
let meetingId = result.result.split("=")[1] // 会议Id
|
|
// let meetingId = result.result // 会议Id
|
|
// 成功扫码的回调
|
|
UserApi.scanCode({
|
|
meetingId
|
|
}).then(res => {
|
|
if (res.success) {
|
|
let result = JSON.stringify(res.result)
|
|
wx.navigateTo({ // 已报名
|
|
url: `../scanSign/scanSign?signed=1&meeting=${result}`,
|
|
})
|
|
} else {
|
|
let result = JSON.stringify(res.result)
|
|
// 未查到报名信息
|
|
wx.navigateTo({ // 未报名
|
|
url: `../scanSign/scanSign?signed=0&meeting=${result}`,
|
|
})
|
|
}
|
|
}).catch(err => {})
|
|
} else {
|
|
wx.showToast({
|
|
title: '此二维码不是签到码',
|
|
icon: 'none',
|
|
duration: 2000
|
|
})
|
|
return
|
|
}
|
|
}
|
|
})
|
|
})
|
|
},
|
|
// 会议状态筛选
|
|
bindStatusChange(e) {
|
|
this.data.searchParams.pageNo = 1
|
|
if (e.detail.value == 0) {
|
|
this.setData({
|
|
'searchParams.meetingStatus': '',
|
|
'searchParams.meetingSignUpType': 1
|
|
})
|
|
} else if (e.detail.value == 1) {
|
|
this.setData({
|
|
'searchParams.meetingStatus': 2,
|
|
'searchParams.meetingSignUpType': 0
|
|
})
|
|
} else if (e.detail.value == 2) {
|
|
this.setData({
|
|
'searchParams.meetingStatus': 3,
|
|
'searchParams.meetingSignUpType': 0
|
|
})
|
|
} else if (e.detail.value == 3) {
|
|
this.setData({
|
|
'searchParams.meetingStatus': 4,
|
|
'searchParams.meetingSignUpType': 0
|
|
})
|
|
}
|
|
this.queryMeetingList()
|
|
},
|
|
// 会议类型筛选
|
|
bindTypeChange(e) {
|
|
this.data.searchParams.pageNo = 1
|
|
let value = Number(e.detail.value) + 1
|
|
this.setData({
|
|
'searchParams.meetingType': value
|
|
})
|
|
this.queryMeetingList()
|
|
},
|
|
bindDateChange(e) {
|
|
this.data.searchParams.pageNo = 1
|
|
this.setData({
|
|
'searchParams.meetingStartTime': e.detail.value,
|
|
'searchParams.meetingEndTime': e.detail.value
|
|
})
|
|
this.queryMeetingList()
|
|
},
|
|
// 会议详情
|
|
meetingDetail(e) {
|
|
let meetingInfo = JSON.stringify(e.currentTarget.dataset.meetinginfo)
|
|
let meetingItem = e.currentTarget.dataset.meetinginfo
|
|
|
|
// 如果是去报名页面需要在缓存中存储会议信息 当报名结束后 需要清除缓存中的当前会议信息 meetingSignUpType 1 可报名 2报名
|
|
if (meetingItem.meetingSignUpType === 1) {
|
|
// 从消息报名的参会单位不可更改
|
|
wx.setStorage({
|
|
key:'companyDisabled',
|
|
data:true
|
|
})
|
|
wx.setStorage({
|
|
key: "currentMeetingInfo",
|
|
data: e.currentTarget.dataset.meetinginfo,
|
|
success() {
|
|
// 国际研讨会去国际研讨会的报名页面
|
|
if (meetingItem.meetingType !== 3) {
|
|
wx.navigateTo({
|
|
url: `../signUpPage/signUpPage?type=indexMsg`
|
|
})
|
|
} else if (meetingItem.meetingSignUpType === 2) {
|
|
wx.navigateTo({
|
|
url: `../signUpPageGuoji/signUpPageGuoji`
|
|
})
|
|
}
|
|
}
|
|
})
|
|
} else if (meetingItem.meetingSignUpType === 2) {
|
|
wx.navigateTo({
|
|
url: `../meetingDetailSigned/meetingDetailSigned?meetingInfo=${meetingInfo}`, // (已报名)
|
|
})
|
|
}
|
|
|
|
},
|
|
// 获取会议列表数据
|
|
queryMeetingList() {
|
|
wx.showToast({
|
|
title: '加载中...',
|
|
icon: 'loading',
|
|
duration:3000
|
|
})
|
|
MeetingApi.meetingList(this.data.searchParams).then(res => {
|
|
if (res.success) {
|
|
// 搜索时,把原数据清空,重新筛选
|
|
if (this.data.searchParams.pageNo === 1) {
|
|
this.setData({
|
|
meetingList: []
|
|
})
|
|
}
|
|
if (res.result.records && res.result.records.length) {
|
|
this.setData({
|
|
meetingList: [...this.data.meetingList, ...res.result.records]
|
|
})
|
|
}
|
|
}
|
|
}).catch(err => {
|
|
wx.showToast({
|
|
title: '加载失败',
|
|
icon: 'none',
|
|
duration: 2000
|
|
})
|
|
})
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad: function (options) {
|
|
console.log(options);
|
|
if (!!options.workingGroupId) {
|
|
// 工作组的更多跳转
|
|
this.setData({
|
|
'searchParams.workingGroupId': options.workingGroupId,
|
|
'searchParams.meetingType': '1',
|
|
})
|
|
}
|
|
if (!!options.caseCommitteeId) {
|
|
// 分标委的更多跳转
|
|
this.setData({
|
|
'searchParams.caseCommitteeId': options.caseCommitteeId,
|
|
'searchParams.meetingType': '5',
|
|
})
|
|
}
|
|
this.queryMeetingList()
|
|
},
|
|
|
|
/**
|
|
* 页面上拉触底事件的处理函数
|
|
*/
|
|
onReachBottom: function () {
|
|
this.data.searchParams.pageNo++
|
|
this.queryMeetingList()
|
|
}
|
|
})
|