武田基因病B开发环境
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

226 lines
5.5 KiB

const app = getApp<IAppOption>()
Page({
data: {
popupShow: false,
popupType: 'argument',
// popupType: 'selectIdentity', // 选择您的身份
// popupType: 'bindDoctorReject', // 绑定失败
// popupType: 'bindDoctor', // 绑定成功
// popupType: 'bindDoctorQuestion', // 为什么绑定医生
// popupType: 'conformBindDoctorQuestion', // 确认绑定曾经扫码医生
// popupType: 'conformBindDoctorConform', // 注册后绑定医生码
popupParams: {
position: 'bottom',
} as any,
userInfo: {},
bannerList: [],
knowledgeList: [] as any,
questionList: [] as any,
pageTop: '',
background: 'transparent',
guide: 0,
guideShow: false,
guideList: ['2-1', '2-2', '2-3'],
},
onLoad() {
app.waitLogin({ type: 0 }).then(() => {
app.getUserInfo().then((userInfo) => {
this.setData({
userInfo,
popupShow: !userInfo.guestPrivacyAgree,
popupParams: {
position: 'bottom',
},
})
const waitBindDoctorId = app.globalData.waitBindDoctorId
if (!userInfo.guestPrivacyAgree) {
app.mpBehavior({ PageName: 'PG_PATIENTLOGIN' })
} else if (waitBindDoctorId) {
this.handleBindDoctor(waitBindDoctorId)
}
})
this.getBanner()
this.getKnowledgeList()
this.getQuestionList()
})
},
handleBindDoctor(id: string) {
app.getDoctorInfo(id).then((res) => {
this.setData({
popupShow: true,
popupType: 'conformBindDoctorConform',
popupParams: {
name: res.doctorName,
avatar: res.doctorAvatar,
hostipal: res.hospitalName,
className: res.hospitalClassificationName,
levelName: res.hospitalLevelName,
},
})
})
},
getBanner() {
wx.ajax({
method: 'GET',
url: '?r=wtx/common/banner-config',
data: {},
}).then((res) => {
this.setData({
bannerList: res,
})
})
},
getKnowledgeList() {
wx.ajax({
method: 'GET',
url: '?r=wtx/knowledge/index-list',
data: {},
}).then((res) => {
this.setData({
knowledgeList: res.list,
})
})
},
getQuestionList() {
wx.ajax({
method: 'GET',
url: '?r=wtx/common-question/index-list',
data: {},
}).then((res) => {
this.setData({
questionList: res.list,
})
})
},
onBannerItemTap(e: any) {
app.mpBehavior({ PageName: 'BTN_HOMEBANNER' })
const { path } = e.currentTarget.dataset
wx.navigateTo({
url: path,
})
},
handleKnowledge() {
app.mpBehavior({ PageName: 'BTN_HOMEEDUCATIONALL' })
wx.switchTab({
url: '/pages/knowledge/index',
})
},
handleKnowledgeDetail(e: any) {
app.mpBehavior({ PageName: 'BTN_HOMEEDUCATIONCARD' })
const { index } = e.currentTarget.dataset
const params = this.data.knowledgeList[index]
if (params.Type == 1) {
wx.navigateTo({
url: `/pages/knowledgeDetail/index?id=${params.Id}`,
})
return
}
wx.navigateTo({
url: `/pages/knowledgeDetailVideo/index?id=${params.Id}`,
})
},
handleAskItem(e) {
app.mpBehavior({ PageName: 'BTN_HOMEFAQENTRY' })
const { id } = e.currentTarget.dataset
wx.navigateTo({
url: `/pages/ask/index?id=${id}`,
})
wx.ajax({
method: 'POST',
url: '?r=wtx/common-question/click',
data: { Id: id },
})
},
routerTo(e) {
const { url } = e.currentTarget.dataset
const PageName = {
'/pages/applyFrom/index': 'BTN_HOMEPREAPPLYCARD',
'/pages/ask/index': 'BTN_HOMEFAQENTRY',
}[url]
if (PageName) {
app.mpBehavior({ PageName })
}
wx.navigateTo({
url,
})
},
touchmovePreview() {
return false
},
handleTapPreview() {
if (this.data.guide == this.data.guideList.length - 1) {
this.setData({
guideShow: false,
})
}
this.setData({
guide: Number(this.data.guide) + 1,
})
},
handlePopupOk() {
const { popupType } = this.data
if (popupType === 'argument') {
app.mpBehavior({ PageName: 'BTN_PATIENTLOG' })
wx.ajax({
method: 'POST',
url: '?r=wtx/user/agree-guest-privacy',
data: {
WorkerId: app.globalData.scene?.workerId || '',
},
}).then(() => {
this.setData({
popupShow: false,
popupType: '',
popupParams: {},
})
const waitBindDoctorId = app.globalData.waitBindDoctorId
if (waitBindDoctorId) {
this.handleBindDoctor(waitBindDoctorId)
}
})
}
if (popupType === 'conformBindDoctorConform') {
this.setData({
popupShow: false,
})
wx.ajax({
method: 'POST',
url: '?r=wtx/account/wait-bind-doctor',
data: {
doctorId: app.globalData.waitBindDoctorId,
},
}).then(() => {
wx.navigateTo({
url: `/patient/pages/login/index`,
})
})
}
},
handlePopupCancel() {
const { popupType } = this.data
if (popupType === 'argument') {
wx.exitMiniProgram()
}
if (popupType === 'conformBindDoctorConform') {
this.setData({
popupShow: false,
})
wx.ajax({
method: 'POST',
url: '?r=wtx/account/wait-bind-doctor',
data: {
doctorId: app.globalData.waitBindDoctorId,
},
}).then(() => {
app.globalData.waitBindDoctorId = ''
})
}
},
})
export {}