|
@@ -6,7 +6,7 @@
|
|
|
<template #default>
|
|
|
<div style="font-size: 12px; color: #333333">就诊人</div>
|
|
|
<div style="margin-top: 5px; font-size: 14px">
|
|
|
- {{ exam.reportHeader.ptnt_NAME }}
|
|
|
+ {{ examIndex.patientName }}
|
|
|
</div>
|
|
|
</template>
|
|
|
</van-grid-item>
|
|
@@ -14,7 +14,7 @@
|
|
|
<template #default>
|
|
|
<div style="font-size: 12px; color: #333333">性别</div>
|
|
|
<div style="margin-top: 5px; font-size: 14px">
|
|
|
- {{ computedSex }}
|
|
|
+ {{ examIndex.patientGender }}
|
|
|
</div>
|
|
|
</template>
|
|
|
</van-grid-item>
|
|
@@ -22,17 +22,16 @@
|
|
|
<template #default>
|
|
|
<div style="font-size: 12px; color: #333333">年龄</div>
|
|
|
<div style="margin-top: 5px; font-size: 14px">
|
|
|
- {{ exam.reportHeader.ptnt_AGE }}
|
|
|
+ {{ examIndex.patientAge }}
|
|
|
</div>
|
|
|
</template>
|
|
|
</van-grid-item>
|
|
|
</van-grid>
|
|
|
<div style="height: 5px"></div>
|
|
|
- <van-cell title="送检医生" :value="exam.reportHeader.audt_USR_NAME"></van-cell>
|
|
|
- <van-cell title="开方科室" :value="exam.reportHeader.dept_NAME"></van-cell>
|
|
|
- <van-cell title="报告时间" :value="exam.reportHeader.audt_TIME"></van-cell>
|
|
|
- <van-cell title="报告单号" :value="exam.reportHeader.ordr_ID"></van-cell>
|
|
|
- <van-cell v-if="isMicrobacteria" title="细菌名称" :value="exam.bacteriaResult.bac_NAME_CN"></van-cell>
|
|
|
+ <van-cell title="申请医生" :value="examIndex.doctorName"></van-cell>
|
|
|
+ <van-cell title="开方科室" :value="examIndex.departName"></van-cell>
|
|
|
+ <van-cell title="报告时间" :value="examIndex.trscDate"></van-cell>
|
|
|
+ <van-cell title="报告单号" :value="examIndex.reportId"></van-cell>
|
|
|
<div style="height: 5px"></div>
|
|
|
<van-grid :column-num="4">
|
|
|
<van-grid-item text="检查项目"></van-grid-item>
|
|
@@ -40,12 +39,12 @@
|
|
|
<van-grid-item text="单位"></van-grid-item>
|
|
|
<van-grid-item text="参考值"></van-grid-item>
|
|
|
</van-grid>
|
|
|
- <div v-for="item in exam.reportItems" :key="item.itm_ID">
|
|
|
+ <div v-for="item in exam.items" :key="item.itmId">
|
|
|
<van-grid :column-num="4">
|
|
|
<van-grid-item>
|
|
|
<template #text>
|
|
|
<span class="van-grid-item__text">
|
|
|
- {{ itemName(item) }}
|
|
|
+ {{ item.itmName }}
|
|
|
</span>
|
|
|
</template>
|
|
|
</van-grid-item>
|
|
@@ -53,13 +52,13 @@
|
|
|
<template #text>
|
|
|
<span class="van-grid-item__text">
|
|
|
{{ itemValue(item) }}
|
|
|
- <van-tag type="danger" v-if="item.itm_ALERT">
|
|
|
- {{ itemAlert(item.itm_ALERT) }}
|
|
|
+ <van-tag type="danger" v-if="item.itmAlert">
|
|
|
+ {{ itemAlert(item.itmAlert) }}
|
|
|
</van-tag>
|
|
|
</span>
|
|
|
</template>
|
|
|
</van-grid-item>
|
|
|
- <van-grid-item :text="item.itm_UNIT"></van-grid-item>
|
|
|
+ <van-grid-item :text="item.itmUnit"></van-grid-item>
|
|
|
<van-grid-item>
|
|
|
<template #text>
|
|
|
<span class="van-grid-item__text">
|
|
@@ -69,77 +68,94 @@
|
|
|
</van-grid-item>
|
|
|
</van-grid>
|
|
|
</div>
|
|
|
+ <div v-if="exam.bacterias.antiList && exam.bacterias.antiList.length > 0" style="margin-top: 5px">
|
|
|
+ <van-cell :title="exam.bacterias.itmName" :value="exam.bacterias.bacNameCn"></van-cell>
|
|
|
+
|
|
|
+ <van-grid :column-num="3">
|
|
|
+ <van-grid-item text="抗菌药物"></van-grid-item>
|
|
|
+ <van-grid-item text="MIC值"></van-grid-item>
|
|
|
+ <van-grid-item text="敏感性"></van-grid-item>
|
|
|
+ </van-grid>
|
|
|
+ <div v-for="item in exam.bacterias.antiList" :key="item.antiId">
|
|
|
+ <van-grid :column-num="3">
|
|
|
+ <van-grid-item>
|
|
|
+ <template #text>
|
|
|
+ <span class="van-grid-item__text">
|
|
|
+ {{ item.antiNameCn }}
|
|
|
+ </span>
|
|
|
+ </template>
|
|
|
+ </van-grid-item>
|
|
|
+ <van-grid-item>
|
|
|
+ <template #text>
|
|
|
+ <span class="van-grid-item__text">
|
|
|
+ {{ item.antiMic }}
|
|
|
+ </span>
|
|
|
+ </template>
|
|
|
+ </van-grid-item>
|
|
|
+ <van-grid-item>
|
|
|
+ <template #text>
|
|
|
+ <span class="van-grid-item__text">
|
|
|
+ {{ item.antiValue }}
|
|
|
+ </span>
|
|
|
+ </template>
|
|
|
+ </van-grid-item>
|
|
|
+ </van-grid>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </div>
|
|
|
+
|
|
|
</window-size>
|
|
|
</template>
|
|
|
|
|
|
-<script>
|
|
|
+<script setup>
|
|
|
import { useRouter } from 'vue-router'
|
|
|
import { checkExamDetail } from '../../../api/check-exam'
|
|
|
import { computed, onMounted, reactive } from 'vue'
|
|
|
-export default {
|
|
|
- name: 'CheckExamDetail',
|
|
|
- setup() {
|
|
|
- const router = useRouter()
|
|
|
- const exam = reactive({
|
|
|
- reportHeader: {},
|
|
|
- reportItems: [],
|
|
|
- bacteriaResult: {},
|
|
|
- })
|
|
|
- const isMicrobacteria = computed(() => {
|
|
|
- // info_TYPE : 报告类别 1|2|99 -- 普通报告|微生物报告|尚未审核的报告
|
|
|
- return exam.reportHeader.info_TYPE === '2'
|
|
|
- })
|
|
|
- const computedSex = computed(() => {
|
|
|
- return exam.reportHeader.ptnt_SEX === '1' ? '男' : '女'
|
|
|
- })
|
|
|
- const itemName = (item) => {
|
|
|
- return isMicrobacteria.value ? item.anti_NAME_CN : item.itm_NAME
|
|
|
- }
|
|
|
- const itemValue = (item) => {
|
|
|
- if (isMicrobacteria.value) {
|
|
|
- return item.anti_VALUE
|
|
|
- }
|
|
|
- if (item.itm_STR_VALUE) {
|
|
|
- return item.itm_STR_VALUE
|
|
|
- }
|
|
|
- return item.itm_VALUE
|
|
|
- }
|
|
|
- const itemAlert = (val) => {
|
|
|
- return val === 'L' ? '↓' : '↑'
|
|
|
- }
|
|
|
- const itemRange = (item) => {
|
|
|
- if (isMicrobacteria.value) {
|
|
|
- return item.anti_MIC
|
|
|
- }
|
|
|
- if (item.itm_STR_VALUE) {
|
|
|
- return item.range_STR
|
|
|
- }
|
|
|
- return item.range
|
|
|
- }
|
|
|
- onMounted(() => {
|
|
|
- const params = router.currentRoute.value.params
|
|
|
- checkExamDetail(params).then((res) => {
|
|
|
- exam.reportHeader = res.reportHeader
|
|
|
- exam.reportItems = res.reportItems
|
|
|
- if (res.reportItems) {
|
|
|
- res.reportItems.forEach((item) => {
|
|
|
- if (item.bacteriaResults.length === 1) {
|
|
|
- exam.bacteriaResult = item.bacteriaResults[0]
|
|
|
- exam.reportItems = exam.bacteriaResult.antibioticResults
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
- })
|
|
|
- return {
|
|
|
- exam,
|
|
|
- computedSex,
|
|
|
- isMicrobacteria,
|
|
|
- itemName,
|
|
|
- itemValue,
|
|
|
- itemAlert,
|
|
|
- itemRange,
|
|
|
- }
|
|
|
+import {useStore} from "vuex";
|
|
|
+
|
|
|
+const router = useRouter()
|
|
|
+const store = useStore()
|
|
|
+const examIndex = store.getters.getCurrentExamIndex
|
|
|
+
|
|
|
+const exam = reactive({
|
|
|
+ order: {},
|
|
|
+ items: [],
|
|
|
+ bacterias: {
|
|
|
+ antiList: []
|
|
|
},
|
|
|
+})
|
|
|
+
|
|
|
+const isMicrobacteria = computed(() => {
|
|
|
+ return examIndex.reportType === '细菌'
|
|
|
+})
|
|
|
+
|
|
|
+const itemValue = (item) => {
|
|
|
+ if (isMicrobacteria.value) {
|
|
|
+ return item.antiValue || item.rsltStrs
|
|
|
+ }
|
|
|
+ return item.itmStrValue || item.itmValue;
|
|
|
+}
|
|
|
+const itemAlert = (val) => {
|
|
|
+ return val === 'L' ? '↓' : '↑'
|
|
|
+}
|
|
|
+const itemRange = (item) => {
|
|
|
+ if (isMicrobacteria.value) {
|
|
|
+ return item.anti_MIC
|
|
|
+ }
|
|
|
+ return item.ranGeStr || item.range;
|
|
|
}
|
|
|
+
|
|
|
+onMounted(() => {
|
|
|
+ checkExamDetail({
|
|
|
+ reportId: examIndex.reportId,
|
|
|
+ patientId: router.currentRoute.value.params.patientId
|
|
|
+ }).then((res) => {
|
|
|
+ exam.order = res.order
|
|
|
+ exam.items = res.items
|
|
|
+ if (res.bacterias && res.bacterias.length === 1) {
|
|
|
+ exam.bacterias = res.bacterias[0]
|
|
|
+ }
|
|
|
+ })
|
|
|
+})
|
|
|
+
|
|
|
</script>
|