// pages/init/userinfo.js import { updateUserDetail } from './../../utils/api.js'; import allCities from './../../utils/allCities.js'; Page({ /** * 页面的初始数据 */ data: { subjects: { smoke: [ '不吸烟', '10支/天以下', '10~20支/天', '20支/天以上', ], medical_histories: [ '慢性支气管炎、支气管哮喘、支气管扩张病、肺心病', '高血压、冠心病、心肌病、先天性心脏病、风湿性心脏病', '反流性食道炎、慢性胃炎、胃溃疡、慢性胰腺炎、肠易激惹综合征、结肠炎', '3个月内脑梗塞和/或脑出血、癫痫、脑炎、脑膜炎', '特发性或继发性肺动脉高压症', '其他疾病' ] }, hiddenSelect: true, provinces: allCities, cities: allCities[0].children, provinceId: -1, cityId: -1, userDetailModel: { realname: "", gender: 1, age: '', province: 0, city: 0, is_first_to_tibet: 1, height: '', weight: '', smoke: 0, drink: 1, medical_history: '' } }, onBoxInput(e) { this.setUpdateData( e.currentTarget.dataset.key, e.detail.value ) }, onSelectChange(e) { this.setUpdateData( e.currentTarget.dataset.key, e.detail.value ) console.log(e.currentTarget.dataset.key, e.detail.value); }, onMedicalChange(e) { var v = e.detail.value; this.setData({ hiddenSelect: v == 0 }) }, onMedicalValueChange(e) { this.setUpdateData('medical_history', e.detail.value.join(',')) }, setUpdateData(key, value) { var userDetailModel = this.data.userDetailModel; userDetailModel[key] = value; this.setData({ userDetailModel }) }, bindProvinceChange(e) { let _id = parseInt(e.detail.value); this.setUpdateData('province', this.data.provinces[_id].code); this.setData({ provinceId: _id, cities: this.data.provinces[_id].children }) }, bindCityChange(e) { let _id = parseInt(e.detail.value); this.setUpdateData('city', this.data.cities[_id].code); this.setData({ cityId: _id }) }, validateUpdate() { var model = this.data.userDetailModel; var title = false; if (!model.realname) { title = '请填写您的姓名'; } else if (!model.age) { title = '请填写您的年龄'; } else if (model.province == 0 || model.city == 0) { title = '请选择您的世居地'; } else if (!model.height) { title = '请填写您的身高'; } else if (!model.weight) { title = '请填写您的体重'; } else if (this.data.hiddenSelect == false && !model.medical_history) { title = '请选择既往疾病记录'; } return title; }, async updateAndEvaluation() { // 更新数据 var err = this.validateUpdate(); if (err) { var title = { title: err, icon: 'none' }; wx.showToast({ title: err, icon: 'none' //:err,image:'/assets/icon-error.svg' }); return; } wx.showModal({ title: '确认填写正确并进行评估?', success:async res => { if (res.confirm) { console.log(this.data.userDetailModel) let data = await updateUserDetail(this.data.userDetailModel); // // 跳转到 评估页 wx.redirectTo({ url: './../user/evaluation', }) } else if (res.cancel) {} } }) }, /** * 用户点击右上角分享 */ onShareAppMessage: function() { } })