145 lines
4.2 KiB
JavaScript
145 lines
4.2 KiB
JavaScript
// 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() {
|
|
|
|
}
|
|
}) |