import { loginStatusPage, post } from '@/utils/https'; import { cloneLite, getAuthInfo, getDataSet, sleep, toastError, toastSuccess, toNumber, toObject, } from '@/utils/util'; const defaultParams = { comments: '', account_name: '' }; Page({ /** * 页面的初始数据 */ data: { params: cloneLite(defaultParams) as any, mode: 'new' as 'new' | 'edit', }, handleLogin(e: any) { this.setData({ isLogin: e.detail }); if (e.detail) { this.init(); } }, init() { this.setData({ authInfo: getAuthInfo() }); }, onChange(e: any) { const key = getDataSet(e).key; const val = e.detail.value; this.data.params[key] = val; this.setData({ params: this.data.params }); }, onBlur(e: any) { const key = getDataSet(e).key; if (key == 'init_amount') { const val = e.detail.value; this.data.params[key] = val ? toNumber(val).toFixed(2) : val; this.setData({ params: this.data.params }); } }, onCheckboxChange(e: any) { const key = getDataSet(e).key; this.data.params[key] = e.detail.checked ? 1 : 2; this.setData({ params: this.data.params }); }, onSave() { // console.log(this.data.params); if (this.data.mode == 'new') { this.data.params.current_amount = this.data.params.init_amount; } if (this.data.params.account_name) { post(this.data.mode == 'new' ? 'ErpAccount/add' : 'ErpAccount/edit', this.data.params).then( () => { toastSuccess('保存成功'); sleep(() => { wx.navigateBack(); }, 1000); }, ); } else { toastError('类型名称必填'); } }, /** * 生命周期函数--监听页面加载 */ onLoad(_options) { const eventChannel: any = this.getOpenerEventChannel(); eventChannel?.on('accountEdit', (e: any) => { const data = toObject(e.data); wx.setNavigationBarTitle({ title: data.account_id ? `${data.account_name} 修改` : '新增结算账户', }); this.setData({ params: data, mode: data.account_id ? 'edit' : 'new' }); }); }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() {}, /** * 生命周期函数--监听页面显示 */ onShow() { loginStatusPage(this); }, /** * 生命周期函数--监听页面隐藏 */ onHide() {}, /** * 生命周期函数--监听页面卸载 */ onUnload() {}, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() {}, /** * 页面上拉触底事件的处理函数 */ onReachBottom() {}, /** * 用户点击右上角分享 */ onShareAppMessage() {}, });