// 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: '', }, // 是否需要发票的选择 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 (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() { wx.navigateTo({ url: '../companyList/companyList', }) }, // 选择参会人 selectPerson(e) { console.log(this.data.selectedCompany); if (!!this.data.selectedCompany.id) { wx.navigateTo({ url: `../personList/personList?companyId=${this.data.selectedCompany.id}&selectType=${e.currentTarget.dataset.selecttype}`, }) } 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 }) } }) }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { this.setData({ indexMsg: options.type, }) // this.setData({ // selectedCompany:JSON.parse(options.company) // }) const that = this // 是否是从首页消息进来的报名 if (options.type === 'indexMsg') { this.setData({ indexMsgBool:true }) // 查询会议信息 this.queryMeetingInfo(options.meetingId) // 默认填写个人信息 // 从缓存中拿个人信息 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 () { } })