Files
szjs/pages/tool/tool.js
2025-03-10 23:51:01 +08:00

161 lines
3.1 KiB
JavaScript

// pages/tool/tool.js
const app = getApp()
Page({
data: {
// 表单数据
formData: {
name: '诺言',
age: '6',
height: '120',
boneAge: '6',
fatherHeight: '32',
motherHeight: '28',
igf: '334',
lh: '0.6',
thickness: '11'
},
// 计算结果
result: '',
// 结果弹窗显示状态
show: false
},
// =============== 表单输入处理 ===============
// 统一的输入处理函数
handleInput(e) {
const { field } = e.currentTarget.dataset
this.setData({
[`formData.${field}`]: e.detail.value
})
},
// =============== 登录检查 ===============
checkLogin() {
if (!wx.getStorageSync('phone')) {
wx.setStorageSync('uidFlag', false)
this.showLoginModal()
return false
}
return true
},
showLoginModal() {
wx.showModal({
title: '提示',
content: '请先登录',
success(res) {
if (res.confirm) {
wx.switchTab({
url: '/pages/my/my'
})
}
}
})
},
// =============== 计算相关 ===============
// 开始计算
calculate() {
if (!this.checkLogin()) return
if (!this.validateForm()) return
this.setData({ show: true })
this.submitCalculation()
},
// 表单验证
validateForm() {
const { name } = this.data.formData
if (!name.trim()) {
wx.showToast({
title: '请输入姓名',
icon: 'none'
})
return false
}
return true
},
// 提交计算请求
submitCalculation() {
const { formData } = this.data
wx.request({
url: app.globalData.url + 'app/Ruilaiwechat/calculate',
method: 'POST',
header: {
'content-type': 'application/x-www-form-urlencoded'
},
data: {
uid: wx.getStorageSync('uid'),
name: formData.name,
age: formData.age,
height: formData.height,
bone_age: formData.boneAge,
father_height: formData.fatherHeight,
mother_height: formData.motherHeight,
IGF: formData.igf,
LH: formData.lh,
uterus_thickness: formData.thickness
},
success: this.handleCalculationResponse.bind(this)
})
},
// 处理计算响应
handleCalculationResponse(res) {
if (res.data.erro === 0) {
this.setData({
result: res.data.calculate_resutlt
})
} else {
wx.showToast({
title: res.data.msg,
icon: 'error',
duration: 2000
})
}
},
// =============== 其他功能 ===============
// 重置表单
reset() {
if (!this.checkLogin()) return
this.setData({
formData: {
name: '',
age: '',
height: '',
boneAge: '',
fatherHeight: '',
motherHeight: '',
igf: '',
lh: '',
thickness: ''
}
})
},
// 查看历史记录
go_history() {
wx.navigateTo({
url: '/pages/order/order'
})
},
// 弹窗控制
pintuan() {
this.setData({ show: true })
},
tiaoguo() {
this.setData({ show: false })
}
})