// pages/addPerson/index.js const $$ = require('../../utils/util'); const app = getApp(); import Toast from '../../components/vant/toast/toast'; Page({ /** * 页面的初始数据 */ select: {}, // 下拉框数据 data: { imgUrl: $$.url.img, popup: { formtype: '', index: 0, }, personTypes: [{ title: '自然人', imgUrl: $$.url.img + 'person-types_1.png', imgUrlActive: $$.url.img + 'person-types_1_active.png', }, { title: '法人', imgUrl: $$.url.img + 'person-types_2.png', imgUrlActive: $$.url.img + 'person-types_2_active.png', }, { title: '非法人组织', imgUrl: $$.url.img + 'person-types_3.png', imgUrlActive: $$.url.img + 'person-types_3_active.png', }], personTypesActive: 0, // 人员类型切换 perType: '', formData: { trueName: '', mobile: '', certiType: '09_00015-1', certiTypeName: '身份证', certiNo: '', addr: '', placeAddr: '', workUnit: '', nation: '', nationName: '', sex: '09_00003-1', sexName: '男', }, //表单存储对象 }, // 保存 handleNext(e) { let personTypesActive = this.data.personTypesActive; let data = { ...this.data.formData, perType: this.data.perType, perTypeName: this.data.perTypeName, perClass: personTypesActive === 0 ? '09_01001-1' : personTypesActive === 1 ? '09_01001-2' : personTypesActive === 2 ? '09_01001-3' : "", perClassName: personTypesActive === 0 ? '自然人' : personTypesActive === 1 ? '法人' : personTypesActive === 2 ? '非法人组织' : "", } console.log('data', data); // 获取当前页面栈 var pages = getCurrentPages(); // 上一个页面 var prevPage = pages[pages.length - 2]; // 直接设置数据对象到上一页面的data中 prevPage.setData({ oneData: data, editIndex: this.data.editIndex || false, }); wx.navigateBack({ delta: 1, }) }, // 选择法人或非法人组织 selectUnit(e) { let type = e.currentTarget.dataset.type; // 法人信息 if (key === 'person') { } }, // 获取手机号码 async _handleGetPhoneNumber(e) { let that = this; let phone = await that.selectComponent('#common-page').handleGetPhoneNumber(e.detail.code); that.data.formData.mobile = phone; that.setData({ formData: that.data.formData }); }, // 身份证ocr handleOCR(e) { let that = this; wx.chooseMedia({ count: 1, mediaType: ['image'], success(res2) { const tempFiles = res2.tempFiles[0]; $$.showLoading(); wx.uploadFile({ url: `${$$.baseUrl}${$$.url.sys}/api/wechat/fileInfo/wecatRecognition`, filePath: tempFiles.tempFilePath, name: 'file', header: { Authorization: app.globalData.token }, complete(res3) { $$.hideLoading(); if (res3.errMsg === 'uploadFile:ok') { let { code, data } = JSON.parse(res3.data); if (code == -1) { $$.errorModal({ content: '识别失败' }); return; } that.data.formData.certiNo = data?.ocrResult.certiNo; that.data.formData.certiType = data?.ocrResult.certiType; that.data.formData.certiTypeName = data?.ocrResult.certiTypeName; that.data.formData.trueName = data?.ocrResult.trueName; that.data.formData.placeAddr = data?.ocrResult.placeAddr; that.data.formData.sex = data?.ocrResult.sex; that.data.formData.sexName = data?.ocrResult.sexName; that.data.formData.nation = data?.ocrResult.nation; that.data.formData.nationName = data?.ocrResult.nationName; that.setData({ formData: that.data.formData }); } }, }); }, }); }, // 表单修改 handleChange(e) { let key = e.currentTarget.dataset.key, value = e.detail; if (key === 'sex') { this.data.formData[key] = value; this.data.formData[key + 'Name'] = value === '09_00003-2' ? '女' : value === '09_00003-1' ? '男' : ''; } else { this.data.formData[key] = value; } this.setData({ formData: this.data.formData }); }, // 人员类型切换 _handleSelectData(e) { let index = e.currentTarget.dataset.index; this.setData({ personTypesActive: index }) }, // 下拉框选择开启 handleShowPopup(e) { let type = e.currentTarget.dataset.type; let selectData = []; let selectOption = this.select[type]; selectData = [{ values: selectOption, defaultIndex: 0 }]; this.setData({ popup: { formtype: e.currentTarget.dataset.key, index: e.currentTarget.dataset.index, visible: true, title: e.currentTarget.dataset.title, type: type, selectData: selectData, }, }); }, // 关闭下拉框选择 handleClosePopup() { this.data.popup.visible = false; this.setData({ popup: this.data.popup }); }, // 下拉框选择确认 handleConfirmPicker({ detail }) { let formtype = this.data.popup.formtype; let value = detail.detail.value, arr = []; this.data.popup.visible = false; console.log('value', value[0].value); console.log('formtype', formtype); this.data.formData[formtype] = value[0].value; this.data.formData[formtype + 'Name'] = value[0].label; this.setData({ popup: this.data.popup, formData: this.data.formData }); }, // 请求下拉框资源 async getSelectOptionData() { const res = await $$.commonRequest({ url: `${$$.url.assets}selectOption.json`, type: 'get' }); if (res) { this.select.cardType = res.data.cardType || []; this.select.nation = res.data.nation || []; } }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { let { perType, perTypeName, data, index } = options; if (data) { data = JSON.parse(data); console.log('data', data); wx.setNavigationBarTitle({ title: "修改" + data.perTypeName }) this.setData({ editIndex: index, formData: data, perType: data.perType, perTypeName: data.perTypeName, personTypesActive: data.perClass === '09_01001-1' ? 0 : data.perClass === '09_01001-2' ? 1 : data.perClass === '09_01001-3' ? 2 : 0, }) } else { wx.setNavigationBarTitle({ title: "添加" + perTypeName }) this.setData({ perType, perTypeName }) } this.getSelectOptionData(); }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ onShow() { }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { } })