import dayjs from 'dayjs' const app = getApp() Page({ data: { step: 0, relationType: '1', name: '', gender: '', birth: '', ageRange: '', diagnosisTime: '', diagnoseType: '', IsGraves: '', HasTedSurgery: '', isKnowTituyo: '', isUseTituyo: '', prescriptionImg: '', diseaseStage: '', diseasePeriod: '', tituyo: {}, diagnoseTypeShow: false, DiagnoseType: app.globalData.DiagnoseType, diagnoseTypeIndex: '', diagnoseTypeName: '', selectDiagnoseTypeIndex: '0', currentDate: dayjs().format('YYYY-MM'), submiting: false, proces: '0', dict: {}, bolList: { 1: '是', 2: '否', }, show: false, popupShow: false, // popupType: 'popup7', popupType: 'popup15', popupParams: {} as any, jump: 0, }, onLoad(options) { this.setData({ pagePath: options.page, proces: options.proces, }) app.waitLogin().then(() => { app.mpBehavior({ PageName: 'PG_PatientInfo' }) this.getDict() app.getZdUserInfo(this, true, (zdUserInfo) => { this.setData({ relationType: zdUserInfo.RelationType || '1', name: zdUserInfo.PatientName, gender: zdUserInfo.Gender, ageRange: zdUserInfo.AgeRange, IsGraves: zdUserInfo.IsGraves, isKnowTituyo: zdUserInfo.IsKnowTituyo, diseaseStage: zdUserInfo.DiseaseStage, diseasePeriod: zdUserInfo.DiseaseStage, HasTedSurgery: zdUserInfo.HasTedSurgery, }) }) }) }, getDict() { wx.ajax({ method: 'GET', url: '?r=xd/user/get-dict', data: {}, }).then((res) => { this.setData({ dict: res, }) }) }, handleRelationType(e: WechatMiniprogram.CustomEvent) { const { id } = e.currentTarget.dataset this.setData({ relationType: id, }) }, handleGender(e: WechatMiniprogram.CustomEvent) { const { id } = e.currentTarget.dataset this.setData({ gender: id, }) }, handleSelectAge(e: WechatMiniprogram.CustomEvent) { const { id } = e.currentTarget.dataset this.setData({ ageRange: id, }) }, handleSelectIsGraves(e: WechatMiniprogram.CustomEvent) { const { id } = e.currentTarget.dataset this.setData({ IsGraves: id, }) }, handleSelectDiseaseStage(e: WechatMiniprogram.CustomEvent) { const { id } = e.currentTarget.dataset this.setData({ diseaseStage: id, }) }, handleSelectDiseasePeriod(e: WechatMiniprogram.CustomEvent) { const { id } = e.currentTarget.dataset this.setData({ diseasePeriod: id, }) }, handleSelectHasTedSurgery(e: WechatMiniprogram.CustomEvent) { const { id } = e.currentTarget.dataset this.setData({ HasTedSurgery: id, }) }, handleSelectIsKnowTituyo(e) { const { id } = e.currentTarget.dataset this.setData({ isKnowTituyo: id, }) }, handleSelectKnowTituyo(e) { const { id } = e.currentTarget.dataset const { tituyo } = this.data let show = false tituyo[id] = !tituyo[id] if (id == 4 && tituyo[id]) { show = true } this.setData({ tituyo, show, }) }, handleSelectUseTituyo(e) { const { id } = e.currentTarget.dataset this.setData({ isUseTituyo: id, }) wx.pageScrollTo({ scrollTop: 10000, }) }, handleNext() { const { name, gender, ageRange, relationType, diseaseStage } = this.data if (!name || !gender || !ageRange || !relationType || !diseaseStage) { wx.showToast({ title: '完善个人信息,可获得【医生】更多关注', icon: 'none' }) return } this.setData({ step: 1, }) }, handlePopupSubmit() { const { prescriptionImg } = this.data if (!prescriptionImg) { wx.showToast({ icon: 'none', title: '请上传您的处方证明', }) return } this.setData({ show: false, }) this.handleSubmit() }, handlePopupJump() { this.setData({ show: false, jump: 1, }) this.handleSubmit() }, handleSubmit() { app.mpBehavior({ PageName: 'BTN_PatientInfoComfirm' }) if (this.data.submiting) return const { name, gender, ageRange, relationType, diseaseStage, diseasePeriod, IsGraves, HasTedSurgery, isKnowTituyo, tituyo, prescriptionImg, jump, } = this.data const { registrationSource, registChannel, regBusinessId, WorkerId, IsAliQiWei } = app.globalData const { doctorId, inviteChan, proMethodId } = app.globalData.scene if (!name || !gender || !ageRange || !relationType || !diseaseStage || !diseasePeriod) { wx.showToast({ title: '完善个人信息,可获得【医生】更多关注', icon: 'none' }) return } const backPage = app.globalData.backPage const navUrl = typeof backPage === 'string' && backPage.includes('liveResult') ? backPage : '/patient/pages/certReslove/index' this.setData({ submiting: true, }) wx.ajax({ method: 'POST', url: '?r=zd/account/reg', data: { name, gender, ageRange, // birth, // diagnoseType, // diagnosisTime, relationType, registrationSource, registChannel, regBusinessId, IsGraves, HasTedSurgery, diseaseStage, diseasePeriod, prescriptionImg, isKnowTituyo, tituyo: Object.keys(tituyo), WorkerId, inviteDoctorId: doctorId, inviteChannel: inviteChan, IsAliQiWei, promotionMethodId: proMethodId, }, }) .then((_res) => { app.updateLoginInfo(() => { wx.reLaunch({ url: navUrl.includes('?') ? `${navUrl}&jump=${jump}` : `${navUrl}?jump=${jump}`, }) this.setData({ submiting: false, }) }) }) .catch(() => { this.setData({ submiting: false, }) }) }, handleVisitors() { app.mpBehavior({ PageName: 'BTN_PatientInfoSkip' }) const backPage = app.globalData.backPage const navUrl = typeof backPage === 'string' && backPage.includes('liveResult') ? backPage.replace('liveResult', 'liveDetail') : '/patient/pages/index/index?visitors=1' wx.ajax({ method: 'POST', url: '?r=zd/login/reg-logout', data: {}, showMsg: false, }).then(() => { app.startLogin(() => { wx.reLaunch({ url: navUrl, success() { app.globalData.backPath = '' if (navUrl.includes('liveDetail')) { setTimeout(() => { wx.showToast({ title: '注册后可享平台完整服务', icon: 'none', }) }, 1000) } }, }) }) }) }, handleSetData(e) { this.setData({ prescriptionImg: e.detail.imgUrl, }) }, handleDelData() { this.setData({ popupShow: true, popupType: 'popup7', }) }, handlePopupOk() { this.setData({ popupShow: false, popupType: '', prescriptionImg: '', }) }, handlePopupCancel() { this.setData({ popupShow: false, popupType: '', }) }, handlePopupClose() { this.setData({ show: false, }) }, handlePreview() { wx.previewImage({ urls: [this.data.prescriptionImg], }) }, handleBack() { wx.navigateBack({ fail() { wx.reLaunch({ url: '/patient/pages/login/index', }) }, }) }, }) export {}