Compare commits
2 Commits
cf9ab03b17
...
4053064a22
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4053064a22 | ||
|
|
089e28f913 |
@@ -766,77 +766,115 @@
|
|||||||
</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"
|
||||||
v-model="scope.row.adviceType"
|
style="width: 100%;"
|
||||||
:ref="'adviceTypeRef' + scope.$index"
|
v-model="scope.row.adviceType"
|
||||||
@change="
|
:ref="'adviceTypeRef' + scope.$index"
|
||||||
(value) => {
|
placeholder="选择类型"
|
||||||
expandOrder = [];
|
clearable
|
||||||
prescriptionList[scope.$index].adviceName = undefined;
|
@change="
|
||||||
adviceQueryParams.adviceType = value;
|
(value) => {
|
||||||
}
|
expandOrder = [];
|
||||||
"
|
// 当医嘱类型改变时,清空当前选择的项目名称,因为不同类型项目的数据结构可能不兼容
|
||||||
|
prescriptionList[scope.$index].adviceName = undefined;
|
||||||
|
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"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
:label="item.label"
|
:label="item.label"
|
||||||
:value="item.value"
|
:value="item.value"
|
||||||
@click="
|
@click="
|
||||||
() => {
|
() => {
|
||||||
prescriptionList[scope.$index].adviceType = item.value;
|
prescriptionList[scope.$index].adviceType = item.value;
|
||||||
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"
|
||||||
:popoverVisible="scope.row.showPopover"
|
:popoverVisible="scope.row.showPopover"
|
||||||
:adviceQueryParams="adviceQueryParams"
|
:adviceQueryParams="adviceQueryParams"
|
||||||
:patientInfo="props.patientInfo"
|
:patientInfo="props.patientInfo"
|
||||||
@selectAdviceBase="
|
@selectAdviceBase="
|
||||||
(row) => {
|
(row) => {
|
||||||
selectAdviceBase(scope.row.uniqueKey, row);
|
selectAdviceBase(scope.row.uniqueKey, row);
|
||||||
}
|
}
|
||||||
"
|
"
|
||||||
/>
|
/>
|
||||||
<template #reference>
|
<template #reference>
|
||||||
<el-input
|
<el-input
|
||||||
:ref="'adviceRef' + scope.$index"
|
:ref="'adviceRef' + scope.$index"
|
||||||
style="width: 50%"
|
size="default"
|
||||||
v-model="scope.row.adviceName"
|
style="width: 100%;"
|
||||||
placeholder="请选择项目"
|
v-model="scope.row.adviceName"
|
||||||
@input="handleChange"
|
placeholder="输入项目名称搜索或点击选择"
|
||||||
@click="handleFocus(scope.row, scope.$index)"
|
clearable
|
||||||
@blur="handleBlur(scope.row)"
|
@input="handleChange"
|
||||||
@keyup.enter.stop="handleFocus(scope.row, scope.$index)"
|
@click="handleFocus(scope.row, scope.$index)"
|
||||||
@keydown="
|
@blur="handleBlur(scope.row)"
|
||||||
(e) => {
|
@clear="() => { scope.row.adviceName = undefined; }"
|
||||||
if (!scope.row.showPopover) return;
|
@keyup.enter.stop="handleFocus(scope.row, scope.$index)"
|
||||||
// 拦截上下键和回车事件
|
@keydown="
|
||||||
if (['ArrowUp', 'ArrowDown', 'Enter'].includes(e.key)) {
|
(e) => {
|
||||||
e.preventDefault();
|
if (!scope.row.showPopover) return;
|
||||||
// 传递事件到弹窗容器
|
// 拦截上下键和回车事件
|
||||||
adviceTableRef.handleKeyDown(e);
|
if (['ArrowUp', 'ArrowDown', 'Enter'].includes(e.key)) {
|
||||||
|
e.preventDefault();
|
||||||
|
// 传递事件到弹窗容器
|
||||||
|
adviceTableRef.handleKeyDown(e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
"
|
||||||
"
|
>
|
||||||
/>
|
<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);
|
||||||
|
|||||||
Reference in New Issue
Block a user