From 69810465183fced4ac498b66eb6a72aa7ca18f67 Mon Sep 17 00:00:00 2001 From: huxuejian Date: Wed, 21 Oct 2026 10:55:45 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96=E9=9C=80=E6=B1=82?= =?UTF-8?q?=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/hlw-drug-manage/drug-dict.js | 1 + src/views/hlw-drug-manage/drug-drawer.vue | 22 ++++++++++++++++--- .../diagnosis-drawer/diagnosis-drawer.vue | 22 ++++++++++--------- src/views/hlw-hospital/chat-home/index.vue | 7 +++++- .../components/history-conversation-list.vue | 11 ++++++++-- src/views/hlw-reg/hlw-reg.vue | 15 +++++++++++-- src/views/home/header.vue | 21 ++++++++++++++++++ 7 files changed, 81 insertions(+), 18 deletions(-) diff --git a/src/views/hlw-drug-manage/drug-dict.js b/src/views/hlw-drug-manage/drug-dict.js index ac82209..0b78c52 100644 --- a/src/views/hlw-drug-manage/drug-dict.js +++ b/src/views/hlw-drug-manage/drug-dict.js @@ -24,6 +24,7 @@ export const drugFieldDict = [ { name: '抗生素级别', field: 'antibiotic_level', verify: (val, label) => verifyListItem(val, [0, 1, 2, 3], false, label, 0) }, { name: '肿瘤使用', field: 'tumor_use', verify: (val, label) => verifyListItem(val, [0, 1, 2, 3], false, label, 0) }, { name: '风险等级', field: 'riskLevel', verify: (val, label) => verifyListItem(val, ['低风险', '高风险'], false, label) }, + { name: '默认医保自费', field: 'forceSelfPay', verify: (val, label) => verifyListItem(val, ['Y', 'N'], false, label) }, // 仅在线药品库使用:管理分类(处方药 / OTC)与剂型 { name: '管理分类', field: 'manage_category', verify: (val, label) => verifyString(val, label) }, { name: '剂型', field: 'dosage_form', required: true, verify: (val, label) => verifyString(val, label, 1) }, diff --git a/src/views/hlw-drug-manage/drug-drawer.vue b/src/views/hlw-drug-manage/drug-drawer.vue index fef9e6e..cb21886 100644 --- a/src/views/hlw-drug-manage/drug-drawer.vue +++ b/src/views/hlw-drug-manage/drug-drawer.vue @@ -46,6 +46,15 @@ + + + + 是 + 否 + + +
@@ -68,6 +77,7 @@
{{ diagnosisLabel(item) }} @@ -230,8 +240,14 @@ const selectedDiagnosisOptions = computed(() => { const optionMap = new Map(diagnosisOptions.value.map(item => [String(item.code), item])); const defaultOptionMap = new Map(diagnosisDefaultOptions.value.map(item => [String(item.code), item])); return (form.value.applicableDiagnosisCodes || []) - .map(code => optionMap.get(String(code)) || defaultOptionMap.get(String(code))) - .filter(Boolean); + .map(code => { + const normalizedCode = String(code); + return optionMap.get(normalizedCode) + || defaultOptionMap.get(normalizedCode) + // Historical diagnosis codes may no longer exist in the diagnosis library. + // Keep them visible so the user can remove them and pass server validation. + || { code: normalizedCode, name: '已失效诊断', invalid: true }; + }); }) function isDiagnosisSelected(code) { @@ -371,7 +387,7 @@ async function getRepeatTags() { watch(() => props.visible, async (val) => { if (val) { // reset local editForm when opening drawer - editForm.value = props.data._id ? {} : { antibiotic_level: 0, tumor_use: 0 } + editForm.value = props.data._id ? {} : { antibiotic_level: 0, tumor_use: 0, forceSelfPay: 'N' } diagnosisKeyword.value = '' await Promise.all([attachMedicineConfig(), initializeDiagnoses()]) if (props.libType === 'online') { diff --git a/src/views/hlw-hospital/chat-home/diagnosis-drawer/diagnosis-drawer.vue b/src/views/hlw-hospital/chat-home/diagnosis-drawer/diagnosis-drawer.vue index 0493975..851a96f 100644 --- a/src/views/hlw-hospital/chat-home/diagnosis-drawer/diagnosis-drawer.vue +++ b/src/views/hlw-hospital/chat-home/diagnosis-drawer/diagnosis-drawer.vue @@ -6,10 +6,10 @@
{{ consultInfo.name }} - {{ consultInfo.sex }} {{ consultInfo.age ? consultInfo.age + '岁' : '' - }} - 客户签名 + + {{ consultInfo.sex }} {{ consultInfo.age ? consultInfo.age + '岁' : '' }} + +
@@ -143,12 +143,12 @@ - +