2025-11-19 18:07:30 +08:00
|
|
|
<template>
|
|
|
|
|
<div>
|
2025-11-20 18:17:09 +08:00
|
|
|
<CustomTable :data="labResutsData.labResultList" :columns="columns" :config="tableConfig" :enable-column-drag="true"
|
|
|
|
|
@column-drag-end="handleColumnDragEnd">
|
|
|
|
|
</CustomTable>
|
2025-11-19 18:07:30 +08:00
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script setup lang="ts">
|
2025-11-20 18:17:09 +08:00
|
|
|
import CustomTable from '@/components/elTable/index.vue'
|
|
|
|
|
|
|
|
|
|
const props = defineProps({
|
|
|
|
|
labResutsData: {
|
|
|
|
|
type: Object,
|
|
|
|
|
required: true
|
|
|
|
|
},
|
|
|
|
|
//结果主键
|
|
|
|
|
labPat: {
|
|
|
|
|
type: Object,
|
|
|
|
|
required: true
|
|
|
|
|
},
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const columns = ref([
|
|
|
|
|
{ label: "细菌/结果", prop: "xmdh", align: 'center', visible: true, slot: 'xmdh', width: 150 },
|
|
|
|
|
{ label: "检验结果", prop: "csjg", align: 'center', visible: true, slot: 'csjg' },
|
|
|
|
|
{ label: "阴阳性", prop: "jgbz", align: 'center', visible: true, slot: 'jgbz' },
|
|
|
|
|
{ label: "危急值", prop: "alarm_flag", align: 'center', visible: true, slot: 'alarm_flag' },
|
|
|
|
|
{ label: "菌属", prop: "xmmc", align: 'center', visible: true },
|
|
|
|
|
])
|
|
|
|
|
|
|
|
|
|
const CellStyleHd = ({ row, column, rowIndex, columnIndex }: {
|
|
|
|
|
row: any;
|
|
|
|
|
column: any;
|
|
|
|
|
rowIndex: number;
|
|
|
|
|
columnIndex: number;
|
|
|
|
|
}) => {
|
|
|
|
|
if (column.label == "细菌/结果" && (row.alarm_flag ?? "").trim().length > 0) {
|
|
|
|
|
return { background: '#f00 !important', color: '#FFF' };
|
|
|
|
|
}
|
|
|
|
|
if (column.label == "危急值" && (row.alarm_flag ?? "").trim().length > 0) {
|
|
|
|
|
return { background: '#f00 !important', color: '#FFF' };
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (column.label == "检验结果" && row.jgbz == "H") {
|
|
|
|
|
return { background: '#ffc0c0 !important', color: '#606266' };
|
|
|
|
|
}
|
|
|
|
|
if (column.label == "检验结果" && row.jgbz == "L") {
|
|
|
|
|
return { background: '#8080ff !important', color: '#fff' };
|
|
|
|
|
}
|
|
|
|
|
if (column.label == "检验结果" && row.jgbz == "P") {
|
|
|
|
|
return { background: '#ffc0c0 !important', color: '#606266' };
|
|
|
|
|
}
|
|
|
|
|
if (column.label == "检验结果" && row.jgbz == "Q") {
|
|
|
|
|
return { background: '#ffff80 !important', color: '#606266' };
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (column.label == "阴阳性" && row.jgbz == "H") {
|
|
|
|
|
return { background: '#ffc0c0 !important', color: '#606266' };
|
|
|
|
|
}
|
|
|
|
|
if (column.label == "阴阳性" && row.jgbz == "L") {
|
|
|
|
|
return { background: '#8080ff !important', color: '#fff' };
|
|
|
|
|
}
|
|
|
|
|
if (column.label == "阴阳性" && row.jgbz == "P") {
|
|
|
|
|
return { background: '#ffc0c0 !important', color: '#606266' };
|
|
|
|
|
}
|
|
|
|
|
if (column.label == "阴阳性" && row.jgbz == "Q") {
|
|
|
|
|
return { background: '#ffff80 !important', color: '#606266' };
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const tableConfig = ref({
|
|
|
|
|
height: '28vh',
|
|
|
|
|
border: true,
|
|
|
|
|
highlightCurrentRow: true,
|
|
|
|
|
cellStyle: CellStyleHd
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const handleColumnDragEnd = (data: any) => {
|
|
|
|
|
columns.value = data.columns;
|
|
|
|
|
}
|
2025-11-19 18:07:30 +08:00
|
|
|
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style scoped></style>
|