import WxValidate from '../../utils/wxValidate' const app = getApp() Page({ /** * 页面的初始数据 */ data: { frameStyle: { useTop: true, name: '需求信息添加', leftArrow: true, useBar: false }, // 主体高度 infoHeight: '', form: { user_name: '张小丽', user_phone: '12345678901' }, // 商品列表 order: [], user_id: '12333', // 弹框 dialog: { title: '添加商品', show: false, type: '1' }, }, initValidate() { const rules = { user_name: { required: true, }, user_phone: { required: true, tel: true } } // 验证字段的提示信息,若不传则调用默认的信息 const messages = { user_name: { required: '请输入姓名', }, user_phone: { required: '请输入电话', } }; this.WxValidate = new WxValidate(rules, messages) }, back: function () { wx.navigateBack({ url: '/pages/apply/index' }) }, // 添加商品 addOrder: function () { this.setData({ dialog: { title: '添加商品', show: true, type: '1' } }) }, // 商品保存 orderSubmit: function (e) { const params = e.detail.value; if (!params.name) wx.showToast({ title: `商品名称`, icon: 'error', duration: 2000 }); else if (!params.num) wx.showToast({ title: `商品数量`, icon: 'error', duration: 2000 }); if (params.name && params.num) { this.setData({ order: [...this.data.order, params] }); this.setData({ orderForm: {} }); this.setData({ dialog: { title: '添加商品', show: false, type: '1' } }); } }, // 商品取消保存 orderReset: function (e) { this.setData({ dialog: { title: '添加商品', show: false, type: '1' } }) }, // 取消保存 onReset: function (e) { this.back() }, // 提交保存 onSubmit: function (e) { const params = e.detail.value; if (!this.WxValidate.checkForm(params)) { const error = this.WxValidate.errorList[0]; wx.showToast({ title: `${error.msg}`, icon: 'error', duration: 2000 }) return false } else { params.order = this.data.order; if (params.order.length > 0) { wx.showModal({ title: '提示', content: '是否确认提交', success(res) { if (res.confirm) { wx.showToast({ title: '提交成功', icon: 'success', duration: 2000 }) } else if (res.cancel) { console.log('用户点击取消') } } }) } else { wx.showToast({ title: `缺少商品`, icon: 'error', duration: 2000 }) } } }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { //验证规则函数 this.initValidate() // 计算高度 this.searchHeight(); }, // 计算高度 searchHeight: function () { let frameStyle = this.data.frameStyle; let client = app.globalData.client; // 减去状态栏 let infoHeight = client.windowHeight - (client.statusBarHeight + client.getMenu.height + (client.getMenu.top - client.statusBarHeight) * 2); // 是否减去底部菜单 if (frameStyle.useBar) infoHeight = infoHeight - 50; if (infoHeight) this.setData({ infoHeight: infoHeight }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } })