<template>
|
<base-stage :stage-data="stageData" :case-info="caseInfo">
|
<template #header>
|
<el-alert
|
title="死亡判定阶段"
|
:type="stageData.status === 'completed' ? 'success' : 'warning'"
|
:description="getAlertDescription()"
|
show-icon
|
:closable="false"
|
/>
|
</template>
|
|
<el-row :gutter="20" style="margin-top: 20px;">
|
<el-col :span="12">
|
<el-card>
|
<div slot="header" class="card-header">
|
<span>判定基本信息</span>
|
</div>
|
<el-descriptions :column="1" border>
|
<el-descriptions-item label="判定类型">
|
<el-tag type="primary">脑死亡判定</el-tag>
|
</el-descriptions-item>
|
<el-descriptions-item label="判定时间">
|
{{ formatTime(judgmentDetails.judgmentTime) }}
|
</el-descriptions-item>
|
<el-descriptions-item label="判定医生一">
|
{{ judgmentDetails.doctor1 }}
|
</el-descriptions-item>
|
<el-descriptions-item label="判定医生二">
|
{{ judgmentDetails.doctor2 }}
|
</el-descriptions-item>
|
<el-descriptions-item label="判定结果">
|
<el-tag :type="judgmentDetails.result ? 'success' : 'warning'">
|
{{ judgmentDetails.result ? '脑死亡确认' : '判定中' }}
|
</el-tag>
|
</el-descriptions-item>
|
</el-descriptions>
|
</el-card>
|
</el-col>
|
|
<el-col :span="12">
|
<el-card>
|
<div slot="header" class="card-header">
|
<span>判定流程记录</span>
|
</div>
|
<el-steps direction="vertical" :active="judgmentSteps.active" space="100px">
|
<el-step
|
v-for="step in judgmentSteps.steps"
|
:key="step.title"
|
:title="step.title"
|
:description="step.description"
|
:status="step.status"
|
/>
|
</el-steps>
|
</el-card>
|
</el-col>
|
</el-row>
|
|
<el-card style="margin-top: 20px;">
|
<div slot="header" class="card-header">
|
<span>判定详细记录</span>
|
</div>
|
<el-table :data="judgmentRecords" border>
|
<el-table-column label="检查项目" prop="item" width="180" />
|
<el-table-column label="检查方法" prop="method" width="150" />
|
<el-table-column label="检查结果" prop="result" width="120">
|
<template slot-scope="scope">
|
<el-tag :type="scope.row.result === '符合' ? 'success' : 'warning'">
|
{{ scope.row.result }}
|
</el-tag>
|
</template>
|
</el-table-column>
|
<el-table-column label="检查时间" width="160">
|
<template slot-scope="scope">
|
{{ formatTime(scope.row.time) }}
|
</template>
|
</el-table-column>
|
<el-table-column label="检查医生" prop="doctor" width="120" />
|
<el-table-column label="备注" prop="remark" min-width="200" />
|
</el-table>
|
</el-card>
|
|
<template #footer>
|
<div class="action-buttons" style="margin-top: 20px; text-align: center;">
|
<el-button type="primary" @click="handleViewCertificate">
|
查看死亡证明
|
</el-button>
|
<el-button type="success" @click="handleConfirmJudgment">
|
确认判定结果
|
</el-button>
|
</div>
|
</template>
|
</base-stage>
|
</template>
|
|
<script>
|
import BaseStage from './BaseStage.vue';
|
|
export default {
|
name: 'DeathJudgmentStage',
|
components: { BaseStage },
|
props: {
|
stageData: {
|
type: Object,
|
default: () => ({})
|
},
|
caseInfo: {
|
type: Object,
|
default: () => ({})
|
}
|
},
|
data() {
|
return {
|
judgmentDetails: {
|
judgmentTime: '2023-12-03 09:15:00',
|
doctor1: '张主任',
|
doctor2: '王医生',
|
result: true,
|
certificateNo: 'SW20231203001'
|
},
|
judgmentSteps: {
|
active: 4,
|
steps: [
|
{
|
title: '初步临床检查',
|
description: '完成自主呼吸测试',
|
status: 'finish'
|
},
|
{
|
title: '脑干反射测试',
|
description: '各项反射测试完成',
|
status: 'finish'
|
},
|
{
|
title: '确认性检查',
|
description: '脑电图检查完成',
|
status: 'finish'
|
},
|
{
|
title: '最终判定',
|
description: '两位医生独立判定',
|
status: 'finish'
|
}
|
]
|
},
|
judgmentRecords: [
|
{
|
item: '自主呼吸测试',
|
method: '呼吸暂停试验',
|
result: '符合',
|
time: '2023-12-03 08:30:00',
|
doctor: '张主任',
|
remark: '无自主呼吸'
|
},
|
{
|
item: '瞳孔对光反射',
|
method: '光刺激测试',
|
result: '符合',
|
time: '2023-12-03 08:45:00',
|
doctor: '王医生',
|
remark: '瞳孔固定,对光反射消失'
|
},
|
{
|
item: '脑干听觉诱发电位',
|
method: 'BAEP检查',
|
result: '符合',
|
time: '2023-12-03 09:00:00',
|
doctor: '李医生',
|
remark: '脑干功能丧失'
|
}
|
]
|
};
|
},
|
methods: {
|
getAlertDescription() {
|
if (this.stageData.status === 'completed') {
|
return '脑死亡判定已完成,符合器官捐献条件';
|
} else if (this.stageData.status === 'in_progress') {
|
return '死亡判定流程正在进行中';
|
}
|
return '等待开始死亡判定流程';
|
},
|
handleViewCertificate() {
|
this.$message.info('查看死亡证明功能');
|
},
|
handleConfirmJudgment() {
|
this.$confirm('确认死亡判定结果吗?', '提示', {
|
confirmButtonText: '确定',
|
cancelButtonText: '取消',
|
type: 'warning'
|
}).then(() => {
|
this.$message.success('死亡判定结果已确认');
|
});
|
}
|
}
|
};
|
</script>
|
|
<style scoped>
|
.action-buttons {
|
display: flex;
|
justify-content: center;
|
gap: 15px;
|
margin-top: 20px;
|
}
|
</style>
|