588 [住院医生工作站-临床医嘱] 新增无“文字”医嘱类型,系统要实现联动切换至专用展开式填写面板,且缺失频次、执行科室、开始时间等核心字段录入

消除OrderForm ESLint/TS报错
This commit is contained in:
wangjian963
2026-06-24 14:07:38 +08:00
parent 20dade7bf0
commit 1a6cd9af9b
3 changed files with 27 additions and 15 deletions

View File

@@ -748,7 +748,7 @@
T1.unit_code AS unit_code,
T1.status_enum AS status_enum,
'' AS method_code,
'' AS rate_code,
T1.rate_code AS rate_code,
NULL AS dose,
'' AS dose_unit_code,
T3.id AS charge_item_id,

View File

@@ -315,7 +315,7 @@
T1.unit_code AS unit_code,
T1.status_enum AS status_enum,
'' AS method_code,
'' AS rate_code,
T1.rate_code AS rate_code,
NULL AS dose,
'' AS dose_unit_code,
T3.id AS charge_item_id,

View File

@@ -1,6 +1,7 @@
<template>
<!-- eslint-disable vue/no-mutating-props -->
<el-form
:ref="(el) => (formRef = el)"
:ref="setFormRef"
:model="row"
:rules="rules"
:label-width="100"
@@ -75,7 +76,7 @@
data-prop="executeNum"
>
<el-input-number
:ref="(el) => setInputRef('executeNum', el)"
:ref="refFor('executeNum')"
v-model="row.executeNum"
:min="1"
controls-position="right"
@@ -102,7 +103,10 @@
/>
</el-select>
</span>
<span class="medicine-info"> 注射药品{{ row.injectFlag_enumText }} </span>
<span
class="medicine-info"
style="min-width: 140px"
> 注射药品{{ row.injectFlag_enumText }} </span>
<span class="total-amount">
总金额{{ row.totalPrice ? Number(row.totalPrice).toFixed(2) + ' 元' : '0.00 元' }}
</span>
@@ -117,7 +121,7 @@
data-prop="doseQuantity"
>
<el-input-number
:ref="(el) => setInputRef('doseQuantity', el)"
:ref="refFor('doseQuantity')"
v-model="row.doseQuantity"
:min="0"
controls-position="right"
@@ -153,7 +157,7 @@
data-prop="methodCode"
>
<el-select
:ref="(el) => setInputRef('methodCode', el)"
:ref="refFor('methodCode')"
v-model="row.methodCode"
placeholder="给药途径"
clearable
@@ -184,7 +188,7 @@
data-prop="rateCode"
>
<el-select
:ref="(el) => setInputRef('rateCode', el)"
:ref="refFor('rateCode')"
v-model="row.rateCode"
placeholder="频次"
style="width: 120px"
@@ -231,7 +235,7 @@
data-prop="dispensePerDuration"
>
<el-input-number
:ref="(el) => setInputRef('dispensePerDuration', el)"
:ref="refFor('dispensePerDuration')"
v-model="row.dispensePerDuration"
style="width: 148px"
:min="1"
@@ -252,7 +256,7 @@
label-width="80"
>
<el-input-number
:ref="(el) => setInputRef('quantity', el)"
:ref="refFor('quantity')"
v-model="row.quantity"
style="width: 70px"
controls-position="right"
@@ -297,7 +301,7 @@
data-prop="firstDose"
>
<el-input-number
:ref="(el) => setInputRef('firstDose', el)"
:ref="refFor('firstDose')"
v-model="row.firstDose"
style="width: 70px"
controls-position="right"
@@ -399,7 +403,7 @@
data-prop="doseQuantity"
>
<el-input-number
:ref="(el) => setInputRef('doseQuantity', el)"
:ref="refFor('doseQuantity')"
v-model="row.doseQuantity"
:min="0"
controls-position="right"
@@ -481,7 +485,7 @@
data-prop="dispensePerDuration"
>
<el-input-number
:ref="(el) => setInputRef('dispensePerDuration', el)"
:ref="refFor('dispensePerDuration')"
v-model="row.dispensePerDuration"
style="width: 148px"
:min="1"
@@ -504,7 +508,7 @@
label-width="80"
>
<el-input-number
:ref="(el) => setInputRef('quantity', el)"
:ref="refFor('quantity')"
v-model="row.quantity"
style="width: 70px"
controls-position="right"
@@ -548,7 +552,10 @@
<!-- 🔧 文字医嘱面板 (adviceType=8) -->
<template v-else-if="row.adviceType == 8">
<div style="display: flex; align-items: center; margin-bottom: 16px; gap: 16px">
<span class="medicine-title">文字医嘱</span>
<span
class="medicine-title"
style="min-width: auto"
>文字医嘱</span>
<el-form-item
label="开始时间:"
prop="startTime"
@@ -854,6 +861,7 @@
</template>
<script setup lang="ts">
/* eslint-disable vue/no-mutating-props */
import {computed, getCurrentInstance, nextTick, onErrorCaptured, onMounted, ref, watch} from 'vue';
import Decimal from 'decimal.js';
@@ -898,6 +906,9 @@ const { proxy } = getCurrentInstance() as any;
// 创建表单 ref
const formRef = ref();
const setFormRef = (el: any) => {
formRef.value = el;
};
// 将表单 ref 注册到父组件的 $refs 上,以便父组件可以通过 proxy.$refs['formRef' + index] 访问
const registerFormRef = () => {
@@ -1128,6 +1139,7 @@ const calculateTotalAmount = () => {
});
};
const setInputRef = props.handlers.setInputRef;
const refFor = (prop: string) => (el: any) => setInputRef(prop, el);
defineExpose({
stockFormat,