<!-- src/views/statistics/components/OrganDetail.vue -->
|
<template>
|
<div class="organ-detail">
|
<el-table
|
v-loading="loading"
|
:data="organList"
|
style="width: 100%"
|
border
|
stripe
|
>
|
<el-table-column label="器官编号" prop="organNo" align="center" />
|
<el-table-column label="器官名称" prop="organName" align="center" />
|
<el-table-column label="捐献者" prop="donorName" align="center" />
|
<el-table-column label="地区" prop="region" align="center" />
|
<el-table-column label="年份" prop="year" align="center" />
|
<el-table-column label="器官状态" prop="status" align="center" >
|
<template slot-scope="{ row }">
|
<el-tag :type="getStatusTag(row.status)" size="small">
|
{{ getStatusText(row.status) }}
|
</el-tag>
|
</template>
|
</el-table-column>
|
<el-table-column label="获取时间" prop="acquisitionTime" align="center" />
|
<el-table-column label="移植时间" prop="transplantTime" align="center" >
|
<template slot-scope="{ row }">
|
{{ row.transplantTime || '-' }}
|
</template>
|
</el-table-column>
|
<el-table-column label="弃用原因" prop="abandonReason" align="center" >
|
<template slot-scope="{ row }">
|
{{ row.abandonReason || '-' }}
|
</template>
|
</el-table-column>
|
<el-table-column label="受体姓名" prop="recipientName" align="center" >
|
<template slot-scope="{ row }">
|
{{ row.recipientName || '-' }}
|
</template>
|
</el-table-column>
|
<el-table-column label="移植医院" prop="hospital" align="center" />
|
<el-table-column label="操作医生" prop="doctor" align="center" />
|
</el-table>
|
|
<div style="text-align: center; margin-top: 20px;">
|
<el-button @click="$emit('close')">关闭</el-button>
|
</div>
|
</div>
|
</template>
|
|
<script>
|
export default {
|
name: 'OrganDetail',
|
props: {
|
query: {
|
type: Object,
|
default: () => ({})
|
}
|
},
|
data() {
|
return {
|
loading: false,
|
organList: [
|
{ organNo: 'O202401001', organName: '全肝', donorName: '张三', region: '青岛地区', year: '2024', status: 'transplanted', acquisitionTime: '2024-01-15 10:30', transplantTime: '2024-01-15 12:45', abandonReason: '', recipientName: '王明', hospital: '青岛大学附属医院', doctor: '李医生' },
|
{ organNo: 'O202401002', organName: '左肾', donorName: '张三', region: '青岛地区', year: '2024', status: 'transplanted', acquisitionTime: '2024-01-15 10:30', transplantTime: '2024-01-15 13:20', abandonReason: '', recipientName: '陈强', hospital: '青岛市立医院', doctor: '张医生' },
|
{ organNo: 'O202401003', organName: '右肾', donorName: '张三', region: '青岛地区', year: '2024', status: 'transplanted', acquisitionTime: '2024-01-15 10:30', transplantTime: '2024-01-15 13:50', abandonReason: '', recipientName: '刘伟', hospital: '青岛市中心医院', doctor: '王医生' },
|
{ organNo: 'O202401004', organName: '全肝', donorName: '李四', region: '青岛地区', year: '2024', status: 'abandoned', acquisitionTime: '2024-01-20 14:20', transplantTime: null, abandonReason: '器官质量不合格', recipientName: '', hospital: '青岛市立医院', doctor: '张医生' },
|
{ organNo: 'O202401005', organName: '心脏', donorName: '李四', region: '青岛地区', year: '2024', status: 'transplanted', acquisitionTime: '2024-01-20 14:20', transplantTime: '2024-01-20 15:30', abandonReason: '', recipientName: '赵刚', hospital: '青岛市立医院', doctor: '张医生' }
|
]
|
};
|
},
|
methods: {
|
getStatusTag(status) {
|
const map = { transplanted: 'success', abandoned: 'danger', pending: 'warning' };
|
return map[status] || 'info';
|
},
|
getStatusText(status) {
|
const map = { transplanted: '已移植', abandoned: '已弃用', pending: '待移植' };
|
return map[status] || '未知';
|
}
|
}
|
};
|
</script>
|
|
<style scoped>
|
.organ-detail {
|
padding: 0;
|
}
|
</style>
|