512 lines
11 KiB
JavaScript
512 lines
11 KiB
JavaScript
// pages/signUpPage/signUpPage.js
|
|
import signUpApi from '../../assets/js/http/signUp'
|
|
import MeetingApi from '../../assets/js/http/meetingApi'
|
|
import {
|
|
phoneReg,
|
|
postcode
|
|
} from '../../utils/validate'
|
|
Page({
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
// 参会身份数组
|
|
identifyList: [{
|
|
value: '2',
|
|
name: '参会人'
|
|
},
|
|
{
|
|
value: '1',
|
|
name: '嘉宾'
|
|
},
|
|
{
|
|
value: '3',
|
|
name: '内部企业'
|
|
},
|
|
],
|
|
// 缴费方式
|
|
paymentMethodList: [{
|
|
value: '1',
|
|
name: '汇款'
|
|
},
|
|
{
|
|
value: '2',
|
|
name: '线上缴费'
|
|
},
|
|
{
|
|
value: '3',
|
|
name: '打包'
|
|
},
|
|
],
|
|
|
|
// 是否需要发票
|
|
needInvoiceList: [{
|
|
value: '0',
|
|
name: '不需要'
|
|
},
|
|
{
|
|
value: '1',
|
|
name: '增值税普通发票'
|
|
},
|
|
{
|
|
value: '2',
|
|
name: '增值税专用发票'
|
|
},
|
|
],
|
|
// 是否住酒店
|
|
needCheckInHotel: [{
|
|
value: '1',
|
|
name: '是'
|
|
},
|
|
{
|
|
value: '0',
|
|
name: '否'
|
|
},
|
|
],
|
|
// 选中的参会身份 默认参会人
|
|
selectedIdentity:'2',
|
|
// 是否选择发票的选中的索引 默认需要
|
|
index: -1,
|
|
paymentMethod:'1',
|
|
// 抵达时间
|
|
arrivalTime: '请选择抵达时间',
|
|
// 离开时间
|
|
departureTime: '请选择离开时间',
|
|
// 选中的参会单位
|
|
selectedCompany: {},
|
|
// 选中的联系人
|
|
selectedPerson: {},
|
|
// 选中的邮寄联系人
|
|
selectedPostPerson: {},
|
|
// 选中的会议
|
|
selectedMeeting: {},
|
|
// 是否正确填写信息
|
|
flag: false,
|
|
// 是否是首页消息进来的
|
|
indexMsgBool:false,
|
|
// 首页消息
|
|
indexMsg: '',
|
|
// 扫码报名的 需要调用无限制接口
|
|
nolimitBool:false
|
|
},
|
|
// 是否需要发票的选择
|
|
needInvoiceChange(e) {
|
|
this.setData({
|
|
index: e.detail.value
|
|
})
|
|
},
|
|
// 抵达时间选择
|
|
bindDateChangeArriveTime(e) {
|
|
this.setData({
|
|
arrivalTime: e.detail.value
|
|
})
|
|
},
|
|
// 离开时间选择
|
|
bindDateChangeLeaveTime(e) {
|
|
this.setData({
|
|
departureTime: e.detail.value
|
|
})
|
|
},
|
|
// 选择参会身份
|
|
changeIdentity(e){
|
|
this.setData({
|
|
selectedIdentity:e.detail.value
|
|
})
|
|
},
|
|
// 缴费方式的选择
|
|
paymentMethodRadioChange(e){
|
|
this.setData({
|
|
paymentMethod:e.detail.value
|
|
})
|
|
},
|
|
// 确定
|
|
formSubmit(e) {
|
|
console.log(e);
|
|
const formData = Object.assign({}, e.detail.value)
|
|
// 会议id
|
|
formData.meetingId = this.data.selectedMeeting.id
|
|
// 参会人id
|
|
formData.companyContactId = this.data.selectedPerson.id
|
|
// 邮寄联系人id
|
|
formData.postContactId = this.data.selectedPostPerson.id
|
|
// 参会企业id
|
|
formData.companyId = this.data.selectedCompany.id
|
|
// 会议类型
|
|
formData.meetingType = this.data.selectedMeeting.meetingType
|
|
console.log(formData);
|
|
if (this.data.flag) {
|
|
wx.showToast({
|
|
title: '信息输入有误',
|
|
icon: 'error',
|
|
duration: 2000
|
|
})
|
|
return
|
|
}
|
|
// 参会身份验证
|
|
if (formData.identity === '') {
|
|
wx.showToast({
|
|
title: '请选择参会身份',
|
|
icon: 'none',
|
|
duration: 2000
|
|
})
|
|
return
|
|
}
|
|
// 缴费方式
|
|
if (formData.payMode === '') {
|
|
wx.showToast({
|
|
title: '请选择缴费方式',
|
|
icon: 'none',
|
|
duration: 2000
|
|
})
|
|
return
|
|
}
|
|
// 是否需要发票
|
|
if (formData.needInvoice === -1) {
|
|
wx.showToast({
|
|
title: '请选择是否需要发票',
|
|
icon: 'none',
|
|
duration: 2000
|
|
})
|
|
return
|
|
}
|
|
// 邮寄联系人
|
|
if (this.data.selectedPostPerson.id && formData.postContactId === undefined) {
|
|
wx.showToast({
|
|
title: '请选择邮寄联系人',
|
|
icon: 'none',
|
|
duration: 2000
|
|
})
|
|
return
|
|
}
|
|
// 邮寄地址
|
|
if (formData.postContactAddress === '') {
|
|
wx.showToast({
|
|
title: '请输入邮寄地址',
|
|
icon: 'none',
|
|
duration: 2000
|
|
})
|
|
return
|
|
}
|
|
// 邮编
|
|
if (formData.postCode === '') {
|
|
wx.showToast({
|
|
title: '请输入邮编',
|
|
icon: 'none',
|
|
duration: 2000
|
|
})
|
|
return
|
|
}
|
|
// 是否住酒店
|
|
// if (formData.checkInHotel === '') {
|
|
// wx.showToast({
|
|
// title: '请选择是否住酒店',
|
|
// icon: 'none',
|
|
// duration: 2000
|
|
// })
|
|
// return
|
|
// }
|
|
|
|
signUpApi.signUpMeeting(formData).then(res => {
|
|
if (res.success) {
|
|
// 成功 清除缓存 跳转报名成功页面
|
|
wx.removeStorage({
|
|
key: 'selectedCompany',
|
|
})
|
|
wx.removeStorage({
|
|
key: 'currentMeetingInfo',
|
|
success() {
|
|
// 跳转报名成功页面
|
|
wx.navigateTo({
|
|
url: '../signUpSuccess/signUpSuccess',
|
|
})
|
|
}
|
|
})
|
|
}else{
|
|
wx.showToast({
|
|
title: res.message,
|
|
icon: 'none',
|
|
duration: 2000
|
|
})
|
|
}
|
|
}).catch(e => {
|
|
wx.showToast({
|
|
title: '操作失败',
|
|
icon: 'error',
|
|
duration: 2000
|
|
})
|
|
})
|
|
},
|
|
// 选择参会单位
|
|
selectCompany() {
|
|
console.log('选择参会单位',this.data.nolimitBool);
|
|
if(this.data.nolimitBool){
|
|
wx.navigateTo({
|
|
url: `../companyList/companyList?nolimit=nolimt`,
|
|
})
|
|
}else{
|
|
wx.navigateTo({
|
|
url: `../companyList/companyList`,
|
|
})
|
|
}
|
|
},
|
|
// 选择参会人
|
|
selectPerson(e) {
|
|
const that = this
|
|
if (!!this.data.selectedCompany.id) {
|
|
wx.navigateTo({
|
|
url: `../personList/personList?companyId=${this.data.selectedCompany.id}&selectType=${e.currentTarget.dataset.selecttype}&nolimit=${that.data.nolimitBool}`,
|
|
})
|
|
} else {
|
|
wx.showToast({
|
|
title: '请先选择参会单位',
|
|
icon: "none",
|
|
duration: 800,
|
|
});
|
|
}
|
|
},
|
|
// 根据会议id查询会议信息
|
|
queryMeetingInfo(id){
|
|
MeetingApi.meetingDetail({id:id}).then(res => {
|
|
console.log(res);
|
|
if(res.success){
|
|
this.setData({
|
|
selectedMeeting:res.result
|
|
})
|
|
}
|
|
}).catch( () => {
|
|
wx.showToast({
|
|
title: '加载失败',
|
|
icon: 'none',
|
|
duration: 1000
|
|
})
|
|
})
|
|
},
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad: function (options) {
|
|
if(options.type){
|
|
this.setData({
|
|
indexMsg: options.type,
|
|
})
|
|
}
|
|
if(options.nolimit){
|
|
this.setData({
|
|
nolimitBool:true
|
|
})
|
|
}
|
|
|
|
if(options.meetingId){
|
|
|
|
this.queryMeetingInfo(options.meetingId)
|
|
}
|
|
const that = this
|
|
// 是否是从首页消息进来的报名
|
|
if (options.type === 'indexMsg') {
|
|
this.setData({
|
|
indexMsgBool:true
|
|
})
|
|
|
|
// 默认填写个人信息
|
|
// 从缓存中拿个人信息
|
|
wx.getStorage({
|
|
key: 'userInfo',
|
|
success(res) {
|
|
console.log(res);
|
|
that.setData({
|
|
'selectedCompany.companyName': res.data.companyName,
|
|
'selectedPerson.name': res.data.name,
|
|
'selectedPerson.id': res.data.id,
|
|
'selectedCompany.id': res.data.companyId,
|
|
phone: res.data.phone,
|
|
'selectedPostPerson.id':res.data.id,
|
|
'selectedPostPerson.name':res.data.name,
|
|
'selectedPostPerson.contactAddress':res.data.contactAddress,
|
|
'selectedPostPerson.postalCode':res.data.postalCode,
|
|
})
|
|
}
|
|
})
|
|
|
|
}
|
|
},
|
|
// 手机号验证
|
|
validatePhone(e) {
|
|
console.log(e);
|
|
let value = e.detail.value
|
|
let {
|
|
message,
|
|
errmsg
|
|
} = e.currentTarget.dataset
|
|
if (value === '' || value === undefined) {
|
|
wx.showToast({
|
|
title: message,
|
|
icon: 'none',
|
|
duration: 800
|
|
})
|
|
this.setData({
|
|
flag: true
|
|
})
|
|
return
|
|
} else if (phoneReg(value)) {
|
|
this.setData({
|
|
flag: false
|
|
})
|
|
} else {
|
|
wx.showToast({
|
|
title: errmsg,
|
|
icon: 'none',
|
|
duration: 800
|
|
})
|
|
this.setData({
|
|
flag: true
|
|
})
|
|
|
|
}
|
|
|
|
},
|
|
// 邮编验证
|
|
validatePostCode(e) {
|
|
let value = e.detail.value
|
|
let {
|
|
message,
|
|
errmsg
|
|
} = e.currentTarget.dataset
|
|
if (value === '' || value === undefined) {
|
|
wx.showToast({
|
|
title: message,
|
|
icon: 'none',
|
|
duration: 800
|
|
})
|
|
this.setData({
|
|
flag: true
|
|
})
|
|
return
|
|
} else if (postcode(value)) {
|
|
this.setData({
|
|
flag: false
|
|
})
|
|
} else {
|
|
wx.showToast({
|
|
title: errmsg,
|
|
icon: 'none',
|
|
duration: 800
|
|
})
|
|
this.setData({
|
|
flag: true
|
|
})
|
|
|
|
}
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
*/
|
|
onReady: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面显示
|
|
*/
|
|
onShow: function () {
|
|
const that = this
|
|
console.log(this.data.type ,'this.data.type ');
|
|
// 是否是从首页消息进来的报名
|
|
if (this.data.type === 'indexMsg') {
|
|
// 默认填写个人信息
|
|
// 从缓存中拿个人信息
|
|
wx.getStorage({
|
|
key: 'userInfo',
|
|
success(res) {
|
|
console.log(res);
|
|
that.setData({
|
|
'selectedCompany.companyName': res.data.companyName,
|
|
'selectedPerson.name': res.data.name,
|
|
'selectedCompany.id': res.data.companyId,
|
|
phone: res.data.phone,
|
|
})
|
|
}
|
|
})
|
|
|
|
}
|
|
|
|
// 从缓存中拿选中的企业
|
|
|
|
wx.getStorage({
|
|
key: 'selectedCompany',
|
|
success(res) {
|
|
that.setData({
|
|
selectedCompany: JSON.parse(res.data)
|
|
})
|
|
}
|
|
})
|
|
// 从缓存中拿选中的联系人
|
|
wx.getStorage({
|
|
key: 'selectedPerson',
|
|
success(res) {
|
|
that.setData({
|
|
selectedPerson: res.data
|
|
})
|
|
}
|
|
})
|
|
|
|
// 从缓存中拿选中的邮寄联系人
|
|
wx.getStorage({
|
|
key: 'selectedPostPerson',
|
|
success(res) {
|
|
that.setData({
|
|
selectedPostPerson: res.data
|
|
})
|
|
}
|
|
})
|
|
// 从缓存中拿选中的会议的信息
|
|
|
|
wx.getStorage({
|
|
key: 'currentMeetingInfo',
|
|
success(res) {
|
|
console.log(res, 'meetingInfo');
|
|
that.setData({
|
|
selectedMeeting: res.data
|
|
})
|
|
}
|
|
})
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面隐藏
|
|
*/
|
|
onHide: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面卸载
|
|
*/
|
|
onUnload: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
*/
|
|
onPullDownRefresh: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面上拉触底事件的处理函数
|
|
*/
|
|
onReachBottom: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 用户点击右上角分享
|
|
*/
|
|
onShareAppMessage: function () {
|
|
|
|
}
|
|
})
|