// pages/guanyuan/exhibition/exhibition.js const app = getApp(); const api = app.api; import WxValidate from '../../../utils/WxValidate' Page({ /** * 页面的初始数据 */ data: { type:undefined, //留资类型 0装裱 1布展 formData:{ nickname: null, //称谓 phone: null, //电话 content: null //内容 }, rules: { nickname: { required: true, }, phone: { required: true, tel: true, } }, messages: { nickname: { required: '请输入姓名', }, phone: { required: '请输入手机号', tel: '请输入正确的手机号', } }, isValidate:false, isSubmit:false, }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { const { rules, messages } = this.data; this.WxValidate = new WxValidate(rules, messages); this.setData({ type:options.type }) }, getPhoneNumber(e) { console.log(e); if (e.detail.errMsg !== "getPhoneNumber:ok"){ return; } const { encryptedData, iv } = e.detail; app.post(api.getUserPhone, { wxPhoneEncrypted: { encryptedData, ivStr: iv } }).then(res => { this.setData({ 'formData.phone': res.data.phone },()=>{ this.validateForm() }) }); }, validateForm(showInfo=false){ const {formData} = this.data; let flag=true; if (!this.WxValidate.checkForm(formData)) { flag=false if(showInfo===true){ const error = this.WxValidate.errorList[0]; wx.showToast({ title: error.msg, icon: 'none', duration: 2000 }) } } this.setData({ isValidate:flag }); return flag }, saveData: function (){ const {formData,isSubmit} = this.data; // 传入表单数据,调用验证方法 console.info(formData) //重复提交 if(isSubmit){ return; } let flag=this.validateForm(true); if(!flag){ return; } formData.leaveInfoType = this.data.type; this.setData({ isSubmit:true, }); app.post(api.addLeaveInfo, formData).then(res => { //console.log(res); wx.redirectTo({ url:"/pages/guanyuan/success/success" }) this.setData({ isSubmit:false, }); }).catch(()=>{ this.setData({ isSubmit:false, }); }) }, changeInput(e) { console.log(e); const id = e.currentTarget.id; const value = e.detail.value; this.setData({ [id]: value },()=>{ this.validateForm() }); }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } })