|
|
|
|
const app = getApp<IAppOption>()
|
|
|
|
|
|
|
|
|
|
Page({
|
|
|
|
|
data: {
|
|
|
|
|
menuTop: 0,
|
|
|
|
|
step: 1,
|
|
|
|
|
|
|
|
|
|
// Step 1: 基础信息
|
|
|
|
|
ageRange: 0 as number,
|
|
|
|
|
gender: 0 as number,
|
|
|
|
|
provinceId: '' as string | number,
|
|
|
|
|
provinceName: '',
|
|
|
|
|
cityId: '' as string | number,
|
|
|
|
|
cityName: '',
|
|
|
|
|
regionText: '',
|
|
|
|
|
|
|
|
|
|
// Step 2: PSVT情况
|
|
|
|
|
diagnosisStatus: 0 as number,
|
|
|
|
|
diagnosisTime: '',
|
|
|
|
|
surgeryStatus: 0 as number,
|
|
|
|
|
currentMonth: '',
|
|
|
|
|
},
|
|
|
|
|
onLoad() {
|
|
|
|
|
const menuRes = wx.getMenuButtonBoundingClientRect()
|
|
|
|
|
const now = new Date()
|
|
|
|
|
const currentMonth = `${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, '0')}`
|
|
|
|
|
this.setData({
|
|
|
|
|
menuTop: menuRes.top,
|
|
|
|
|
currentMonth,
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
handleSelect(e: WechatMiniprogram.TouchEvent) {
|
|
|
|
|
const { key, value } = e.currentTarget.dataset
|
|
|
|
|
this.setData({
|
|
|
|
|
[key]: Number(value),
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
handleRegionChange(e: WechatMiniprogram.PickerChange) {
|
|
|
|
|
const region = e.detail.value as string[]
|
|
|
|
|
this.setData({
|
|
|
|
|
provinceName: region[0],
|
|
|
|
|
cityName: region[2] || region[1],
|
|
|
|
|
regionText: region.filter((r) => r && r !== '全部').join(' '),
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
handleDiagnosisTimeChange(e: WechatMiniprogram.PickerChange) {
|
|
|
|
|
this.setData({
|
|
|
|
|
diagnosisTime: e.detail.value as string,
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
handleNext() {
|
|
|
|
|
const { ageRange, gender } = this.data
|
|
|
|
|
if (!ageRange) {
|
|
|
|
|
wx.showToast({ title: '请选择年龄段', icon: 'none' })
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
if (!gender) {
|
|
|
|
|
wx.showToast({ title: '请选择性别', icon: 'none' })
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
this.setData({ step: 2 })
|
|
|
|
|
},
|
|
|
|
|
handlePrev() {
|
|
|
|
|
this.setData({ step: 1 })
|
|
|
|
|
},
|
|
|
|
|
handleSubmit() {
|
|
|
|
|
const { diagnosisStatus, surgeryStatus } = this.data
|
|
|
|
|
if (!diagnosisStatus) {
|
|
|
|
|
wx.showToast({ title: '请选择确诊状态', icon: 'none' })
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
if (!surgeryStatus) {
|
|
|
|
|
wx.showToast({ title: '请选择手术状态', icon: 'none' })
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const {
|
|
|
|
|
ageRange,
|
|
|
|
|
gender,
|
|
|
|
|
provinceId,
|
|
|
|
|
provinceName,
|
|
|
|
|
cityId,
|
|
|
|
|
cityName,
|
|
|
|
|
diagnosisStatus: ds,
|
|
|
|
|
diagnosisTime,
|
|
|
|
|
surgeryStatus: ss,
|
|
|
|
|
} = this.data
|
|
|
|
|
const channelId = app.globalData.scene?.channelId || ''
|
|
|
|
|
|
|
|
|
|
const data: Record<string, any> = {
|
|
|
|
|
ageRange,
|
|
|
|
|
gender,
|
|
|
|
|
diagnosisStatus: ds,
|
|
|
|
|
surgeryStatus: ss,
|
|
|
|
|
channelId,
|
|
|
|
|
}
|
|
|
|
|
if (provinceName) data.provinceName = provinceName
|
|
|
|
|
if (provinceId) data.provinceId = provinceId
|
|
|
|
|
if (cityName) data.cityName = cityName
|
|
|
|
|
if (cityId) data.cityId = cityId
|
|
|
|
|
if (diagnosisTime) data.diagnosisTime = diagnosisTime
|
|
|
|
|
|
|
|
|
|
wx.ajax({
|
|
|
|
|
method: 'POST',
|
|
|
|
|
url: '?r=psvt/patient/register',
|
|
|
|
|
data,
|
|
|
|
|
loading: true,
|
|
|
|
|
loadingText: '提交中...',
|
|
|
|
|
}).then((res) => {
|
|
|
|
|
const { isRegistered } = res
|
|
|
|
|
if (isRegistered) {
|
|
|
|
|
if (app.globalData.initLoginInfo) {
|
|
|
|
|
app.globalData.initLoginInfo.isInfoSubmitted = true
|
|
|
|
|
}
|
|
|
|
|
wx.reLaunch({
|
|
|
|
|
url: '/pages/index/index',
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
export {}
|