更新
This commit is contained in:
@@ -669,6 +669,49 @@
|
||||
</el-table-column>
|
||||
|
||||
</el-table>
|
||||
<el-alert
|
||||
v-if="editMode === 'edit'"
|
||||
type="warning"
|
||||
:closable="false"
|
||||
show-icon
|
||||
class="mt-3"
|
||||
v-loading="rxLinkedOrderHint.loading"
|
||||
>
|
||||
<template #title>业务订单要求(请与本处方保持一致)</template>
|
||||
<div class="text-sm mt-1 leading-relaxed">
|
||||
<template
|
||||
v-if="
|
||||
rxLinkedOrderHint.orderNo ||
|
||||
rxLinkedOrderHint.medicationDays != null ||
|
||||
rxLinkedOrderHint.remarkAssistant
|
||||
"
|
||||
>
|
||||
<p v-if="rxLinkedOrderHint.orderNo" class="mb-1.5">
|
||||
最近关联订单(按创建倒序):
|
||||
<span class="font-mono text-primary">{{ rxLinkedOrderHint.orderNo }}</span>
|
||||
</p>
|
||||
<p class="mb-1.5">
|
||||
<span class="font-semibold">服用天数(订单)</span>:
|
||||
{{
|
||||
rxLinkedOrderHint.medicationDays != null
|
||||
? `${rxLinkedOrderHint.medicationDays} 天`
|
||||
: '— 订单未填写'
|
||||
}}
|
||||
</p>
|
||||
<p>
|
||||
<span class="font-semibold">医助备注(订单)</span>:
|
||||
<span class="whitespace-pre-wrap">{{
|
||||
rxLinkedOrderHint.remarkAssistant || '— 无'
|
||||
}}</span>
|
||||
</p>
|
||||
</template>
|
||||
<p v-else-if="!rxLinkedOrderHint.loading" class="text-gray-600">
|
||||
当前处方暂无关联业务订单,或您无订单列表权限;若有订单,将在此处显示订单内
|
||||
<span class="font-semibold">服用天数</span>与
|
||||
<span class="font-semibold">医助备注</span>。
|
||||
</p>
|
||||
</div>
|
||||
</el-alert>
|
||||
</div>
|
||||
</el-form-item>
|
||||
|
||||
@@ -1183,7 +1226,7 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="备注">
|
||||
<el-form-item v-perms="['tcm.prescriptionOrder/editRemarkExtra']" label="药房备注">
|
||||
<el-input
|
||||
v-model="createOrderForm.remark_extra"
|
||||
type="textarea"
|
||||
@@ -1193,6 +1236,16 @@
|
||||
show-word-limit
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="医助备注">
|
||||
<el-input
|
||||
v-model="createOrderForm.remark_assistant"
|
||||
type="textarea"
|
||||
:rows="3"
|
||||
placeholder="选填,医助对内说明"
|
||||
maxlength="500"
|
||||
show-word-limit
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
@@ -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<void>
|
||||
} | 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()
|
||||
|
||||
Reference in New Issue
Block a user