修复门诊工作站医生开医嘱的表单标题与内容无法对应的问题

This commit is contained in:
wangjian963
2026-01-09 17:36:36 +08:00
parent 86673d7be3
commit 089e28f913

View File

@@ -766,20 +766,30 @@
</el-table-column> </el-table-column>
<el-table-column type="selection" align="center" width="60" /> <el-table-column type="selection" align="center" width="60" />
<el-table-column label="" align="center" width="60" prop="groupIcon" /> <el-table-column label="" align="center" width="60" prop="groupIcon" />
<el-table-column label="医嘱" align="center" prop="productName" width="400"> <el-table-column label="医嘱类型" align="center" prop="productName" width="130">
<template #default="scope"> <template #default="scope">
<template v-if="scope.row.isEdit"> <template v-if="scope.row.isEdit">
<el-select <el-select
style="width: 35%; margin-right: 20px" size="default"
style="width: 100%;"
v-model="scope.row.adviceType" v-model="scope.row.adviceType"
:ref="'adviceTypeRef' + scope.$index" :ref="'adviceTypeRef' + scope.$index"
placeholder="选择类型"
clearable
@change=" @change="
(value) => { (value) => {
expandOrder = []; expandOrder = [];
// 当医嘱类型改变时,清空当前选择的项目名称,因为不同类型项目的数据结构可能不兼容
prescriptionList[scope.$index].adviceName = undefined; prescriptionList[scope.$index].adviceName = undefined;
adviceQueryParams.adviceType = value; adviceQueryParams.adviceType = value;
} }
" "
@clear="
() => {
prescriptionList[scope.$index].adviceName = undefined;
prescriptionList[scope.$index].adviceType_dictText = '';
}
"
> >
<el-option <el-option
v-for="item in adviceTypeList" v-for="item in adviceTypeList"
@@ -792,13 +802,26 @@
prescriptionList[scope.$index].adviceType_dictText = item.label; prescriptionList[scope.$index].adviceType_dictText = item.label;
} }
" "
/> >
<span style="float: left">{{ item.label }}</span>
<span style="float: right; color: var(--el-text-color-secondary); font-size: 12px">
{{ item.value }}
</span>
</el-option>
</el-select> </el-select>
</template>
<el-tag v-else size="small" type="primary">{{ scope.row.adviceType_dictText }}</el-tag>
</template>
</el-table-column>
<el-table-column label="项目" align="center" prop="" width="280">
<template #default="scope">
<template v-if="scope.row.isEdit">
<el-popover <el-popover
:popper-style="{ padding: '0' }" :popper-style="{ padding: '0' }"
placement="bottom-start" placement="bottom-start"
:visible="scope.row.showPopover" :visible="scope.row.showPopover"
:width="1200" :width="1200"
trigger="manual"
> >
<adviceBaseList <adviceBaseList
ref="adviceTableRef" ref="adviceTableRef"
@@ -814,12 +837,15 @@
<template #reference> <template #reference>
<el-input <el-input
:ref="'adviceRef' + scope.$index" :ref="'adviceRef' + scope.$index"
style="width: 50%" size="default"
style="width: 100%;"
v-model="scope.row.adviceName" v-model="scope.row.adviceName"
placeholder="请选择项目" placeholder="输入项目名称搜索或点击选择"
clearable
@input="handleChange" @input="handleChange"
@click="handleFocus(scope.row, scope.$index)" @click="handleFocus(scope.row, scope.$index)"
@blur="handleBlur(scope.row)" @blur="handleBlur(scope.row)"
@clear="() => { scope.row.adviceName = undefined; }"
@keyup.enter.stop="handleFocus(scope.row, scope.$index)" @keyup.enter.stop="handleFocus(scope.row, scope.$index)"
@keydown=" @keydown="
(e) => { (e) => {
@@ -832,11 +858,23 @@
} }
} }
" "
/> >
<template #prefix>
<el-icon><Search /></el-icon>
</template>
<template #suffix v-if="scope.row.adviceName">
<el-icon style="cursor: pointer; color: var(--el-color-info);" title="快速选择">
<ArrowDown />
</el-icon>
</template>
</el-input>
</template> </template>
</el-popover> </el-popover>
</template> </template>
<span v-else>{{ scope.row.adviceName }}</span> <div v-else style="display: flex; align-items: center; gap: 8px;">
<el-icon color="var(--el-color-primary)"><Memo /></el-icon>
<span>{{ scope.row.adviceName }}</span>
</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="状态" align="center" prop="" width="90"> <el-table-column label="状态" align="center" prop="" width="90">
@@ -991,8 +1029,9 @@ import SkinTestInfo from './skinTestInfo';
import Decimal from 'decimal.js'; import Decimal from 'decimal.js';
import useUserStore from '@/store/modules/user'; import useUserStore from '@/store/modules/user';
import {ElMessage, ElMessageBox} from 'element-plus'; import {ElMessage, ElMessageBox} from 'element-plus';
import {ArrowDown} from '@element-plus/icons-vue'; import {ArrowDown, Search, Memo} from '@element-plus/icons-vue';
import printUtils, {getPrinterList, PRINT_TEMPLATE, savePrinterToCache,} from '@/utils/printUtils'; import printUtils, {getPrinterList, PRINT_TEMPLATE, savePrinterToCache,} from '@/utils/printUtils';
import Template from "@/views/inpatientDoctor/home/emr/components/template.vue";
const emit = defineEmits(['selectDiagnosis']); const emit = defineEmits(['selectDiagnosis']);
const total = ref(0); const total = ref(0);