From ee1b140902a6d14c314e0f6aa2377daf94bad237 Mon Sep 17 00:00:00 2001 From: ShengLong <452591453@qq.com> Date: Fri, 8 May 2026 16:51:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=87=BA=E4=B8=B8=20=E8=AE=A1=E7=AE=97?= =?UTF-8?q?=E5=85=AC=E5=BC=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin/src/views/consumer/prescription/index.vue | 16 ++++++++++++++++ .../views/consumer/prescription/order_list.vue | 7 ++++--- .../consumer/prescription/order_list_h5.vue | 7 ++++--- 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/admin/src/views/consumer/prescription/index.vue b/admin/src/views/consumer/prescription/index.vue index 8900af65..89cd6e97 100644 --- a/admin/src/views/consumer/prescription/index.vue +++ b/admin/src/views/consumer/prescription/index.vue @@ -2138,6 +2138,22 @@ const rxOutPelletText = computed(() => { function computeOutPellet(v: any): string { if (!v) return '' + if ((v.prescription_type || '浓缩水丸') === '浓缩水丸') { + const days = Number(v.medication_days ?? v.usage_days ?? v.dose_count) + const times = Number(v.times_per_day) + const doseG = Number(v.dosage_amount) + const bags = Number(v.dosage_bag_count) > 0 ? Number(v.dosage_bag_count) : 1 + if ( + Number.isFinite(days) && + Number.isFinite(times) && + Number.isFinite(doseG) && + days > 0 && + times > 0 && + doseG > 0 + ) { + return formatNum(days * times * doseG * bags) + } + } const explicit = v.out_pellet || v.total_weight if (explicit && Number(explicit) > 0) return formatNum(Number(explicit)) const list = slipHerbsList.value diff --git a/admin/src/views/consumer/prescription/order_list.vue b/admin/src/views/consumer/prescription/order_list.vue index 15244f30..bf34cdf9 100644 --- a/admin/src/views/consumer/prescription/order_list.vue +++ b/admin/src/views/consumer/prescription/order_list.vue @@ -4701,13 +4701,14 @@ const slipPerBagDosageText = computed(() => { const slipPillGrams = computed(() => { const d = prescriptionViewData.value if (!d || (d.prescription_type || '浓缩水丸') !== '浓缩水丸') return null - /** 用药疗程以业务订单 medication_days 为准,缺省时回退处方 usage_days / 剂数 */ + /** 用药疗程以业务订单 medication_days 为准,缺省时回退处方 usage_days / 剂数;出丸 = 每袋用量×袋数×每天次数×服用天数 */ const days = Number(d.medication_days ?? d.usage_days ?? d.dose_count) const times = Number(d.times_per_day) const doseG = Number(d.dosage_amount) + const bags = Number(d.dosage_bag_count) > 0 ? Number(d.dosage_bag_count) : 1 if (!Number.isFinite(days) || !Number.isFinite(times) || !Number.isFinite(doseG)) return null if (days <= 0 || times <= 0 || doseG <= 0) return null - return days * times * doseG + return days * times * doseG * bags }) /* ============================================================ @@ -4818,7 +4819,7 @@ const rxUsageText = computed(() => { return seg.join(', ') }) -/** 出丸:优先用 slipPillGrams(按医嘱天数·次数·每包克数),否则按药材总量×剂数 */ +/** 出丸:优先用 slipPillGrams(每袋用量×袋数×每天次数×服用天数),否则按药材总量×剂数 */ const rxOutPelletGrams = computed(() => { const pill = slipPillGrams.value if (typeof pill === 'number' && isFinite(pill) && pill > 0) return formatNum(pill) diff --git a/admin/src/views/consumer/prescription/order_list_h5.vue b/admin/src/views/consumer/prescription/order_list_h5.vue index c907ce51..d03b4b45 100644 --- a/admin/src/views/consumer/prescription/order_list_h5.vue +++ b/admin/src/views/consumer/prescription/order_list_h5.vue @@ -4653,13 +4653,14 @@ const slipPerBagDosageText = computed(() => { const slipPillGrams = computed(() => { const d = prescriptionViewData.value if (!d || (d.prescription_type || '浓缩水丸') !== '浓缩水丸') return null - /** 用药疗程以业务订单 medication_days 为准,缺省时回退处方 usage_days / 剂数 */ + /** 用药疗程以业务订单 medication_days 为准,缺省时回退处方 usage_days / 剂数;出丸 = 每袋用量×袋数×每天次数×服用天数 */ const days = Number(d.medication_days ?? d.usage_days ?? d.dose_count) const times = Number(d.times_per_day) const doseG = Number(d.dosage_amount) + const bags = Number(d.dosage_bag_count) > 0 ? Number(d.dosage_bag_count) : 1 if (!Number.isFinite(days) || !Number.isFinite(times) || !Number.isFinite(doseG)) return null if (days <= 0 || times <= 0 || doseG <= 0) return null - return days * times * doseG + return days * times * doseG * bags }) /* ============================================================ @@ -4770,7 +4771,7 @@ const rxUsageText = computed(() => { return seg.join(', ') }) -/** 出丸:优先用 slipPillGrams(按医嘱天数·次数·每包克数),否则按药材总量×剂数 */ +/** 出丸:优先用 slipPillGrams(每袋用量×袋数×每天次数×服用天数),否则按药材总量×剂数 */ const rxOutPelletGrams = computed(() => { const pill = slipPillGrams.value if (typeof pill === 'number' && isFinite(pill) && pill > 0) return formatNum(pill)