diff --git a/components/AssistantConsultationShell.vue b/components/AssistantConsultationShell.vue index a3b3c38..a48f2fc 100644 --- a/components/AssistantConsultationShell.vue +++ b/components/AssistantConsultationShell.vue @@ -111,6 +111,30 @@ + + + + + + + this.multiSelectedMap[k]).length; + }, }, methods: { handleHeaderBack() { @@ -256,6 +306,28 @@ export default { if (index === 0) return 'yes-btn' return 'no-btn' }, + /** 多选:切换某个适用症的选中状态 */ + toggleMultiAnswer(index) { + if (this.multiSelectedMap[index]) { + this.$delete(this.multiSelectedMap, index); + } else { + this.$set(this.multiSelectedMap, index, true); + } + }, + /** 多选确认:把选中标签用顿号拼接后交给父组件 */ + confirmMultiAnswer() { + const indexes = Object.keys(this.multiSelectedMap) + .filter((k) => this.multiSelectedMap[k]) + .map((k) => Number(k)) + .sort((a, b) => a - b); + if (!indexes.length) return; + const labels = indexes + .map((i) => this.currentQuestionAnswers[i]) + .filter(Boolean); + if (!labels.length) return; + this.$emit('answer', labels.join('、')); + this.multiSelectedMap = {}; + }, }, } @@ -450,12 +522,15 @@ export default { .action-btn { flex: 1; - height: 88rpx; - line-height: 88rpx; + min-height: 88rpx; + height: auto; + line-height: 1.35; + padding: 20rpx 16rpx; border-radius: 44rpx; - font-size: 32rpx; + font-size: 30rpx; font-weight: 500; border: none; + white-space: normal; &::after { border: none; @@ -471,6 +546,48 @@ export default { color: #333; border: 2rpx solid #ddd; } + + &.disabled, + &[disabled] { + opacity: 0.45; + } + } + + &.multi-footer { + flex-direction: column; + gap: 16rpx; + + .multi-options { + display: flex; + flex-wrap: wrap; + gap: 16rpx; + } + + .multi-option-btn { + min-width: 140rpx; + padding: 0 28rpx; + height: 64rpx; + line-height: 64rpx; + border-radius: 32rpx; + font-size: 26rpx; + background: rgba(10, 132, 255, 0.08); + color: #475569; + border: 2rpx solid transparent; + + &::after { + border: none; + } + + &.selected { + background: #0a84ff; + color: #fff; + } + } + + .confirm-btn { + width: 100%; + flex: none; + } } } diff --git a/subPackages/chat/components/MessageBubble.vue b/subPackages/chat/components/MessageBubble.vue index dd9e7b8..70ffa0f 100644 --- a/subPackages/chat/components/MessageBubble.vue +++ b/subPackages/chat/components/MessageBubble.vue @@ -184,6 +184,14 @@ 您的选择 {{ followUpAnsweredLabel }} + + 适用症/症状 + {{ parsedContent.illness_info }} + + + 补充信息 + {{ parsedContent.supplement }} + 请在挂号后的用药确认页完成选择,此处不可更改 @@ -221,7 +229,7 @@ 详情 - + diff --git a/subPackages/doctor/components/FollowUpDrugDrawer.vue b/subPackages/doctor/components/FollowUpDrugDrawer.vue index 18b09b7..115ce98 100644 --- a/subPackages/doctor/components/FollowUpDrugDrawer.vue +++ b/subPackages/doctor/components/FollowUpDrugDrawer.vue @@ -260,6 +260,9 @@ export default { id, drug_name: meta.drug_name || '', quantity: q, + // 适用症随选药带入,复诊助手按药出题用 + indications: meta.indications || '', + indications_array: Array.isArray(meta.indications_array) ? meta.indications_array : [], }); } } diff --git a/subPackages/follow-up/medication-info.vue b/subPackages/follow-up/medication-info.vue index 390a29a..3054ee6 100644 --- a/subPackages/follow-up/medication-info.vue +++ b/subPackages/follow-up/medication-info.vue @@ -17,12 +17,32 @@ :show-question-buttons="postRegisterStep === 'await_answer'" :current-question="postRegisterCurrentQuestion" :current-question-answers="postRegisterQuestionAnswers" + :answer-mode="postRegisterAnswerMode" + :custom-footer-active="postRegisterStep === 'await_supplement'" :is-submitting="postRegisterSubmitting" :show-waiting="postRegisterWaiting" @back="handlePostRegisterBack" @answer="onPostRegisterShellAnswer" @view-agreement="viewPostRegisterAgreement" - /> + > + + +