367 lines
11 KiB
JavaScript
367 lines
11 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'],
|
|
isStandard:false,// 是否时标协会员那里跳转过来的
|
|
searchParams: {
|
|
pageNo: 1,
|
|
pageSize: 10,
|
|
meetingSignUpType: 4, // 可报名:1 全部 0
|
|
meetingStatus: '', // 会议状态 可报名: meetingSignUpType==1 未开始:2 进行中:3 已结束4
|
|
meetingType: '', // 工作组会议:1 标协会议 2 国际研讨会 3 其他会议 4 分标委会议 5
|
|
meetingStartTime: '', // 开始时间
|
|
meetingEndTime: '', // 结束时间
|
|
// 创建时间倒叙排序
|
|
column: 'createTime',
|
|
order: 'desc'
|
|
},
|
|
// 会议筛选参数
|
|
meetingStatus: ['可报名', '未开始', '进行中', '已结束','已报名'],
|
|
// 会议类型筛选参数
|
|
meetingType: ['工作组会议', '标协会议', '国际研讨会', '其他会议', '分标委会议'],
|
|
meetingTypeList:[
|
|
{name:'工作组会议',value:'1'},
|
|
{name:'国际研讨会',value:'3'},
|
|
{name:'其他会议',value:'4'},
|
|
{name:'分标委会议',value:'5'},
|
|
{name:'理事会会议',value:'6'},
|
|
{name:'信息交流会',value:'7'},
|
|
{name:'培训会',value:'8'},
|
|
{name:'宣贯会',value:'9'}
|
|
],
|
|
|
|
// 会议列表数据
|
|
meetingList: [],
|
|
// 下拉框送搜索数据
|
|
selectData: [],
|
|
// 控制弹窗显示的
|
|
visible: false,
|
|
// 控制月份选择器显示
|
|
visibleDate: false,
|
|
// 是哪个筛选条件
|
|
index: -1,
|
|
meetingTypeText:'',
|
|
},
|
|
/*
|
|
* 会议类型
|
|
* */
|
|
initMeetingType(val) {
|
|
if (val.meetingType) {
|
|
switch (val.meetingType +'') {
|
|
case '1':
|
|
return '工作组会议'
|
|
case '2':
|
|
switch (val.tbMeetingType + '') {
|
|
case '1':
|
|
return '标协会议-标准宣贯'
|
|
case '2':
|
|
return '标协会议-培训会'
|
|
case '3':
|
|
return '标协会议-信息交流会'
|
|
}
|
|
break
|
|
case '3':
|
|
return '国际研讨会'
|
|
case '4':
|
|
return '其他会议'
|
|
case '5':
|
|
return '分标委会议'
|
|
case '6':
|
|
return '理事会会议'
|
|
}
|
|
} else {
|
|
return ''
|
|
}
|
|
},
|
|
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
|
|
})
|
|
}else if(e.detail.value == 4){
|
|
this.setData({
|
|
'searchParams.meetingSignUpType': 2
|
|
})
|
|
}
|
|
this.queryMeetingList()
|
|
},
|
|
// 会议类型筛选
|
|
bindTypeChange(e) {
|
|
let index = this.data.meetingTypeList[e.detail.value].value
|
|
this.data.searchParams.pageNo = 1
|
|
// 宣贯会 培训会 信息交流会 需要单独写查询条件
|
|
if(index === '7'){
|
|
// 信息交流会
|
|
this.setData({
|
|
'searchParams.meetingType': '2',
|
|
'searchParams.tbMeetingType':'3'
|
|
})
|
|
}else if(index === '8'){
|
|
// 培训会
|
|
this.setData({
|
|
'searchParams.meetingType': '2',
|
|
'searchParams.tbMeetingType':'2'
|
|
})
|
|
}else if(index === '9' ){
|
|
// 宣贯会
|
|
this.setData({
|
|
'searchParams.meetingType': '2',
|
|
'searchParams.tbMeetingType':'1'
|
|
})
|
|
}else{
|
|
// 其他类型的会议
|
|
this.setData({
|
|
'searchParams.meetingType': index
|
|
})
|
|
}
|
|
|
|
this.queryMeetingList()
|
|
},
|
|
bindDateChange(e) {
|
|
this.data.searchParams.pageNo = 1
|
|
// ' ' + '00:00:00' + ' ' + '23:59:59'
|
|
this.setData({
|
|
'searchParams.meetingStartTime': e.detail.value ,
|
|
'searchParams.meetingEndTime': e.detail.value
|
|
})
|
|
this.queryMeetingList()
|
|
},
|
|
// 会议详情
|
|
meetingDetail(e) {
|
|
let meetingInfo = JSON.stringify(e.currentTarget.dataset.meetinginfo)
|
|
wx.navigateTo({
|
|
url: `../meetingDetailSigned/meetingDetailSigned?meetingInfo=${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`
|
|
// })
|
|
// }
|
|
// }
|
|
// })
|
|
// }
|
|
|
|
},
|
|
// 获取会议列表数据
|
|
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) {
|
|
|
|
if(this.data.meetingList.length > 0){
|
|
this.data.meetingList.forEach(tt => {
|
|
tt.meetingTypeText = this.initMeetingType(tt)
|
|
})
|
|
}
|
|
res.result.records.forEach(tt => {
|
|
tt.meetingTypeText = this.initMeetingType(tt)
|
|
})
|
|
this.setData({
|
|
meetingList: [...this.data.meetingList, ...res.result.records]
|
|
})
|
|
}
|
|
}
|
|
}).catch(err => {
|
|
wx.showToast({
|
|
title: '加载失败',
|
|
icon: 'none',
|
|
duration: 2000
|
|
})
|
|
})
|
|
},
|
|
// 删除会议报名的信息
|
|
deleteMeetingInfo(e) {
|
|
let meetingInfo = e.currentTarget.dataset.meetinginfo
|
|
const params = {id: meetingInfo.situationId}
|
|
let that = this
|
|
wx.showModal({
|
|
title: '提示',
|
|
content: '确定删除此报名信息吗?',
|
|
success: function (res) {
|
|
if (res.confirm) {
|
|
MeetingApi.deleteSignUpInfo(params).then(res => {
|
|
wx.showToast({
|
|
title: res.message,
|
|
icon: "none",
|
|
duration: 800,
|
|
});
|
|
if (res.success) {
|
|
that.data.searchParams.pageNo = 1
|
|
that.queryMeetingList()
|
|
}
|
|
})
|
|
} else if (res.cancel) {
|
|
return false;
|
|
}
|
|
}
|
|
})
|
|
},
|
|
// 编辑会议报名的信息
|
|
editMeetingInfo(e) {
|
|
let meetingInfo = e.currentTarget.dataset.meetinginfo
|
|
const params = {
|
|
id: meetingInfo.situationId, // 报名信息的id
|
|
meetingId: meetingInfo.id,
|
|
meetingType: meetingInfo.meetingType,
|
|
}
|
|
console.log("---------params------", params)
|
|
// 国际研讨会去国际研讨会的报名
|
|
if(params.meetingType !== 3){
|
|
wx.navigateTo({
|
|
url: `../signUpPage/signUpPage?meetingId=${params.meetingId}&id=${params.id}&ope=edit&page=meeting&options=${JSON.stringify(this.options)}`,
|
|
})
|
|
}else{
|
|
wx.navigateTo({
|
|
url: `../signUpPageGuoji/signUpPageGuoji?meetingId=${params.meetingId}&id=${params.id}&ope=edit&page=meeting&options=${JSON.stringify(this.options)}`,
|
|
})
|
|
}
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad: function (options) {
|
|
console.log(options);
|
|
this.options = 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',
|
|
})
|
|
}
|
|
if (!!options.councilId) {
|
|
// 理事会的更多跳转
|
|
this.setData({
|
|
'searchParams.councilId': options.councilId,
|
|
'searchParams.meetingType': '6',
|
|
})
|
|
}
|
|
if(options.type === 'standard'){
|
|
// 标协会议的跳转
|
|
this.setData({
|
|
isStandard:true,
|
|
'searchParams.meetingType': options.meetingType,
|
|
'searchParams.tbMeetingType':options.tbMeetingType
|
|
})
|
|
}else{
|
|
this.setData({
|
|
isStandard:false
|
|
})
|
|
}
|
|
this.queryMeetingList()
|
|
},
|
|
|
|
/**
|
|
* 页面上拉触底事件的处理函数
|
|
*/
|
|
onReachBottom: function () {
|
|
this.data.searchParams.pageNo++
|
|
this.queryMeetingList()
|
|
}
|
|
})
|