+ 仅更新处方表 patient_name、gender、phone,不改变审核状态;记录写入业务订单操作日志(有关联订单时可在此订单日志中查看)。 +
+ +药房备注:{{ rxPharmacyRemarkText }}
-+
出丸:{{ rxOutPelletText }}
@@ -2589,6 +2604,7 @@ import { getDictData } from '@/api/app' import { deptAll } from '@/api/org/department' import { usePaging } from '@/hooks/usePaging' import feedback from '@/utils/feedback' +import { hasPermission } from '@/utils/perm' import { ElMessageBox } from 'element-plus' import type { FormInstance, FormRules } from 'element-plus' import useUserStore from '@/stores/modules/user' @@ -4747,13 +4763,31 @@ const shipForm = reactive({ function openShip(row: { id: number; express_company?: unknown; tracking_number?: unknown; ship_mode?: unknown }) { shipRowId.value = row.id - shipForm.ship_mode = String(row.ship_mode || 'gancao') || 'gancao' + const tn = String(row.tracking_number ?? '').trim() + const sm = String(row.ship_mode ?? '').trim() + if (sm === 'direct' || sm === 'gancao') { + shipForm.ship_mode = sm + } else if (tn) { + // 已填单号时默认走药房直发(如快捷填单号后「确认发货」) + shipForm.ship_mode = 'direct' + } else { + shipForm.ship_mode = 'gancao' + } shipForm.express_company = String(row.express_company || 'auto') || 'auto' shipForm.tracking_number = String(row.tracking_number || '') shipVisible.value = true } async function submitShip() { + if (shipForm.ship_mode !== 'direct') { + if (!hasPermission(['tcm.prescriptionOrder/submitGancaoRecipel'])) { + feedback.msgError('暂无上传甘草药方权限,请改用「药房直发」并填写快递单号,或联系管理员开通权限') + return + } + shipVisible.value = false + await confirmSubmitGancaoRecipel({ id: shipRowId.value }) + return + } if (!shipForm.tracking_number.trim()) { feedback.msgError('请先填写快递单号再确认发货') return @@ -4762,7 +4796,7 @@ async function submitShip() { try { await prescriptionOrderShip({ id: shipRowId.value, - ship_mode: shipForm.ship_mode === 'direct' ? 'direct' : 'gancao', + ship_mode: 'direct', express_company: shipForm.express_company || 'auto', tracking_number: shipForm.tracking_number.trim() }) @@ -5193,6 +5227,8 @@ const rxTypeText = computed(() => { const v = prescriptionViewData.value as any if (!v) return '—' const t = v.prescription_type || '浓缩水丸' + /** 饮片不匹配「丸|散|膏|片」,避免误显示「浓缩丸-饮片」;类型字段直接展示饮片 */ + if (t === '饮片') return '饮片' return /丸|散|膏|片/.test(t) ? `浓缩丸-${t}` : t }) diff --git a/admin/src/views/tcm/diagnosis/components/PatientOrderList.vue b/admin/src/views/tcm/diagnosis/components/PatientOrderList.vue index c2c1e2ec..fd6febad 100644 --- a/admin/src/views/tcm/diagnosis/components/PatientOrderList.vue +++ b/admin/src/views/tcm/diagnosis/components/PatientOrderList.vue @@ -274,6 +274,7 @@