更新
This commit is contained in:
@@ -4075,18 +4075,25 @@ const detailLinkedAppointmentChannelText = computed(() => {
|
|||||||
|
|
||||||
const detailRxHerbs = computed(() => normalizeSlipHerbs(detailPrescription.value?.herbs))
|
const detailRxHerbs = computed(() => normalizeSlipHerbs(detailPrescription.value?.herbs))
|
||||||
|
|
||||||
/** 详情:是否含辅方药材(用于决定是否展示辅方用量 / 用法) */
|
/** 详情:是否含辅方药材(仅 formula_type=辅方;医助无药材权限时 herbs 被剥离,用后端 has_aux_formula) */
|
||||||
const detailHasAuxHerbs = computed(() => {
|
function prescriptionHasAuxFormula(rx: Record<string, unknown> | null | undefined): boolean {
|
||||||
const herbs = detailPrescription.value?.herbs
|
if (!rx) return false
|
||||||
if (!Array.isArray(herbs)) return false
|
const herbs = rx.herbs
|
||||||
return herbs.some((h: any) => normalizeSlipFormulaType(h?.formula_type) === '辅方')
|
if (Array.isArray(herbs)) {
|
||||||
})
|
return herbs.some((h: any) => normalizeSlipFormulaType(h?.formula_type) === '辅方')
|
||||||
|
}
|
||||||
|
return Number(rx.has_aux_formula) === 1
|
||||||
|
}
|
||||||
|
|
||||||
|
const detailHasAuxHerbs = computed(() => prescriptionHasAuxFormula(detailPrescription.value as any))
|
||||||
|
|
||||||
/** 详情:辅方用法(aux_usage JSON 经规范化后的对象,与处方类型一致) */
|
/** 详情:辅方用法(aux_usage JSON 经规范化后的对象,与处方类型一致) */
|
||||||
const detailAuxUsage = computed(() => {
|
const detailAuxUsage = computed(() => {
|
||||||
const rx = detailPrescription.value as any
|
const rx = detailPrescription.value as any
|
||||||
if (!rx) return null
|
if (!rx || !prescriptionHasAuxFormula(rx)) return null
|
||||||
return normalizeSlipAuxUsageForm(rx.aux_usage, rx.prescription_type || '浓缩水丸')
|
const raw = rx.aux_usage
|
||||||
|
if (raw == null || raw === '' || (Array.isArray(raw) && raw.length === 0)) return null
|
||||||
|
return normalizeSlipAuxUsageForm(raw, rx.prescription_type || '浓缩水丸')
|
||||||
})
|
})
|
||||||
|
|
||||||
/** false=无权限;true/缺省兼容旧接口(旧版未下发该字段时仍展示药材) */
|
/** false=无权限;true/缺省兼容旧接口(旧版未下发该字段时仍展示药材) */
|
||||||
|
|||||||
@@ -1036,7 +1036,17 @@ class PrescriptionOrderLogic
|
|||||||
$canHerbs = self::canViewPrescriptionHerbsInOrderDetail($adminInfo);
|
$canHerbs = self::canViewPrescriptionHerbsInOrderDetail($adminInfo);
|
||||||
$arr['prescription_detail_herbs_visible'] = $canHerbs;
|
$arr['prescription_detail_herbs_visible'] = $canHerbs;
|
||||||
if (! $canHerbs && isset($arr['prescription']) && is_array($arr['prescription'])) {
|
if (! $canHerbs && isset($arr['prescription']) && is_array($arr['prescription'])) {
|
||||||
unset($arr['prescription']['herbs']);
|
$rx = &$arr['prescription'];
|
||||||
|
$herbs = is_array($rx['herbs'] ?? null) ? $rx['herbs'] : [];
|
||||||
|
$hasAux = false;
|
||||||
|
foreach ($herbs as $h) {
|
||||||
|
if (is_array($h) && (string) ($h['formula_type'] ?? '') === '辅方') {
|
||||||
|
$hasAux = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$rx['has_aux_formula'] = $hasAux ? 1 : 0;
|
||||||
|
unset($rx['herbs']);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 诊单医助 / 诊单创建人姓名(tcm_diagnosis.admin_id);部门见下方:优先业务订单 creator_id
|
// 诊单医助 / 诊单创建人姓名(tcm_diagnosis.admin_id);部门见下方:优先业务订单 creator_id
|
||||||
|
|||||||
Reference in New Issue
Block a user