Files
income_payments_applet/pages/meeting/meeting.js
T

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()
}
})