diff --git a/admin/src/api/stats.ts b/admin/src/api/stats.ts index b64e2ba9..9886fe7e 100644 --- a/admin/src/api/stats.ts +++ b/admin/src/api/stats.ts @@ -68,6 +68,19 @@ export function yejiStatsLeadLines(params: { return request.get({ url: '/stats.yejiStats/leadLines', params }) } +/** 二中心复诊:部门行下钻医助 × 业务订单笔数 */ +export function yejiStatsRevisitBreakdown(params: { + start_date: string + end_date: string + dept_id: number + revisit_slot: number + dept_ids?: string + channel_code?: string + tag_id?: string +}) { + return request.get({ url: '/stats.yejiStats/revisitBreakdown', params }) +} + export function doctorDailyStatsOverview(params: { start_date?: string end_date?: string diff --git a/admin/src/views/consumer/prescription/index.vue b/admin/src/views/consumer/prescription/index.vue index 2c93363e..2d8b9898 100644 --- a/admin/src/views/consumer/prescription/index.vue +++ b/admin/src/views/consumer/prescription/index.vue @@ -669,6 +669,49 @@ + + +
+ +

+ 当前处方暂无关联业务订单,或您无订单列表权限;若有订单,将在此处显示订单内 + 服用天数与 + 医助备注。 +

+
+
@@ -1183,7 +1226,7 @@ - + + + + @@ -1333,6 +1386,7 @@ import { prescriptionDetail, prescriptionOrderCreate, prescriptionOrderPaidPayOrders, + prescriptionOrderLists, getDoctors, prescriptionLibraryLists } from '@/api/tcm' @@ -1475,6 +1529,7 @@ const createOrderForm = reactive({ amount: 0, internal_cost: undefined as number | undefined, remark_extra: '', + remark_assistant: '', pay_order_ids: [] as number[] }) @@ -1714,6 +1769,7 @@ function resetCreateOrderForm() { createOrderForm.amount = 0 createOrderForm.internal_cost = undefined createOrderForm.remark_extra = '' + createOrderForm.remark_assistant = '' createOrderForm.pay_order_ids = [] createOrderPatientList.value = [] createOrderPaidOrders.value = [] @@ -1884,7 +1940,8 @@ async function submitCreateOrderFromPrescription() { tracking_number: createOrderForm.tracking_number || '', fee_type: createOrderForm.fee_type, amount: createOrderForm.amount, - remark_extra: createOrderForm.remark_extra || '' + remark_extra: createOrderForm.remark_extra || '', + remark_assistant: createOrderForm.remark_assistant || '' } // 添加省市区字段 @@ -2238,6 +2295,52 @@ const editForm = reactive({ times_per_day: 2 }) +/** 编辑页:关联业务订单上的服用天数、医助备注(与处方提示一致) */ +const rxLinkedOrderHint = reactive({ + loading: false, + orderNo: '', + medicationDays: null as number | null, + remarkAssistant: '' +}) + +function clearRxLinkedOrderHint() { + rxLinkedOrderHint.loading = false + rxLinkedOrderHint.orderNo = '' + rxLinkedOrderHint.medicationDays = null + rxLinkedOrderHint.remarkAssistant = '' +} + +async function loadRxLinkedOrderHintForEdit(prescriptionId: number) { + rxLinkedOrderHint.orderNo = '' + rxLinkedOrderHint.medicationDays = null + rxLinkedOrderHint.remarkAssistant = '' + if (!prescriptionId) { + rxLinkedOrderHint.loading = false + return + } + rxLinkedOrderHint.loading = true + try { + const data: any = await prescriptionOrderLists({ + page_no: 1, + page_size: 5, + prescription_id: prescriptionId + }) + const lists = data?.lists + const row = Array.isArray(lists) && lists.length ? lists[0] : null + if (row) { + rxLinkedOrderHint.orderNo = String(row.order_no || '').trim() + const md = row.medication_days + const mdn = md !== null && md !== undefined && String(md).trim() !== '' ? Number(md) : NaN + rxLinkedOrderHint.medicationDays = Number.isFinite(mdn) && mdn > 0 ? mdn : null + rxLinkedOrderHint.remarkAssistant = String(row.remark_assistant || '').trim() + } + } catch { + /* 无列表权限或网络错误:保持空 */ + } finally { + rxLinkedOrderHint.loading = false + } +} + const diagnosisViewRef = ref<{ openViewOnly: (id: number) => Promise } | null>(null) @@ -2882,6 +2985,7 @@ const resetForm = () => { editForm.is_system_auto = 0 editForm.business_prescription_audit_rejected = 0 editForm.business_prescription_audit_remark = '' + clearRxLinkedOrderHint() } // 新增处方 @@ -3009,8 +3113,9 @@ const handleEdit = async (row: any) => { setTimeout(() => { isLoadingData.value = false }, 0) - + showEdit.value = true + void loadRxLinkedOrderHintForEdit(Number(editForm.id)) nextTick(() => { formRef.value?.clearValidate() scheduleEditSignatureInit() diff --git a/admin/src/views/consumer/prescription/order_list.vue b/admin/src/views/consumer/prescription/order_list.vue index f5908bdc..806c9ec5 100644 --- a/admin/src/views/consumer/prescription/order_list.vue +++ b/admin/src/views/consumer/prescription/order_list.vue @@ -994,7 +994,7 @@