版本更新

This commit is contained in:
Zhang.WH
2025-09-03 15:54:41 +08:00
parent 0b93d16b64
commit 8f82322d10
3290 changed files with 154339 additions and 23829 deletions

View File

@@ -0,0 +1,78 @@
import request from '@/utils/request'
/**
* 获取患者列表
*
* @param query 查询参数对象,可以包含多个查询条件
* @returns Promise<any> 返回一个Promise对象解析后得到患者列表数据
*/
export function listPatient(query) {
return request({
url: '/patient-home-manage/init',
method: 'get',
params: query
})
}
/**
* 获取空床列表
*
* @param organizationId 科室ID
* @returns Promise<any> 返回一个Promise对象解析后得到患者列表数据
*/
export function getEmptyBed(organizationId) {
return request({
url: '/patient-home-manage/empty-bed',
method: 'get',
params: { organizationId }
})
}
/**
* 保存换床信息
*
*/
export function saveBedTransfer(params) {
return request({
url: '/patient-home-manage/bed-transfer',
method: 'put',
params: params
})
}
/**
* 获取科室列表
*
* @returns Promise<any> 返回一个Promise对象解析后得到科室列表数据
*/
export function getCaty() {
return request({
url: '/patient-home-manage/caty',
method: 'get'
})
}
/**
* 保存转科信息
*
*/
export function saveDepartmentTransfer(params) {
return request({
url: '/patient-home-manage/department-transfer',
method: 'put',
params: params
})
}
/**
* 保存出院信息
*
*/
export function saveDischargeHospital(params) {
return request({
url: '/patient-home-manage/discharge-from-hospital',
method: 'put',
params: params
})
}

View File

@@ -0,0 +1,560 @@
<template>
<div style="width: 100%; padding: 0px 20px">
<el-row :gutter="20" v-if="cardList.length > 0" class="custom-row">
<el-col
v-for="o in cardList"
:key="o.patientID"
:span="4"
style="margin-bottom: 10px; margin-right: 0px"
class="custom-col"
>
<div class="pf_card" @click="clickAct">
<el-card class="box-card" :body-style="{ padding: '0px' }">
<div class="card-content" @dblclick="openPatientDetailDialog(o)">
<div
class="header"
style="white-space: nowrap; overflow: hidden; text-overflow: ellipsis"
>
<span v-if="o.priorityEnum == 1" class="label1">{{
o.locationId_dictText ? o.locationId_dictText : '暂无床位'
}}</span>
<span v-else-if="o.priorityEnum == 2" class="label2">
{{ o.locationId_dictText ? o.locationId_dictText : '暂无床位' }}
</span>
<span v-else-if="o.priorityEnum == 3" class="label3">
{{ o.locationId_dictText ? o.locationId_dictText : '暂无床位' }}
</span>
<span v-else-if="o.priorityEnum == 4" class="label4">
{{ o.locationId_dictText ? o.locationId_dictText : '暂无床位' }}
</span>
<span v-else-if="o.priorityEnum == '' || o.priorityEnum === null" class="label5">
{{ o.locationId_dictText ? o.locationId_dictText : '暂无床位' }}
</span>
<span v-else class="label5" />
<!-- 左侧内容优先级标签 + 姓名 -->
<div style="flex: 1; overflow: hidden; text-overflow: ellipsis">
<span
class="header-label"
:title="o.patientName"
style="display: inline-block; max-width: 140px"
>{{ o.patientName }}</span
>
</div>
<span class="header-label" style="margin-right: 10px"
>{{ o.genderEnum_enumText }}/{{ o.ageString }}</span
>
</div>
<div class="row">
<div class="layui-inline">
<div>住院号</div>
<div>{{ o.hospitalNo }}</div>
</div>
</div>
<div class="row">
<div class="layui-inline">
<div>入院科室</div>
<div>{{ o.organizationId_dictText }}</div>
</div>
</div>
<div class="row2">
<div class="layui-inline">
<div>诊断</div>
<div class="patientDiagnosis" :title="o.mainDiagnosis">
{{ o.mainDiagnosis }}
</div>
</div>
</div>
<div class="row">
<div class="layui-inline">
<div>入院</div>
<div>{{ o.admissionDate }}</div>
</div>
</div>
<div class="row">
<div class="layui-inline">
<div>入院天数</div>
<div>{{ o.hospitalizationDays }}</div>
</div>
</div>
<!-- <div class="row">
<div class="layui-inline">
<div>手术时间</div>
<div>{{ o.surgeryStartTime }}</div>
</div>
</div>
<div class="row">
<div class="layui-inline">
<div>手术天数</div>
<div>{{ o.postoperativeDays }}</div>
</div>
</div> -->
<div class="row">
<div class="layui-inline">
<div>医生</div>
<div>{{ o.responsibleDoctor }}</div>
</div>
</div>
<div class="row">
<div style="margin-left: 10px">
<!-- <div>操作</div> -->
<el-button type="primary" link>腕带</el-button>
<el-button type="primary" link>床头卡</el-button>
<el-button type="primary" link @click="openTransferCyDialog(o)">出院</el-button>
<el-button type="primary" link @click="openTransferZkDialog(o)">转科</el-button>
<el-button type="primary" link @click="openTransferToBedDialog(o)"
>转床</el-button
>
</div>
</div>
</div>
<!-- </div> -->
</el-card>
</div>
</el-col>
</el-row>
<div v-else class="no-data">暂无患者数据</div>
<patient-detial-dialog
ref="patientDetialDialogRef"
:open="openPatientDetail"
@close="closePatientDetialDialog"
/>
<transfer-to-bed-dialog
ref="transferToBedRef"
:open="openTransferToBed"
@close="closeTransferToBedDialog"
/>
<transfer-dialog
ref="transferRef"
:open="openTransfer"
:title="title"
@close="closeTransferDialog"
/>
</div>
</template>
<script setup>
import patientDetialDialog from './patientDetialDialog.vue';
import transferToBedDialog from './transferToBedDialog.vue';
import transferDialog from './transferDialog.vue';
import { ref, nextTick } from 'vue';
const { proxy } = getCurrentInstance();
const radio = ref(1);
const props = defineProps({
openPrescription: {
type: Boolean,
default: false,
},
cardList: {
type: Object,
required: true,
},
});
const { method_code, unit_code, rate_code, distribution_category_code } = proxy.useDict(
'method_code',
'unit_code',
'rate_code',
'distribution_category_code'
);
const emit = defineEmits(
'close',
'openPatientDetail',
'closePatientDetail',
'submit',
'openTransferToBed',
'closeTransferToBed',
'openTransferZk',
'openTransferCy',
'closeTransfer'
);
const total = ref(0);
const queryParams = ref({
pageNum: 1,
pageSize: 10,
});
const form = reactive({
patientId: '', // 患者
encounterId: '', // 就诊id
prescriptionNo: '', // 处方号
rxTypeCode: 1, // 处方类型编码
validityDays: '', // 有效天数
extensionReason: '', // 延长原因
medicationInfoList: [],
});
// 患者详细对话框相关变量
const patientDetialDialogRef = ref();
const openPatientDetail = ref(false);
const dosageInputRefs = ref([]);
// 转床对话框相关变量
const transferToBedRef = ref();
const openTransferToBed = ref(false);
// 转科/出院对话框相关变量
const transferRef = ref();
const openTransfer = ref(false);
const title = ref('');
const rowRules = ref({
conditionDefinitionId: [{ required: true, message: '请选择诊断', trigger: 'change' }],
dose: [{ required: true, message: '请输入单次剂量', trigger: 'change' }],
doseQuantity: [{ required: true, message: '请输入单次剂量', trigger: 'change' }],
quantity: [{ required: true, message: '请输入数量', trigger: 'change' }],
dispensePerDuration: [{ required: true, message: '请输入用药天数', trigger: 'change' }],
});
const unitMap = ref({
dose: 'dose',
minUnit: 'minUnit',
unit: 'unit',
});
/**
* 打开患者信息详细对话框
*/
function openPatientDetailDialog(row) {
emit('openPatientDetail', row);
}
/**
* 关闭新增处方弹窗
*/
function closePatientDetialDialog(str) {
emit('closePatientDetail');
}
/**
* 打开转床对话框
*/
function openTransferToBedDialog(row) {
console.log(row, '卡片转床弹窗打开');
emit('openTransferToBed', row);
}
/**
* 关闭转床对话框
*/
function closeTransferToBedDialog(str) {
emit('closeTransferToBed');
}
/**
* 打开转科对话框
*/
function openTransferZkDialog(row) {
emit('openTransferZk', row);
}
/**
* 打开出院对话框
*/
function openTransferCyDialog(row) {
emit('openTransferCy', row);
}
/**
* 关闭转科/出院对话框
*/
function closeTransferDialog(str) {
emit('closeTransfer');
}
function close() {
reset();
emit('close');
}
function reset() {
form.medicationInfoList = [];
form.patientId = '';
form.encounterId = '';
form.prescriptionNo = '';
form.rxTypeCode = 1;
form.validityDays = '';
form.extensionReason = '';
}
function getBedBackColor(triageLevel) {
const Level = triageLevel?.display ?? '0级';
let backColor = '#808080';
switch (Level) {
case '1':
backColor = this.colors[0];
break;
case '2':
backColor = this.colors[1];
break;
case '3':
backColor = this.colors[2];
break;
case '4':
backColor = this.colors[3];
break;
default:
backColor = '#C4C4C4';
}
return backColor;
}
function getDisplay(triageLevel) {
return triageLevel?.display ?? '';
}
// defineExpose({
// getPrescriptionNoInit,
// });
</script>
<style scoped>
.pf_card {
outline-style: inherit;
position: relative;
border-radius: 5px;
background-color: #ffffff;
box-shadow: 1px 1px 4px #888888;
border: 1px solid #e2dfdf;
width: 100%;
user-select: none;
font-family: Microsoft YaHei;
/* margin-left: 5px; */
}
.pf_card:hover {
box-shadow: 4px 4px 16px #888888;
}
.layui-input-inline {
display: inline-block;
}
.layui-inline {
display: grid;
grid-template-columns: 30% 60%;
padding: 3% 0 3% 5%;
}
/* .box-card { */
.header {
/* display: grid;
grid-template-columns: 25% 75%;
position: relative;
height: 40px;
grid-template-columns: 25% 75%;
*/
border-bottom: 1px solid #d3d4d6;
/* 可选: 设置行分隔线 */
display: flex;
align-items: center;
white-space: nowrap; /* 禁止换行 */
overflow: hidden; /* 隐藏溢出内容 */
width: 100%; /* 根据需要设置宽度 */
height: 36px; /* 固定高度 */
}
.label1 {
background-color: #a61302;
text-align: center;
padding: 10px 5px;
color: white;
border-radius: 5px;
}
.label2 {
background-color: #ec1500;
text-align: center;
padding: 10px 5px;
color: white;
border-radius: 5px;
}
.label3 {
background-color: #10d45b;
text-align: center;
padding: 10px 5px;
color: white;
border-radius: 5px;
}
.label4 {
background-color: #848d88;
text-align: center;
padding: 10px 5px;
color: white;
border-radius: 5px;
}
.label5 {
text-align: center;
padding: 10px 5px;
border-radius: 5px;
}
.header-label {
/* padding-left: 10px;
padding-top: 8px;
font-size: large;
font-weight: bold; */
display: inline-block;
margin-left: 8px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 150px; /* 根据需要调整 */
font-size: large;
font-weight: bold;
}
/* } */
.card-content .row {
font-size: 15px;
display: grid;
padding: 3px 0;
/* 设置行间距 */
border-bottom: 1px solid #e4e7ed;
/* 可选: 设置行分隔线 */
}
.card-content .row2 {
font-size: 15px;
display: grid;
padding: 3px 0;
/* 设置行间距 */
/* border-bottom: 2px solid #c6c7c7; */
border-bottom: 1px solid #e4e7ed;
/* 可选: 设置行分隔线 */
}
.card-content .row:last-child {
font-size: 15px;
border-bottom: none;
/* 最后一行不显示分隔线 */
}
.exceptionalCare ::before {
content: '';
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 15px;
height: 15px;
border-radius: 50%;
/* 使其成为圆形 */
background-color: #a61302;
/* 背景颜色 */
}
.primaryCare ::before {
content: '';
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 15px;
height: 15px;
border-radius: 50%;
/* 使其成为圆形 */
background-color: #ec1500;
/* 背景颜色 */
}
.secondaryCare ::before {
content: '';
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 15px;
height: 15px;
border-radius: 50%;
/* 使其成为圆形 */
background-color: #10d45b;
/* 背景颜色 */
}
.tertiaryCare ::before {
content: '';
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 15px;
height: 15px;
border-radius: 50%;
/* 使其成为圆形 */
background-color: #848d88;
/* 背景颜色 */
}
.patientDiagnosis {
white-space: nowrap;
/* 不折行 */
overflow: hidden;
/* 隐藏溢出的内容 */
text-overflow: ellipsis;
/* 使用省略号表示溢出 */
width: 150px;
/* 设置宽度,控制显示效果 */
display: block;
/* 必须设置为块级元素或行内块元素 */
margin-left: -3px;
}
.dialog-row {
display: grid;
grid-template-columns: 85% 15%;
margin-left: 15px;
margin-bottom: 2px;
}
.dialog-inline {
display: flex;
}
.dialog-detaile-inline {
font-size: 20px;
display: grid;
grid-template-columns: 40% 75%;
}
.dialog-line1 {
text-align: right;
margin-top: 10px;
}
.dialog-line2 {
border-bottom: 1px solid black;
width: 60%;
text-align: center;
margin-top: 10px;
}
.header-container {
display: inline-flex;
align-items: center;
}
.no-data {
display: grid;
place-items: center; /* 水平和垂直居中 */
height: 100%; /* 确保父容器有高度 */
width: 100%; /* 确保父容器有宽度 */
margin-top: 20px;
}
::v-deep .el-dialog_header {
font-size: 20px;
/* 设置字体大小 */
color: #ff4500;
/* 设置字体颜色 */
}
::v-deep .el-card__body {
padding: 0px !important;
}
.custom-row {
display: flex;
flex-wrap: wrap;
margin-left: -10px !important; /* 抵消 gutter 的 margin */
margin-right: -10px !important;
}
.custom-col {
width: calc(20% - 20px) !important; /* 5列布局 */
margin-left: 10px;
margin-right: 10px;
}
</style>

View File

@@ -0,0 +1,568 @@
<template>
<el-dialog
title="患者详情"
v-model="props.open"
width="1200px"
append-to-body
destroy-on-close
@close="close"
>
<div>
<el-form :model="form" ref="formRef" label-width="110">
<el-row :gutter="24" class="mb8">
<el-col :span="6">
<el-form-item label="患者姓名:" prop="patientName">
<el-input
v-model="form.patientName"
placeholder=""
clearable
style="width: 260px"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="性别:" prop="genderEnum_enumText">
<el-input
v-model="form.genderEnum_enumText"
placeholder=""
clearable
style="width: 260px"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="住院号:" prop="hospitalNo">
<el-input v-model="form.hospitalNo" placeholder="" clearable disabled />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="床号:" prop="locationId_dictText">
<el-input v-model="form.locationId_dictText" placeholder="" clearable disabled />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24" class="mb8">
<el-col :span="6">
<el-form-item label="年龄:" prop="ageString">
<el-input
v-model="form.ageString"
placeholder=""
clearable
style="width: 260px"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="生日:" prop="birthDate">
<el-input
v-model="form.birthDate"
placeholder=""
clearable
style="width: 260px"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="婚姻状态:" prop="maritalStatusEnum_enumText">
<el-input
v-model="form.maritalStatusEnum_enumText"
placeholder=""
clearable
style="width: 260px"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="职业:" prop="prfsEnum_enumText">
<el-input
v-model="form.prfsEnum_enumText"
placeholder=""
clearable
style="width: 260px"
disabled
/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24" class="mb8">
<el-col :span="6">
<el-form-item label="电话:" prop="phone">
<el-input v-model="form.phone" placeholder="" clearable disabled />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="地址:" prop="addressInfo">
<el-input
v-model="form.addressInfo"
placeholder=""
clearable
style="width: 260px"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="民族:" prop="nationalityCode">
<el-input
v-model="form.nationalityCode"
placeholder=""
clearable
style="width: 260px"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="身份证号:" prop="idCard">
<el-input
v-model="form.idCard"
placeholder=""
clearable
style="width: 260px"
disabled
/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24" class="mb8">
<el-col :span="6">
<el-form-item label="籍贯:" prop="nativePlace">
<el-input
v-model="form.nativePlace"
placeholder=""
clearable
style="width: 260px"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="国家:" prop="countryCode">
<el-input
v-model="form.countryCode"
placeholder=""
clearable
style="width: 260px"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="联系人:" prop="linkName">
<el-input
v-model="form.linkName"
placeholder=""
clearable
style="width: 260px"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="联系人关系:" prop="linkRelationCode_codeText">
<el-input
v-model="form.linkRelationCode_codeText"
placeholder=""
clearable
disabled
/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24" class="mb8">
<el-col :span="6">
<el-form-item label="联系人电话:" prop="linkTelcom">
<el-input
v-model="form.linkTelcom"
placeholder=""
clearable
style="width: 260px"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="其他联系人:" prop="linkJsons">
<el-input
v-model="form.linkJsons"
placeholder=""
clearable
style="width: 260px"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="工作单位:" prop="workCompany">
<el-input v-model="form.workCompany" placeholder="" clearable disabled />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="护理级别:" prop="priorityEnum_enumText">
<el-input
v-model="form.priorityEnum_enumText"
placeholder=""
clearable
style="width: 260px"
disabled
/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24" class="mb8">
<el-col :span="6">
<el-form-item label="患者状态:" prop="statusEnum_enumText">
<el-input
v-model="form.statusEnum_enumText"
placeholder=""
clearable
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="入院科室:" prop="organizationId_dictText">
<el-input
v-model="form.organizationId_dictText"
placeholder=""
clearable
style="width: 260px"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="入院日期:" prop="admissionDate">
<el-input
v-model="form.admissionDate"
placeholder=""
clearable
style="width: 260px"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="责任医生:" prop="responsibleDoctor">
<el-input
v-model="form.responsibleDoctor"
placeholder=""
clearable
style="width: 260px"
disabled
/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24" class="mb8">
<el-col :span="6">
<el-form-item label="责任护士:" prop="responsibleNurse">
<el-input v-model="form.responsibleNurse" placeholder="" clearable disabled />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="主要诊断:" prop="mainDiagnosis">
<el-input
v-model="form.mainDiagnosis"
placeholder=""
clearable
style="width: 260px"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="费别:" prop="typeCode_dictText">
<el-input
v-model="form.typeCode_dictText"
placeholder=""
clearable
style="width: 260px"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="住院天数:" prop="hospitalizationDays">
<el-input
v-model="form.hospitalizationDays"
placeholder=""
clearable
style="width: 260px"
disabled
/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24" class="mb8">
<el-col :span="6">
<el-form-item label="就诊类别:" prop="classEnum_enumText">
<el-input
v-model="form.classEnum_enumText"
placeholder=""
clearable
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="术后天数:" prop="postoperativeDays">
<el-input
v-model="form.postoperativeDays"
placeholder=""
clearable
style="width: 260px"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="手术开始日期:" prop="surgeryStartTime">
<el-input
v-model="form.surgeryStartTime"
placeholder=""
clearable
style="width: 260px"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="手术结束日期:" prop="surgeryEndTime">
<el-input
v-model="form.surgeryEndTime"
placeholder=""
clearable
style="width: 260px"
disabled
/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24" class="mb8">
<el-col :span="6">
<el-form-item label="手术状态:" prop="surgeryStatusEnum_enumText">
<el-input
v-model="form.surgeryStatusEnum_enumText"
placeholder=""
clearable
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="过敏原类别:" prop="categoryCode_dictText">
<el-input
v-model="form.categoryCode_dictText"
placeholder=""
clearable
style="width: 260px"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="入院科室名:" prop="caty">
<el-input
v-model="form.caty"
placeholder=""
clearable
style="width: 260px"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="血型ABO" prop="bloodAbo_enumText">
<el-input
v-model="form.bloodAbo_enumText"
placeholder=""
clearable
style="width: 260px"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="血型RH" prop="bloodRh_enumText">
<el-input
v-model="form.bloodRh_enumText"
placeholder=""
clearable
style="width: 260px"
disabled
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<template #footer>
<div class="dialog-footer">
<el-button @click="close"> </el-button>
</div>
</template>
</el-dialog>
</template>
<script setup>
import { ref, nextTick } from 'vue';
import { listPatient } from './api';
const { proxy } = getCurrentInstance();
const props = defineProps({
open: {
type: Boolean,
default: false,
},
patientId: {
type: String,
default: '',
},
});
const { method_code, unit_code, rate_code, distribution_category_code } = proxy.useDict(
'method_code',
'unit_code',
'rate_code',
'distribution_category_code'
);
const emit = defineEmits(['close']);
const queryParams = ref({
pageNum: 1,
pageSize: 10,
patientId: undefined, // 患者id
});
const form = ref({});
const title = ref('');
const rowRules = ref({
conditionDefinitionId: [{ required: true, message: '请选择诊断', trigger: 'change' }],
dose: [{ required: true, message: '请输入单次剂量', trigger: 'change' }],
doseQuantity: [{ required: true, message: '请输入单次剂量', trigger: 'change' }],
quantity: [{ required: true, message: '请输入数量', trigger: 'change' }],
dispensePerDuration: [{ required: true, message: '请输入用药天数', trigger: 'change' }],
});
/**
* 取得患者信息详细
*/
function getPatientDetial() {
reset();
title.value = '';
title.value = props.title;
console.log(props, 'props', title.value);
console.log(queryParams.value, 'queryParams.value', props.patientId);
queryParams.value.patientId = props.patientId;
listPatient(queryParams.value).then((res) => {
if (res.data && res.data.records && res.data.records.length > 0) {
form.value = res.data.records[0];
}
form.value.addressInfo =
form.value.addressProvince +
'' +
form.value.addressCity +
'' +
form.value.addressDistrict +
'' +
form.value.addressStreet +
'' +
form.value.address;
// loading.value = false;
console.log(res, 'resqqqqqqqqqqqqqqqqqqqqqqq', form.value);
});
}
function close() {
reset();
emit('close');
}
/** 重置操作表单 */
function reset() {
form.value = {
id: undefined,
activeFlag: undefined, // 活动标记
tempFlag: undefined, // 临时标识
patientName: undefined, // 患者姓名
nameJson: undefined, // 患者其他名称
hospitalNo: undefined, // 病历号
genderEnum: undefined, // 性别
genderEnum_enumText: undefined, // 性别
birthDate: undefined, // 生日
deceasedDate: undefined, // 死亡时间
maritalStatusEnum: undefined, // 婚姻状态
maritalStatusEnum_enumText: undefined, // 婚姻状态
prfsEnum: undefined, // 职业编码
prfsEnum_enumText: undefined, // 职业编码
phone: undefined, // 电话
address: undefined, // 地址
addressProvince: undefined, // 地址省
addressCity: undefined, // 地址市
addressDistrict: undefined, // 地址区
addressStreet: undefined, // 地址街道
addressJson: undefined, // 患者其他地址
nationalityCode: undefined, // 民族
idCard: undefined, // 身份证号
pyStr: undefined, //拼音码
wbStr: undefined, // 五笔码
bloodAbo: undefined, // 血型ABO
bloodAbo_enumText: undefined, // 血型ABO
bloodRh: undefined, // 血型RH
bloodRh_enumText: undefined, // 血型RH
workCompany: undefined, // 工作单位
nativePlace: undefined, // 籍贯
countryCode: undefined, // 国家编码
linkName: undefined, // 联系人
linkRelationCode: undefined, // 联系人关系
linkRelationCode_codeText: undefined, // 联系人关系
linkTelcom: undefined, // 联系人电话
linkJsons: undefined, // 其他联系人
tenanid: undefined, // 租户ID
ageString: undefined, // 病人年龄
priorityEnum: undefined, // 护理级别
priorityEnum_enumText: undefined, // 护理级别
statusEnum: undefined, // 患者状态
statusEnum_enumText: undefined, // 患者状态
organizationId: undefined, // 入院科室
organizationId_dictText: undefined, // 入院科室
admissionDate: undefined, // 入院日期
dischargeDate: undefined, // 出院日期
responsibleDoctor: undefined, // 责任医生
responsibleNurse: undefined, // 责任护士
mainDiagnosis: undefined, // 主要诊断
typeCode: undefined, // 费别
typeCode_dictText: undefined, // 费别
hospitalizationDays: undefined, //住院天数
classEnum: undefined, // 就诊类别
classEnum_enumText: undefined, // 就诊类别
postoperativeDays: undefined, // 术后天数
surgeryStartTime: undefined, // 手术开始日期
surgeryEndTime: undefined, // 手术结束日期
surgeryStatusEnum: undefined, // 手术状态
surgeryStatusEnum_enumText: undefined, // 手术状态
categoryCode: undefined, // 过敏源类别
categoryCode_dictText: undefined, // 过敏源类别
caty: undefined, // 入院科室名称
locationId: undefined, // 床位号
locationId_dictText: undefined, // 床位号
encounterId: undefined, // 就诊流水号
encounterLocationId: undefined, // 就诊地点流水号
};
proxy.resetForm('formRef');
}
defineExpose({
getPatientDetial,
});
</script>
<style scoped>
:deep(.pagination-container .el-pagination) {
right: 20px !important;
}
</style>

View File

@@ -0,0 +1,235 @@
<template>
<el-dialog
:title="props.title"
v-model="props.open"
width="480px"
append-to-body
destroy-on-close
@close="close"
>
<div>
<el-form :model="form" ref="formRef">
<el-row :gutter="24" class="mb8">
<el-col>
<el-form-item label="病历号:" prop="patientNo" label-width="100">
<el-input
v-model="form.patientNo"
placeholder="病历号"
clearable
style="width: 260px"
disabled
/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24" class="mb8">
<el-col>
<el-form-item label="患者姓名:" prop="patientName" label-width="100">
<el-input
v-model="form.patientName"
placeholder="患者姓名"
clearable
style="width: 260px"
disabled
/>
</el-form-item>
</el-col>
</el-row>
<!-- <el-row :gutter="24" class="mb8" v-if="props.title == '出院'">
<el-col>
<el-form-item label="出院原因:" prop="dscgTrtRslt" label-width="100">
<el-select v-model="form.dscgTrtRslt" clearable>
<el-option
v-for="dict in dscg_trt_rslt_code"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row> -->
<el-row :gutter="24" class="mb8" v-if="props.title == '出院'">
<el-col>
<el-form-item label="出院时间:" prop="DischargeHospitalYmd" label-width="100">
<el-date-picker
v-model="form.DischargeHospitalYmd"
value-format="YYYY-MM-DD HH:mm:ss"
type="datetime"
/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24" class="mb8" v-if="props.title == '转科'">
<el-col>
<el-form-item label="转科去向:" prop="organizationId" label-width="100">
<el-select v-model="form.organizationId" clearable>
<el-option
v-for="caty in catyList"
:key="caty.id"
:label="caty.name"
:value="caty.id"
:disabled="caty.id === form.organizationIdOld"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24" class="mb8" v-if="props.title == '转科'">
<el-col>
<el-form-item label="转科时间:" prop="DepartmentTransferYmd" label-width="100">
<el-date-picker
v-model="form.DepartmentTransferYmd"
value-format="YYYY-MM-DD HH:mm:ss"
type="datetime"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submit">保存</el-button>
<el-button @click="close"> </el-button>
</div>
</template>
</el-dialog>
</template>
<script setup>
import { ref, nextTick } from 'vue';
import { getCaty, saveDepartmentTransfer, saveDischargeHospital } from './api';
const { proxy } = getCurrentInstance();
const props = defineProps({
open: {
type: Boolean,
default: false,
},
title: {
type: String,
default: '',
},
transferInfo: {
type: Object,
},
});
const { dscg_trt_rslt_code, unit_code, rate_code, distribution_category_code } = proxy.useDict(
'dscg_trt_rslt_code',
'unit_code',
'rate_code',
'distribution_category_code'
);
const emit = defineEmits(['close']);
const selectRow = ref({});
const prescriptionTypeList = ref([]);
const catyList = ref([]);
const form = ref({});
const title = ref('');
const rowRules = ref({
conditionDefinitionId: [{ required: true, message: '请选择诊断', trigger: 'change' }],
dose: [{ required: true, message: '请输入单次剂量', trigger: 'change' }],
doseQuantity: [{ required: true, message: '请输入单次剂量', trigger: 'change' }],
quantity: [{ required: true, message: '请输入数量', trigger: 'change' }],
dispensePerDuration: [{ required: true, message: '请输入用药天数', trigger: 'change' }],
});
getCatyList();
/**
* 取得床位号
*/
function show() {
reset();
title.value = '';
title.value = props.title;
form.value = props.transferInfo;
console.log(props, 'props', title.value);
}
/**
* 查询科室信息
*
* @param row 要选择的床位信息对象
*/
function getCatyList() {
getCaty().then((res) => {
if (res.code == 200) {
catyList.value = res.data;
} else {
catyList.value = [];
}
console.log(res, ' catyList.value');
});
}
/**
* 选择科室信息
*
* @param row 要选择科室信息对象
*/
function selectOrganizationId(value) {
console.log(value, ' value');
form.value.organizationId = value;
}
/**
* 保存处方
*/
function submit() {
console.log(form.value, 'form, prescriptionList.value新增处方');
// console.log(row, ' 保存处方row 1234567890');
// 新增的药品信息调用新增接口
if (title.value == '转科') {
saveDepartmentTransfer(form.value).then((res) => {
if (res.code == 200) {
emit('close', 'success');
reset();
}
});
}
if (title.value == '出院') {
saveDischargeHospital(form.value).then((res) => {
if (res.code == 200) {
emit('close', 'success');
reset();
}
});
}
}
function close() {
reset();
emit('close');
}
/**
* 重置表单
*/
function reset() {
form.value = {
organizationId: '',
organizationIdOld: '',
patientName: '',
patientId: '', // 处方号
hospitalNo: '',
dscgTrtRslt: '',
encounterId: '',
encounterLocationId: '',
locationId: '',
DepartmentTransferYmd: undefined,
DischargeHospitalYmd: undefined,
};
proxy.resetForm('formRef');
}
defineExpose({
show,
});
</script>
<style scoped>
:deep(.pagination-container .el-pagination) {
right: 20px !important;
}
</style>

View File

@@ -0,0 +1,162 @@
<template>
<el-dialog
title="转床"
v-model="props.open"
width="600px"
append-to-body
destroy-on-close
@close="close"
>
<div>
<el-form :model="form" ref="formRef">
<el-row :gutter="24" class="mb8">
<el-col :span="12">
<el-form-item label="区域:" prop="organizationId_dictText" label-width="100">
<el-input
v-model="transferToBedInfo.organizationId_dictText"
placeholder="请输入区域名称"
clearable
disabled
/>
<!-- <el-select v-model="medRoute" clearable>
<el-option
v-for="dict in method_code"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select> -->
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table
ref="table"
:data="bedList"
row-key="locationId"
style="width: 100%; height: 100%"
highlight-current-row
show-overflow-tooltip
max-height="400px"
@row-click="selectBed"
>
<el-table-column label="床号" prop="locationId_dictText" min-width="80" align="center" />
</el-table>
</div>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submit">保存</el-button>
<el-button @click="close"> </el-button>
</div>
</template>
</el-dialog>
</template>
<script setup>
import { ref, nextTick } from 'vue';
import { getEmptyBed, saveBedTransfer } from './api';
const { proxy } = getCurrentInstance();
const props = defineProps({
open: {
type: Boolean,
default: false,
},
transferToBedInfo: {
type: Object,
default: () => {},
},
});
const { method_code, unit_code, rate_code, distribution_category_code } = proxy.useDict(
'method_code',
'unit_code',
'rate_code',
'distribution_category_code'
);
const emit = defineEmits(['close','openTransferToBed']);
const form = ref({});
const bedList = ref([]);
const title = ref('');
const rowRules = ref({
conditionDefinitionId: [{ required: true, message: '请选择诊断', trigger: 'change' }],
dose: [{ required: true, message: '请输入单次剂量', trigger: 'change' }],
doseQuantity: [{ required: true, message: '请输入单次剂量', trigger: 'change' }],
quantity: [{ required: true, message: '请输入数量', trigger: 'change' }],
dispensePerDuration: [{ required: true, message: '请输入用药天数', trigger: 'change' }],
});
/**
* 取得床位号
*/
function show() {
reset();
title.value = '';
title.value = props.title;
form.value = props.transferToBedInfo;
console.log(props, 'props', title.value, ' props.transferToBedInfo', props.transferToBedInfo);
if (form.value) {
getEmptyBed(form.value.organizationId).then((res) => {
bedList.value = res.data;
// loading.value = false;
console.log(res, 'resqqqqqqqqqqqqqqqqqqqqqqq', form.value);
});
} else {
bedList.value = [];
}
}
/**
* 选择床位
*
* @param row 要选择的床位信息对象
*/
function selectBed(row) {
console.log(row, 'row 选择床位信息对象');
form.value.newLocationId = row.locationId;
}
/**
* 保存换床信息
*/
function submit() {
console.log(form.value, 'form, prescriptionList.value新增处方');
// console.log(row, ' 保存处方row 1234567890');
// 新增的药品信息调用新增接口
saveBedTransfer(form.value).then((res) => {
if (res.code == 200) {
emit('close', 'success');
reset();
}
});
}
function close() {
reset();
emit('close');
}
/**
* 重置表单
*/
function reset() {
form.value = {
organizationId: '',
newLocationId: '',
organizationId_dictText: '',
patientId: '', // 处方号
oldLocationId: '',
busNo: '',
encounterLocationId: '',
};
proxy.resetForm('formRef');
}
defineExpose({
show,
});
</script>
<style scoped>
:deep(.pagination-container .el-pagination) {
right: 20px !important;
}
</style>

View File

@@ -0,0 +1,446 @@
<template>
<div class="inpatientNurse-container">
<div class="search-container">
<div class="view-container">
<el-radio-group v-model="isBed" @change="bedChange">
<el-radio-button label="card" border>床卡</el-radio-button>
<el-radio-button label="table" border>列表</el-radio-button>
</el-radio-group>
</div>
<el-space>
<el-form
:model="queryParams"
ref="queryRef"
:inline="true"
v-show="showSearch"
@submit.prevent
>
<el-form-item label="" prop="statusEnum">
<el-radio-group v-model="queryParams.statusEnum" size="default" @change="getList">
<el-radio-button
v-for="(item, index) in statusEnumList"
:key="index"
:label="item.value"
:disabled="item.disabled"
>{{ item.label }}</el-radio-button
>
</el-radio-group>
</el-form-item>
<el-form-item label="" prop="checkboxGroup2">
<el-checkbox-group v-model="queryParams.nursingLevelList" @change="getList">
<el-checkbox-button
v-for="item in levelList"
:key="item.value"
v-model="item.value"
style="display: inline-block"
:label="item.label"
>
{{ item.label }}
</el-checkbox-button>
</el-checkbox-group>
</el-form-item>
<el-form-item label="" prop="searchKey">
<el-input
placeholder="住院号/姓名/责任医生/责任护士"
v-model="queryParams.searchKey"
clearable
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-button @click="getList">查询</el-button>
</el-form>
</el-space>
</div>
<div class="medicalOrderList-table">
<patientCard
v-if="isBed === 'card'"
ref="cardsRef"
:cardList="patientData"
:bed-config="bedManageConfig"
@openPatientDetail="openPatientDetailDialog"
@closePatientDetail="closePatientDetialDialog"
@openTransferToBed="openTransferToBedDialog"
@closeTransferToBed="closeTransferToBedDialog"
@openTransferZk="openTransferZkDialog"
@openTransferCy="openTransferCyDialog"
@closeTransfer="closeTransferDialog"
/>
<el-table
v-if="isBed === 'table'"
ref="table"
:data="patientData"
row-key="id"
style="width: 100%; height: 100%"
highlight-current-row
show-overflow-tooltip
@row-dblclick="openPatientDetailDialog"
max-height="800px"
>
<el-table-column label="床号" prop="locationId_dictText" min-width="80" align="center" />
<el-table-column label="患者姓名" prop="patientName" min-width="100" align="center" />
<el-table-column
label="就诊类别"
prop="classEnum_enumText"
min-width="100"
align="center"
/>
<el-table-column label="性别" prop="genderEnum_enumText" min-width="60" align="center" />
<el-table-column label="年龄" prop="ageString" min-width="60" align="center" />
<el-table-column label="手机号" prop="phone" min-width="120" align="center" />
<el-table-column label="费别" prop="typeCode_dictText" min-width="80" align="center" />
<el-table-column label="住院号" prop="hospitalNo" min-width="120" align="center" />
<el-table-column
label="患者状态"
prop="statusEnum_enumText"
min-width="100"
align="center"
/>
<el-table-column
label="入院科室"
prop="organizationId_dictText"
min-width="120"
align="center"
/>
<el-table-column label="入院日期" prop="admissionDate" min-width="120" align="center" />
<el-table-column
label="护理级别"
prop="priorityEnum_enumText"
min-width="100"
align="center"
/>
<el-table-column label="主要诊断" prop="mainDiagnosis" min-width="150" align="center" />
<el-table-column
label="过敏源"
prop="categoryCode_dictText"
min-width="100"
align="center"
/>
<el-table-column
label="住院天数"
prop="hospitalizationDays"
min-width="80"
align="center"
/>
<el-table-column label="责任医生" prop="responsibleDoctor" min-width="120" align="center" />
<el-table-column label="责任护士" prop="responsibleNurse" min-width="120" align="center" />
<el-table-column
label="操作"
prop="operations"
min-width="360"
fixed="right"
align="center"
>
<template #default="scope">
<el-button type="primary" link>打印腕带</el-button>
<el-button type="primary" link>打印床头卡</el-button>
<el-button type="primary" link @click="openTransferCyDialog(scope.row)">出院</el-button>
<el-button type="primary" link @click="openTransferZkDialog(scope.row)">转科</el-button>
<el-button type="primary" link @click="openTransferToBedDialog(scope.row)"
>转床</el-button
>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
style="margin-bottom: 20px"
/>
</div>
<patient-detial-dialog
ref="patientDetialDialogRef"
:open="openPatientDetail"
:patientId="patientId"
@close="closePatientDetialDialog"
/>
<transfer-to-bed-dialog
ref="transferToBedRef"
:transferToBedInfo="transferToBedInfo"
:open="openTransferToBed"
@close="closeTransferToBedDialog"
/>
<transfer-dialog
ref="transferRef"
:transferInfo="transferInfo"
:open="openTransfer"
:title="title"
@close="closeTransferDialog"
/>
</div>
</template>
<script setup>
import { ref } from 'vue';
import patientCard from './components/patientCard.vue';
import { listPatient } from './components/api';
import patientDetialDialog from './components/patientDetialDialog.vue';
import transferToBedDialog from './components/transferToBedDialog.vue';
import transferDialog from './components/transferDialog.vue';
const data = reactive({
form: {},
queryParams: {
pageNo: 1,
pageSize: 10,
searchKey: undefined, // 品名/商品名/英文品名/编码/拼音
checkboxGroup2: [], // 类型(包括 1中药2成药
statusEnum: 1, // 状态
},
rules: {},
});
const { proxy } = getCurrentInstance();
const { queryParams, form, rules } = toRefs(data);
const statusEnumList = ref([
{ label: '在科', value: 1 },
{ label: '待转科', value: 2 },
{ label: '待出院', value: 3 },
{ label: '危重', value: 4 },
{ label: '手术', value: 5 },
{ label: '欠费', value: 6 },
{ label: '已出院', value: 7 },
]);
const levelList = ref([
{ label: '特级', value: 1 },
{ label: '一级', value: 2 },
{ label: '二级', value: 3 },
{ label: '三级', value: 4 },
]);
const patientData = ref([]);
const bedStations = ref([]); // 床卡状态
const isBed = ref('card');
const bedManageConfig = ref({});
const showSearch = ref(true);
const total = ref(0);
const currentPatient = ref({}); // 当前患者
const nursingMeasuresVal = ref([]); // 护理措施
const specialArrangementVal = ref([]); // 特殊安排
const cardsRef = ref(null); // 卡片引用
const table = ref(null); // 表格引用
// 患者详细对话框相关变量
const patientDetialDialogRef = ref();
const openPatientDetail = ref(false);
const patientId = ref(''); // 患者ID
// 转床对话框相关变量
const transferToBedRef = ref();
const openTransferToBed = ref(false);
// 转科/出院对话框相关变量
const transferRef = ref();
const openTransfer = ref(false);
const title = ref('');
// 转床信息
const transferToBedInfo = ref({
organizationId: '',
organizationId_dictText: '',
oldLocationId: '',
patientId: '', // 处方号
busNo: '',
encounterLocationId: '',
encounterId: '',
});
// 转院/出院信息
const transferInfo = ref({
// organizationId: '',
organizationIdOld: '',
patientName: '',
patientId: '', // 处方号
busNo: '',
encounterId: '',
encounterLocationId: '',
patientNo: '',
});
getList();
function getList() {
// loading.value = true;
console.log(queryParams.value, 'queryParams.value');
listPatient(queryParams.value).then((res) => {
patientData.value = res.data.records;
total.value = res.data.total;
// loading.value = false;
console.log(res, 'resqqqqqqqqqqqqqqqqqqqqqqq');
});
}
/** 搜索按钮操作 */
function handleQuery() {
queryParams.value.pageNo = 1;
getList();
}
/**
* 切换患者信息显示形式(卡片/列表)
*
* @param val 床号
*/
function bedChange(val) {
getBadFirstMes();
}
/**
* 切换患者信息显示形式实现
*
*/
function getBadFirstMes() {
if (patientData.value.length > 0 && patientData.value[0].bedOperationalStatus !== 'U') {
currentPatient.value = JSON.parse(JSON.stringify(patientData.value[0]));
nursingMeasuresVal.value = currentPatient.value.nursingMeasures || [];
specialArrangementVal.value = currentPatient.value.specialArrangement || [];
} else {
currentPatient.value = {};
nursingMeasuresVal.value = [];
specialArrangementVal.value = [];
}
if (
patientData.value.length > 0 &&
patientData.value[0].bedOperationalStatus !== bedStations.value[0]?.code
) {
nextTick(() => {
if (isBed.value === 'card' && cardsRef.value) {
cardsRef.value.activePatient.bedId = patientData.value[0].bedId;
}
if (isBed.value === 'table' && table.value) {
table.value.setCurrentRow(patientData.value[0]);
}
});
}
}
/**
* 打开患者信息详细对话框
*/
function openPatientDetailDialog(row) {
openPatientDetail.value = true;
patientId.value = row.id;
nextTick(() => {
proxy.$refs['patientDetialDialogRef'].getPatientDetial();
});
console.log(openPatientDetail.value, '打开患者信息详细对话框');
}
/**
* 关闭患者信息详细对话框
*/
function closePatientDetialDialog(str) {
if (str === 'success') {
getList();
proxy.$modal.msgSuccess('操作成功');
}
openPatientDetail.value = false;
}
/**
* 打开转床对话框
*/
function openTransferToBedDialog(row) {
transferToBedInfo.value.organizationId = row.organizationId;
transferToBedInfo.value.oldLocationId = row.locationId;
transferToBedInfo.value.organizationId_dictText = row.organizationId_dictText;
transferToBedInfo.value.patientId = row.id; // 病人ID
transferToBedInfo.value.busNo = row.busNo;
transferToBedInfo.value.encounterLocationId = row.encounterLocationId;
transferToBedInfo.value.encounterId = row.encounterId;
openTransferToBed.value = true;
// console.log(transferToBedInfo.value, '打开转床对话框==============');
nextTick(() => {
proxy.$refs['transferToBedRef'].show();
});
console.log(openTransferToBed.value, '打开转床对话框1', transferToBedInfo.value);
}
/**
* 关闭转床对话框
*/
function closeTransferToBedDialog(str) {
if (str === 'success') {
getList();
proxy.$modal.msgSuccess('操作成功');
}
openTransferToBed.value = false;
}
/**
* 打开转科对话框
*/
function openTransferZkDialog(row) {
transferInfo.value.organizationIdOld = row.organizationId;
transferInfo.value.patientName = row.patientName;
transferInfo.value.patientId = row.id; // 病人ID
transferInfo.value.busNo = row.busNo; // 病人ID
transferInfo.value.encounterId = row.encounterId;
transferInfo.value.encounterLocationId = row.encounterLocationId;
transferInfo.value.patientNo = row.patientNo;
title.value = '';
openTransfer.value = true;
title.value = '转科';
nextTick(() => {
proxy.$refs['transferRef'].show();
});
console.log(openTransfer.value, '打开转床对话框2');
}
/**
* 打开出院对话框
*/
function openTransferCyDialog(row) {
transferInfo.value.patientName = row.patientName;
transferInfo.value.patientId = row.id; // 病人ID
transferInfo.value.busNo = row.busNo; // 病人ID
transferInfo.value.encounterId = row.encounterId;
transferInfo.value.encounterLocationId = row.encounterLocationId;
transferInfo.value.locationId = row.locationId;
transferInfo.value.patientNo = row.patientNo;
title.value = '';
openTransfer.value = true;
title.value = '出院';
nextTick(() => {
proxy.$refs['transferRef'].show();
});
console.log(openTransfer.value, '打开转床对话框3');
}
/**
* 关闭转科/出院对话框
*/
function closeTransferDialog(str) {
if (str === 'success') {
getList();
proxy.$modal.msgSuccess('操作成功');
}
openTransfer.value = false;
}
</script>
<style lang="scss" scoped>
.inpatientNurse-container {
display: flex;
flex-direction: column;
height: 100%;
width: 100%;
overflow: hidden;
.search-container {
flex: none;
padding: 8px 8px;
text-align: right;
border-bottom: 1px solid #e4e7ed;
}
.view-container {
flex: none;
padding: 8px 8px;
text-align: left;
border-bottom: 1px solid #e4e7ed;
}
.medicalOrderList-table {
flex: 1;
}
}
</style>