From 992ef569a8d6964f9b101d929f7998e84e94dd97 Mon Sep 17 00:00:00 2001 From: huxuejian Date: Thu, 10 Sep 2026 09:05:06 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E5=A2=9E=E5=8A=A0=20=E7=94=A8=E8=8D=AF?= =?UTF-8?q?=E6=97=B6=E6=9C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/consult/select-drug/edit-popup.vue | 26 ++++++++++++++++++++++++ store/db.js | 4 ++++ 2 files changed, 30 insertions(+) diff --git a/pages/consult/select-drug/edit-popup.vue b/pages/consult/select-drug/edit-popup.vue index 6263c76..4c00322 100644 --- a/pages/consult/select-drug/edit-popup.vue +++ b/pages/consult/select-drug/edit-popup.vue @@ -46,6 +46,13 @@ + + + 用药时机 + {{ current.dose_time_name }} + + + 已为您填入药品常规用量,请确认! @@ -80,6 +87,8 @@ const popup = ref() const current = ref({}) const usageIndex = ref(0) const frequencyIndex = ref(0) +const timeIndex = ref(0) + const gtMax = computed(() => { return current.value.quantity > current.value.recommended_quantity && current.value.recommended_quantity > 0 }) @@ -89,6 +98,10 @@ const usageList = computed(() => { const frequencyList = computed(() => { return props.consultType === 'onlineMedicinePurchase' ? onlineMedicine.value.frequencyList : storeMedicine.value.frequencyList; }) +const timeList = computed(() => { + return props.consultType === 'onlineMedicinePurchase' ? onlineMedicine.value.timeList : storeMedicine.value.timeList; +}) + function usageChange(e) { const index = e.detail.value; @@ -106,6 +119,13 @@ function frequencyChange(e) { frequencyIndex.value = index; } +function timeChange(e) { + const index = e.detail.value; + const time = timeList.value[index]; + current.value.dose_time_name = time ? time.name : ''; + timeIndex.value = index; +} + function close() { emits('close') } @@ -123,6 +143,9 @@ function confirm() { if (!(frequencyIndex.value >= 0)) { return toast('请选择用药频率', { mask: false }) } + if (!(timeIndex.value >= 0)) { + return toast('请选择用药时机', { mask: false }) + } // 延迟执行是因为 单次剂量以及数量 手动输入的时候 值改变有延时 手机端可以可以出现 开发工具不行 setTimeout(() => { const arr = [current.value.usageName, current.value.frequencyName, current.value.dosage ? `每次${current.value.dosage}${current.value.dosage_unit || ''}` : ''].filter(Boolean); @@ -144,6 +167,9 @@ watch(() => props.visible, (val) => { const frequency = frequencyList.value[frequencyIndex.value]; current.value.frequencyName = frequency ? frequency.name : ''; current.value.frequencyCode = frequency ? frequency.code : ''; + timeIndex.value = timeList.value.findIndex(item => item.name === current.value.dose_time_name); + const time = timeList.value[timeIndex.value]; + current.value.dose_time_name = time ? time.name : ''; } else { popup.value && popup.value.close() } diff --git a/store/db.js b/store/db.js index 4e9c116..8160b22 100644 --- a/store/db.js +++ b/store/db.js @@ -23,12 +23,14 @@ export default defineStore("dbStore", () => { const onlineMedicine = computed(() => ({ frequencyList: medicineConfigGroup.value['online-medicine-frequence'] || [], usageList: medicineConfigGroup.value['online-medicine-administration'] || [], + timeList: medicineConfigGroup.value['medicine-use-time'] || [], })) //门店药品 单次剂量单位 用药频次 用药途径 包装单位 const storeMedicine = computed(() => ({ frequencyList: medicineConfigGroup.value['store-medicine-frequence'] || [], usageList: medicineConfigGroup.value['store-medicine-administration'] || [], + timeList: medicineConfigGroup.value['medicine-use-time'] || [], })) async function getMedicineConfigGroup() { @@ -37,6 +39,8 @@ export default defineStore("dbStore", () => { // `${corpId}-online-medicine-administration`, `${corpId}-store-medicine-frequence`, `${corpId}-store-medicine-administration`, + `${corpId}-store-medicine-use-time`, + ]; const res = await getHlwConfigByCorpIds(corpIds); if (res && res.success && Array.isArray(res.data)) {