diff --git a/src/components/popup/index.wxml b/src/components/popup/index.wxml index 71c5abc..64d7c0b 100644 --- a/src/components/popup/index.wxml +++ b/src/components/popup/index.wxml @@ -252,7 +252,7 @@ - + 档案已保存 下次就医时可出示该卡给医生 diff --git a/src/components/toast/index.wxml b/src/components/toast/index.wxml index 10d24d1..fa0cb4a 100644 --- a/src/components/toast/index.wxml +++ b/src/components/toast/index.wxml @@ -854,7 +854,7 @@ - + 记录复诊信息 diff --git a/src/pages/d_interactiveDoctor/index.scss b/src/pages/d_interactiveDoctor/index.scss index ce4a11a..d931dc6 100644 --- a/src/pages/d_interactiveDoctor/index.scss +++ b/src/pages/d_interactiveDoctor/index.scss @@ -186,6 +186,49 @@ page { } } } + .follow-result-reason { + margin-bottom: 32rpx; + padding: 32rpx; + border-radius: 32rpx; + background-color: #fff; + .title { + font-size: 32rpx; + color: rgba(33, 29, 46, 1); + } + .info { + margin-top: 20rpx; + padding: 24rpx; + background-color: rgba(246, 248, 249, 1); + border-radius: 16rpx; + .info-item { + font-size: 32rpx; + padding-left: 50rpx; + color: rgba(33, 29, 46, 1); + .label { + display: inline; + font-weight: bold; + } + .value { + display: inline; + } + &::before { + margin-left: -30rpx; + margin-right: 20rpx; + margin-top: 20rpx; + display: inline-block; + flex-shrink: 0; + content: ''; + width: 10rpx; + height: 10rpx; + border-radius: 50%; + background-color: #7d7d82; + } + &:not(:first-of-type) { + margin-top: 24rpx; + } + } + } + } .follow-result { margin-bottom: 32rpx; padding: 32rpx; @@ -522,14 +565,22 @@ page { display: flex; align-items: center; justify-content: center; + &.disabled { + color: rgba(105, 104, 110, 1); + border-color: rgba(105, 104, 110, 1); + } } .btn2 { padding: 0; - background: linear-gradient(344deg, #ffbcf9 0%, #b982ff 100%); + background: linear-gradient(180deg, #ffbcf9 0%, #b982ff 100%); color: #ffffff; display: flex; align-items: center; justify-content: center; + &.disabled { + background: rgba(246, 248, 249, 1); + color: rgba(105, 104, 110, 1); + } } } } @@ -572,8 +623,12 @@ page { display: flex; align-items: center; justify-content: center; - background: linear-gradient(180deg, #e98ff8 0%, #b073ff 100%); + background: linear-gradient(180deg, #ffbcf9 0%, #b982ff 100%); border-radius: 64rpx 64rpx 64rpx 64rpx; + &.disabled { + background: rgba(246, 248, 249, 1); + color: rgba(105, 104, 110, 1); + } } } .follow-reset { @@ -593,8 +648,12 @@ page { display: flex; align-items: center; justify-content: center; - background: linear-gradient(180deg, #e98ff8 0%, #b073ff 100%); + background: linear-gradient(180deg, #ffbcf9 0%, #b982ff 100%); border-radius: 64rpx 64rpx 64rpx 64rpx; + &.disabled { + background: rgba(246, 248, 249, 1); + color: rgba(105, 104, 110, 1); + } } } .follow-next { @@ -614,8 +673,12 @@ page { display: flex; align-items: center; justify-content: center; - background: linear-gradient(180deg, #e98ff8 0%, #b073ff 100%); + background: linear-gradient(180deg, #ffbcf9 0%, #b982ff 100%); border-radius: 64rpx 64rpx 64rpx 64rpx; + &.disabled { + background: rgba(246, 248, 249, 1); + color: rgba(105, 104, 110, 1); + } } } } diff --git a/src/pages/d_interactiveDoctor/index.ts b/src/pages/d_interactiveDoctor/index.ts index aecac39..91a0a58 100644 --- a/src/pages/d_interactiveDoctor/index.ts +++ b/src/pages/d_interactiveDoctor/index.ts @@ -4,7 +4,7 @@ const app = getApp() interface IMessageItem { msgId: string - msgContentType: '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12' | '13' | '14' | '15' // 1:文本 2: 出诊时间 3: adl卡片 4: 语音 5: 欢迎语 6:补充真实姓名 7: 提醒完善信息 8: 复诊卡片 9:患者恢复复诊消息 12:复诊提醒 13:复诊提醒-快速问答 14:复诊提醒-未复诊鼓励 15:复诊提醒-已复诊结果 + msgContentType: '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12' | '13' | '14' | '15' | '16' | '17' // 1:文本 2: 出诊时间 3: adl卡片 4: 语音 5: 欢迎语 6:补充真实姓名 7: 提醒完善信息 8: 复诊卡片 9:患者恢复复诊消息 12:复诊提醒 13:复诊提醒-快速问答 14:未复诊原因 15:未复诊原因回复 16:未复诊鼓励 17:下一步 msgContent: any msgVisitTime: string msgVisitTimeType?: string @@ -13,7 +13,13 @@ interface IMessageItem { msgCreateTime: string // 消息创建时间 msgCreateTimeName?: string // 消息创建时间 showTime?: boolean + ReVisitInfo?: any msgCustomSendStatus?: number | string + msgTipsInfo?: string + followUpStatus?: number // 复诊状态,>0 表示已回复 + replyMsgId?: number // 回复消息ID,>0 表示已回复 + followUpTitle?: string // 复诊原因标题 + followUpTitleChoice?: string // 复诊原因多选提示 } interface Item { @@ -136,6 +142,31 @@ Page({ item.ReVisitInfo = JSON.parse(item.ReVisitInfo) item.ReVisitInfo.visitDateName = dayjs(item.ReVisitInfo.visitDate).format('YYYY年M月DD日') } + if (item.msgContentType === '13') { + const rawInfo = JSON.parse(item.ReVisitInfo) + // 解析结构:{title, lastVisitTitle, visitDate, mySolutionTitle, reVisitSolution} + item.ReVisitInfo = rawInfo + } + if (item.msgContentType === '14') { + const rawInfo = JSON.parse(item.ReVisitInfo) + // 解析结构:{title, titleChoice, missionReasonList, reasonList} + const missionReasonList = rawInfo.missionReasonList || {} + const reasonList = rawInfo.reasonList || [] + item.ReVisitInfo = Object.keys(missionReasonList).map(key => ({ + key, + label: missionReasonList[key], + isSelected: reasonList.includes(key), + })) + item.followUpTitle = rawInfo.title || '请问您没能按时复诊的主要原因是?' + item.followUpTitleChoice = rawInfo.titleChoice || '(多选)' + } + if (item.msgContentType === '15') { + const rawInfo = JSON.parse(item.ReVisitInfo) + // 解析结构:{title, reasonInfoList} + const reasonInfoList = rawInfo.reasonInfoList || {} + item.followUpTitle = rawInfo.title || '没能按时复诊的主要原因是?' + item.ReVisitInfo = Object.keys(reasonInfoList).map(key => reasonInfoList[key]) + } return item }) diff --git a/src/pages/d_interactiveDoctor/index.wxml b/src/pages/d_interactiveDoctor/index.wxml index d6122f8..a467a98 100644 --- a/src/pages/d_interactiveDoctor/index.wxml +++ b/src/pages/d_interactiveDoctor/index.wxml @@ -69,20 +69,24 @@ 9.其他 + + {{message.ReVisitInfo.title}} + + + {{message.ReVisitInfo.lastVisitTitle}} + {{message.ReVisitInfo.visitDate}} + + + {{message.ReVisitInfo.mySolutionTitle}} + {{item}} + + + - 医生您好,我刚刚完成了复诊记录: + {{message.followUpTitle}} - - - 我最近一次复诊时间是: - 2025年6月11日 - - - - - 我的方案是: - 生物制剂IGF-1R抗体(替妥尤单抗)第2次使用替妥尤单抗 - + + {{item}} @@ -151,13 +155,13 @@ {{message.msgContent}} 完善个人信息 - - - 您最近有按照医生的 提醒,定期复诊吗? - +