<template>
|
<div>
|
<el-row>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
<div class="tableDiv">
|
<table v-if="tableHeight > 0">
|
<tr>
|
<th colspan="7" style="text-align: left">营养服务管理记录</th>
|
</tr>
|
<tr>
|
<td style="width: 15%" :rowspan="2 + state.patientData.透析方案.length">基本信息</td>
|
<td style="width: 10%">患者姓名</td>
|
<td style="width: 15%">{{ patientsInfo.patientName }}</td>
|
<td style="width: 15%">性别</td>
|
<td style="width: 15%">{{ patientsInfo.patientGenderText }}</td>
|
<td style="width: 15%">年龄</td>
|
<td style="width: 15%">
|
<span v-if="patientsInfo.age">{{ patientsInfo.age }} 岁</span>
|
</td>
|
</tr>
|
<tr>
|
<td>身高</td>
|
<td>{{ state.patientData.身高 }} <span v-if="state.patientData.身高">(cm)</span></td>
|
<td>病史</td>
|
<td>{{ state.patientData.诊断 }}</td>
|
<td>透龄</td>
|
<td>
|
<span v-if="patientsInfo.medHistoryStatByMonth">{{ patientsInfo.medHistoryStatByMonth }} (月)</span>
|
</td>
|
</tr>
|
<template v-for="(row, index) in state.patientData.透析方案" :key="index">
|
<tr v-if="index === 0">
|
<td :rowspan="state.patientData.透析方案.length * 1">透析方案</td>
|
<td>
|
{{ state.patientData.透析方案[index]?.透析方案 }}
|
</td>
|
<td>频次</td>
|
<td>
|
{{ state.patientData.透析方案[index]?.透析频率 }}
|
</td>
|
<td>时长</td>
|
<td>
|
{{ state.patientData.透析方案[index]?.透析时长 }}
|
</td>
|
</tr>
|
<tr v-else>
|
<td>
|
{{ state.patientData.透析方案[index]?.透析方案 }}
|
</td>
|
<td>频次</td>
|
<td>
|
{{ state.patientData.透析方案[index]?.透析频率 }}
|
</td>
|
<td>时长</td>
|
<td>
|
{{ state.patientData.透析方案[index]?.透析时长 }}
|
</td>
|
</tr>
|
</template>
|
|
<tr>
|
<th>项目</th>
|
<th>时间</th>
|
<th>项目内容</th>
|
<th colspan="2">详情</th>
|
<th>备注</th>
|
<th>记录者</th>
|
</tr>
|
</table>
|
<el-scrollbar :height="tableHeight - 385 + 'px'">
|
<div class="tableDiv">
|
<table>
|
<!-- 基本信息 -->
|
<tr>
|
<td style="width: 15%" rowspan="3">
|
基本信息<br />
|
数据评估
|
</td>
|
<td style="width: 10%">-</td>
|
<td style="width: 15%">干体重</td>
|
|
<td style="width: 30%" colspan="2">
|
{{ state.patientData.干体重 }}
|
</td>
|
<td style="width: 15%"></td>
|
<td style="width: 15%">系统</td>
|
</tr>
|
<tr>
|
<td>-</td>
|
<td>BMI</td>
|
|
<td colspan="2">
|
{{ BMI }}
|
</td>
|
<td></td>
|
<td>系统</td>
|
</tr>
|
<tr>
|
<td>-</td>
|
<td>脱水量</td>
|
|
<td colspan="2">
|
{{ state.patientData?.上一次超滤总量 }}
|
</td>
|
<td></td>
|
<td>系统</td>
|
</tr>
|
<!-- 食物过敏原 -->
|
<template v-for="(row, index) in state.from1Datas" :key="index">
|
<tr v-if="index === 0">
|
<td :rowspan="state.from1Datas.length * 2">
|
食物过敏史及
|
<br />胃肠功能评估
|
</td>
|
|
<td :rowspan="state.from1Datas.length * 1">{{ state.from1Datas[index]?.初次调查日期?.substring(0, 11) }}</td>
|
<td :rowspan="state.from1Datas.length * 1">食物过敏源</td>
|
<td colspan="2">
|
{{ state.from1Datas[index]?.食物过敏源调查?.过敏食物.type.join() }}
|
</td>
|
<td>
|
{{ state.from1Datas[index]?.过敏食物?.input1 }}
|
</td>
|
<td>{{ state.from1Datas[index]?.记录者 }}</td>
|
</tr>
|
<tr v-else>
|
<!-- <td>{{ state.from1Datas[index].初次调查日期?.substring(0, 11) }}</td> -->
|
<td colspan="2">
|
{{ state.from1Datas[index]?.食物过敏源调查?.过敏食物.type.join() }}
|
</td>
|
<td>
|
{{ state.from1Datas[index].过敏食物?.input1 }}
|
</td>
|
<td>{{ state.from1Datas[index].记录者 }}</td>
|
</tr>
|
</template>
|
<!-- 胃肠功能评估 -->
|
<template v-for="(row, index) in state.from1Datas" :key="index">
|
<tr v-if="index === 0">
|
<td :rowspan="state.from1Datas.length * 1">{{ state.from1Datas[index].初次调查日期?.substring(0, 11) }}</td>
|
<td :rowspan="state.from1Datas.length * 1">胃肠功能评估</td>
|
<td colspan="2">
|
<span v-if="state.from1Datas[index]?.胃肠症状体现?.便秘.type === '是'">便秘,</span>
|
<span v-if="state.from1Datas[index]?.胃肠症状体现?.存在恶心呕吐.type === '是'">存在恶心呕吐, </span>
|
<span v-if="state.from1Datas[index]?.胃肠症状体现?.存在腹痛.type === '是'">存在腹痛, </span>
|
<span v-if="state.from1Datas[index]?.胃肠症状体现?.存在腹胀.type === '是'">存在腹胀, </span>
|
<span v-if="state.from1Datas[index]?.胃肠症状体现?.腹泻.type === '是'">腹泻, </span>
|
</td>
|
<td>
|
{{ state.from1Datas[index]?.胃肠道紊乱者?.input1 }}
|
</td>
|
<td>{{ state.from1Datas[index]?.记录者 }}</td>
|
</tr>
|
<tr v-else>
|
<!-- <td>{{ state.from1Datas[index].初次调查日期?.substring(0, 11) }}</td> -->
|
<td colspan="2">
|
<span v-if="state.from1Datas[index]?.胃肠症状体现?.便秘.type === '是'">便秘,</span>
|
<span v-if="state.from1Datas[index]?.胃肠症状体现?.存在恶心呕吐.type === '是'">存在恶心呕吐, </span>
|
<span v-if="state.from1Datas[index]?.胃肠症状体现?.存在腹痛.type === '是'">存在腹痛, </span>
|
<span v-if="state.from1Datas[index]?.胃肠症状体现?.存在腹胀.type === '是'">存在腹胀, </span>
|
<span v-if="state.from1Datas[index]?.胃肠症状体现?.腹泻.type === '是'">腹泻, </span>
|
</td>
|
<td>
|
{{ state.from1Datas[index]?.胃肠道紊乱者?.input1 }}
|
</td>
|
<td>{{ state.from1Datas[index]?.记录者 }}</td>
|
</tr>
|
</template>
|
<!-- 营养筛查评估 -->
|
<template v-for="(row, index) in state.from2Datas[0].list" :key="index">
|
<tr v-if="index === 0">
|
<td
|
:rowspan="
|
state.from2Datas[0].list.length +
|
state.from2Datas[1].list.length +
|
state.from2Datas[2].list.length +
|
state.from2Datas[3].list.length +
|
state.from2Datas[4].list.length
|
"
|
>
|
营养筛查评估
|
</td>
|
<td :rowspan="state.from2Datas[0].list.length">{{ row?.初次调查日期?.substring(0, 11) }}</td>
|
<td :rowspan="state.from2Datas[0].list.length">NRS-2002</td>
|
<td colspan="2">
|
<p class="zdyp" :style="{ color: row?.结果?.color }">{{ row?.结果?.label }}</p>
|
</td>
|
<td>
|
<!-- 提醒复筛时间<br>
|
不合格一月一次;合格一季度一次 -->
|
</td>
|
<td>{{ row.记录者 }}</td>
|
</tr>
|
<tr v-else>
|
<!-- <td>{{ row?.初次调查日期?.substring(0, 11) }}</td> -->
|
<td colspan="2">
|
<p></p>
|
<p class="zdyp" :style="{ color: row?.结果?.color }">{{ row?.结果?.label }}</p>
|
</td>
|
<td></td>
|
<td>{{ row.记录者 }}</td>
|
</tr>
|
</template>
|
<!-- GNRI -->
|
<template v-for="(row, index) in state.from2Datas[1].list" :key="index">
|
<tr v-if="index === 0">
|
|
<td :rowspan="state.from2Datas[1].list.length">{{ row?.初次调查日期?.substring(0, 11) }}</td>
|
<td :rowspan="state.from2Datas[1].list.length">GNRI</td>
|
<td colspan="2">
|
<p class="zdyp" :style="{ color: row?.结果?.color }">{{ row?.结果?.label }}</p>
|
</td>
|
<td></td>
|
<td>{{ row.记录者 }}</td>
|
</tr>
|
<tr v-else>
|
<!-- <td>{{ row?.初次调查日期?.substring(0, 11) }}</td> -->
|
<td colspan="2">
|
<p></p>
|
<p class="zdyp" :style="{ color: row?.结果?.color }">{{ row?.结果?.label }}</p>
|
</td>
|
<td></td>
|
<td>{{ row.记录者 }}</td>
|
</tr>
|
</template>
|
<!-- PEW -->
|
<template v-for="(row, index) in state.from2Datas[2].list" :key="index">
|
<tr v-if="index === 0">
|
<td :rowspan="state.from2Datas[2].list.length">{{ row?.初次调查日期?.substring(0, 11) }}</td>
|
<td :rowspan="state.from2Datas[2].list.length">PEW</td>
|
<td colspan="2">
|
<p class="zdyp" :style="{ color: row?.结果?.color }">{{ row?.结果?.label }}</p>
|
</td>
|
<td></td>
|
<td>{{ row.记录者 }}</td>
|
</tr>
|
<tr v-else>
|
<!-- <td>{{ row?.初次调查日期?.substring(0, 11) }}</td> -->
|
<td colspan="2">
|
<p class="zdyp" :style="{ color: row?.结果?.color }">{{ row?.结果?.label }}</p>
|
</td>
|
<td></td>
|
<td>{{ row.记录者 }}</td>
|
</tr>
|
</template>
|
<!-- SGA -->
|
<template v-for="(row, index) in state.from2Datas[3].list" :key="index">
|
<tr v-if="index === 0">
|
|
<td :rowspan="state.from2Datas[3].list.length">{{ row?.初次调查日期?.substring(0, 11) }}</td>
|
<td :rowspan="state.from2Datas[3].list.length">SGA</td>
|
<td colspan="2">
|
<p class="zdyp" :style="{ color: row?.结果?.color }">{{ row?.结果?.label }}</p>
|
</td>
|
<td></td>
|
<td>{{ row.记录者 }}</td>
|
</tr>
|
<tr v-else>
|
<!-- <td>{{ row?.初次调查日期?.substring(0, 11) }}</td> -->
|
<td colspan="2">
|
<p class="zdyp" :style="{ color: row?.结果?.color }">{{ row?.结果?.label }}</p>
|
</td>
|
<td></td>
|
<td>{{ row.记录者 }}</td>
|
</tr>
|
</template>
|
<!-- MIS -->
|
<template v-for="(row, index) in state.from2Datas[4].list" :key="index">
|
<tr v-if="index === 0">
|
|
<td :rowspan="state.from2Datas[4].list.length">{{ row?.初次调查日期?.substring(0, 11) }}</td>
|
<td :rowspan="state.from2Datas[4].list.length">MIS</td>
|
<td colspan="2">
|
<p class="zdyp" :style="{ color: row?.结果?.color }">{{ row?.结果?.value }}分,{{ row?.结果?.label }}</p>
|
</td>
|
<td></td>
|
<td>{{ row.记录者 }}</td>
|
</tr>
|
<tr v-else>
|
<!-- <td>{{ row?.初次调查日期?.substring(0, 11) }}</td> -->
|
<td colspan="2">
|
<p class="zdyp" :style="{ color: row?.结果?.color }">{{ row?.结果?.value }}分,{{ row?.结果?.label }}</p>
|
</td>
|
<td></td>
|
<td>{{ row.记录者 }}</td>
|
</tr>
|
</template>
|
|
<!-- 生活方式管理 -->
|
<template v-for="(row, index) in state.from3Datas" :key="index">
|
<template v-if="index == 0">
|
<tr>
|
<td :rowspan="state.from3Datas.length * 4">生活方式管理</td>
|
<td :rowspan="state.from3Datas.length * 4">{{ row?.初次调查日期?.substring(0, 11) }}</td>
|
<td>24小时饮食回顾</td>
|
|
<td colspan="2">
|
<p>
|
<span v-if="row?.二十四小时饮食回顾记录?.早餐">早餐:{{ row?.二十四小时饮食回顾记录?.早餐 }},</span>
|
<span v-if="row?.二十四小时饮食回顾记录?.早加餐">早加餐:{{ row?.二十四小时饮食回顾记录?.早加餐 }} ,</span>
|
<span v-if="row?.二十四小时饮食回顾记录?.午餐"> 午餐:{{ row?.二十四小时饮食回顾记录?.午餐 }} ,</span>
|
<span v-if="row?.二十四小时饮食回顾记录?.午加餐">午加餐:{{ row?.二十四小时饮食回顾记录?.午加餐 }} ,</span>
|
<span v-if="row?.二十四小时饮食回顾记录?.晚餐">晚餐:{{ row?.二十四小时饮食回顾记录?.晚餐 }} ,</span>
|
<span v-if="row?.二十四小时饮食回顾记录?.晚加餐">晚加餐:{{ row?.二十四小时饮食回顾记录?.晚加餐 }} ,</span>
|
</p>
|
</td>
|
<td></td>
|
<td>{{ row.记录者 }}</td>
|
</tr>
|
<tr>
|
<!-- <td>{{ row?.初次调查日期?.substring(0, 11) }}</td> -->
|
<td>生活方式调查</td>
|
|
<td colspan="2">
|
{{ row?.生活习惯问题 }}
|
</td>
|
<td></td>
|
<td>{{ row.记录者 }}</td>
|
</tr>
|
<tr>
|
<!-- <td>{{ row?.初次调查日期?.substring(0, 11) }}</td> -->
|
<td>营养饮食问题</td>
|
|
<td colspan="2">
|
{{ row?.饮食问题 }}
|
</td>
|
<td></td>
|
<td>{{ row.记录者 }}</td>
|
</tr>
|
<tr>
|
<!-- <td>{{ row?.初次调查日期?.substring(0, 11) }}</td> -->
|
<td>饮食及行为建议</td>
|
|
<td colspan="2">
|
{{ row?.生活习惯指导建议 }}
|
{{ row?.饮食指导建议 }}
|
</td>
|
<td></td>
|
<td>{{ row.记录者 }}</td>
|
</tr>
|
</template>
|
<template v-else>
|
<tr>
|
<td>24小时饮食回顾</td>
|
<!-- <td>{{ row?.初次调查日期?.substring(0, 11) }}</td> -->
|
<td colspan="2"></td>
|
<td></td>
|
<td></td>
|
</tr>
|
<tr>
|
<td>生活方式调查</td>
|
<!-- <td>{{ row?.初次调查日期?.substring(0, 11) }}</td> -->
|
<td colspan="2">
|
{{ row?.生活习惯问题 }}
|
</td>
|
<td></td>
|
<td>{{ row.记录者 }}</td>
|
</tr>
|
<tr>
|
<td>营养饮食问题</td>
|
<!-- <td>{{ row?.初次调查日期?.substring(0, 11) }}</td> -->
|
<td colspan="2">
|
{{ row?.饮食问题 }}
|
</td>
|
<td></td>
|
<td>{{ row.记录者 }}</td>
|
</tr>
|
<tr>
|
<td>行为及其他问题</td>
|
<!-- <td>{{ row?.初次调查日期?.substring(0, 11) }}</td> -->
|
<td colspan="2"></td>
|
<td></td>
|
<td>{{ row.记录者 }}</td>
|
</tr>
|
<tr>
|
<td>饮食及行为建议</td>
|
<!-- <td>{{ row?.初次调查日期?.substring(0, 11) }}</td> -->
|
<td colspan="2">
|
{{ row?.生活习惯指导建议 }}
|
{{ row?.饮食指导建议 }}
|
</td>
|
<td></td>
|
<td>{{ row.记录者 }}</td>
|
</tr>
|
</template>
|
</template>
|
<!-- 随访记录 -->
|
<template v-for="(row, index) in state.from4Datas" :key="index">
|
<!-- <template > -->
|
<tr>
|
<td v-if="index === 0" :rowspan="state.from4Datas.length">日常随访</td>
|
|
<td>{{ row?.初次调查日期?.substring(0, 11) }}</td>
|
<td>随访记录</td>
|
<td colspan="2">
|
{{ row?.指导建议 }}
|
{{ row?.执行反馈 }}
|
</td>
|
<td></td>
|
<td>{{ row.记录者 }}</td>
|
</tr>
|
<!-- </template> -->
|
</template>
|
|
<!-- 生化检验评估 -->
|
<tr>
|
<td rowspan="3" class="lisclass">肝功</td>
|
<td rowspan="3" class="lisclass">{{ getLisItemTime('白蛋白') }}</td>
|
<td class="lisclass">血清白蛋白</td>
|
|
<td class="lisclass" colspan="2">
|
{{ getLisItem('白蛋白') }}
|
</td>
|
<td class="lisclass"></td>
|
<td class="lisclass">系统</td>
|
</tr>
|
<tr>
|
<td class="lisclass">前白蛋白</td>
|
|
<td class="lisclass" colspan="2">
|
{{ getLisItem('前白蛋白') }}
|
</td>
|
<td class="lisclass"></td>
|
<td class="lisclass">系统</td>
|
</tr>
|
<tr>
|
<td class="lisclass">总白蛋白</td>
|
<td class="lisclass" colspan="2">
|
{{ getLisItem('总蛋白') }}
|
</td>
|
<td class="lisclass"></td>
|
<td class="lisclass">系统</td>
|
</tr>
|
|
<tr>
|
<td rowspan="3" class="lisclass">电解质</td>
|
<td rowspan="3" class="lisclass">{{ getLisItemTime('无机磷') }}</td>
|
<td class="lisclass">血磷</td>
|
|
<td class="lisclass" colspan="2">
|
{{ getLisItem('无机磷') }}
|
</td>
|
<td class="lisclass"></td>
|
<td class="lisclass">系统</td>
|
</tr>
|
<tr>
|
<td class="lisclass">血钙</td>
|
|
<td class="lisclass" colspan="2">
|
{{ getLisItem('钙') }}
|
</td>
|
<td class="lisclass"></td>
|
<td class="lisclass">系统</td>
|
</tr>
|
<tr>
|
<td class="lisclass">钙磷乘积</td>
|
<td class="lisclass" colspan="2">
|
{{ getLisItem('钙磷乘积') }}
|
</td>
|
<td class="lisclass"></td>
|
<td class="lisclass">系统</td>
|
</tr>
|
<tr>
|
<td class="lisclass">全段甲状旁腺激素</td>
|
<td class="lisclass">{{ getLisItemTime('甲状旁腺激素') }}</td>
|
<td class="lisclass">iPTH</td>
|
|
<td class="lisclass" colspan="2">
|
{{ getLisItem('甲状旁腺激素') }}
|
</td>
|
<td class="lisclass"></td>
|
<td class="lisclass">系统</td>
|
</tr>
|
<tr>
|
<td class="lisclass">血常规</td>
|
<td class="lisclass">{{ getLisItemTime('血红蛋白') }}</td>
|
<td class="lisclass">血红蛋白</td>
|
<td class="lisclass" colspan="2">
|
{{ getLisItem('血红蛋白') }}
|
</td>
|
<td class="lisclass"></td>
|
<td class="lisclass">系统</td>
|
</tr>
|
<tr>
|
<td rowspan="3" class="lisclass">铁三项</td>
|
<td rowspan="3" class="lisclass">
|
{{
|
getLisItemTime('转铁蛋白饱和度') === ''
|
? getLisItemTime('血清铁') === ''
|
? getLisItemTime('总铁结合力')
|
: getLisItemTime('血清铁')
|
: getLisItemTime('转铁蛋白饱和度')
|
}}
|
</td>
|
<td class="lisclass">血清铁</td>
|
|
<td class="lisclass" colspan="2">
|
{{ getLisItem('血清铁') }}
|
</td>
|
<td class="lisclass"></td>
|
<td class="lisclass">系统</td>
|
</tr>
|
<tr>
|
<td class="lisclass">总铁结合力</td>
|
|
<td class="lisclass" colspan="2">
|
{{ getLisItem('总铁结合力') }}
|
</td>
|
<td class="lisclass"></td>
|
<td class="lisclass">系统</td>
|
</tr>
|
<tr>
|
<td class="lisclass">转铁蛋白饱和度</td>
|
|
<td class="lisclass" colspan="2">
|
{{ getLisItem('转铁蛋白饱和度') }}
|
</td>
|
<td class="lisclass"></td>
|
<td class="lisclass">系统</td>
|
</tr>
|
<tr>
|
<td rowspan="4" class="lisclass">肾功</td>
|
<td rowspan="4" class="lisclass">{{ getLisItemTime('尿酸') }}</td>
|
<!-- <td class="lisclass">{{ getLisItemTime('β2微球蛋白') }}</td> -->
|
<td class="lisclass">B 2微球蛋白</td>
|
|
<td class="lisclass" colspan="2">
|
{{ getLisItem('β2微球蛋白') }}
|
</td>
|
<td class="lisclass"></td>
|
<td class="lisclass">系统</td>
|
</tr>
|
<tr>
|
<td class="lisclass">肌酐</td>
|
|
<td class="lisclass" colspan="2">
|
{{ getLisItem('肌酐') }}
|
</td>
|
<td class="lisclass"></td>
|
<td class="lisclass">系统</td>
|
</tr>
|
<tr>
|
<td class="lisclass">尿酸</td>
|
|
<td class="lisclass" colspan="2">
|
{{ getLisItem('尿酸') }}
|
</td>
|
<td class="lisclass"></td>
|
<td class="lisclass">系统</td>
|
</tr>
|
<tr>
|
<td class="lisclass">尿素氮</td>
|
|
<td class="lisclass" colspan="2">
|
{{ getLisItem('透析前尿素氮') }}
|
{{ getLisItem('尿素') }}
|
{{ getLisItem('透析后尿素氮') }}
|
</td>
|
<td class="lisclass"></td>
|
<td class="lisclass">系统</td>
|
</tr>
|
</table>
|
</div>
|
</el-scrollbar>
|
</div>
|
</el-col>
|
</el-row>
|
</div>
|
</template>
|
|
<script setup lang="ts">
|
import { storeToRefs } from 'pinia';
|
import { usePatientsInfo } from '/@/stores/patientsInfo';
|
import { computed, reactive, ref } from 'vue';
|
import { ElMessage } from 'element-plus';
|
import { getPatData } from '/@/api/Patients';
|
import { list, getLatestReportByPat } from '/@/api/tiaochabiao';
|
import { formatDate } from '/@/utils/formatTime';
|
const storesPat = usePatientsInfo();
|
const { patientsInfo } = storeToRefs(storesPat);
|
const props = defineProps(['tableHeight']);
|
const state = reactive({
|
tableData: {
|
基本信息: {
|
患者姓名: '',
|
性别: '',
|
年龄: '',
|
身高: '',
|
病史: '',
|
听力视力障碍: '',
|
透析频次: '',
|
透析时长: '',
|
},
|
},
|
patientData: {
|
姓名: '',
|
干体重: '',
|
证件号: '',
|
诊断: '',
|
身高: '',
|
上一次透前体重: '',
|
干体重最近调整记录: [{ 干体重: '', 调整日期: '', 调整人: '', 备注: '' }],
|
透析方案: [{ 透析频率: '', 透析时长: '', 透析方案: '' }],
|
上一次超滤总量: '',
|
},
|
// 食物过敏胃肠道
|
from1Datas: <any>[],
|
// 营养筛查评估
|
from2Datas: [
|
{ name: 'NRS-2002', list: <any>[] },
|
{ name: 'GNRI', list: <any>[] },
|
{ name: 'PEW', list: <any>[] },
|
{ name: 'SGA', list: <any>[] },
|
{ name: 'MIS', list: <any>[] },
|
],
|
// 生活方式管理
|
from3Datas: <any>[],
|
// 随访记录
|
from4Datas: <any>[],
|
loading: false,
|
// 检验结果
|
lisRes: <any>[],
|
});
|
const tableHe = computed(() => {
|
return props.tableHeight - 130;
|
});
|
const getLisItem = (itemName: string) => {
|
if (itemName) {
|
const x = state.lisRes.findIndex((e: any) => e.item_system_name === itemName);
|
if (x >= 0) {
|
return state.lisRes[x].item_result;
|
} else {
|
return '';
|
}
|
} else {
|
return '';
|
}
|
};
|
const getLisItemTime = (itemName: string) => {
|
if (itemName) {
|
const x = state.lisRes.findIndex((e: any) => e.item_system_name === itemName);
|
if (x >= 0) {
|
return state.lisRes[x].sample_date_str;
|
} else {
|
return '';
|
}
|
} else {
|
return '';
|
}
|
};
|
const BMI = computed(() => {
|
if (state.patientData.干体重 && state.patientData.身高) {
|
return (Number(state.patientData.干体重) / (((Number(state.patientData.身高) / 100) * Number(state.patientData.身高)) / 100)).toFixed(2);
|
} else {
|
return '';
|
}
|
});
|
|
// 第一步:定义子组件里面的方法
|
const getData = async (str: string) => {
|
console.log('子组件获取显示数据!' + str);
|
console.log(props.tableHeight);
|
var pam = {
|
patCode: patientsInfo.value.code,
|
};
|
try {
|
state.loading = true;
|
state.from1Datas = [];
|
state.from2Datas[0].list = [];
|
state.from2Datas[1].list = [];
|
state.from2Datas[2].list = [];
|
state.from2Datas[3].list = [];
|
state.from2Datas[4].list = [];
|
const [res1, fromData1, fromData2, fromData3, fromData4, from5Datas] = await Promise.all([
|
getPatData(pam),
|
getFrom1(),
|
getFrom2(),
|
getFrom3(),
|
getFrom4(),
|
getLatestReportByPatPage(),
|
]);
|
if (from5Datas.data) {
|
console.log('检验数据------');
|
console.log(from5Datas.data);
|
state.lisRes = from5Datas.data;
|
}
|
state.patientData = res1.data;
|
const from1 = fromData1;
|
if (from1.data.list.length >= 1) {
|
from1.data.list.forEach((element: any) => {
|
state.from1Datas.push(JSON.parse(element?.surveryJsonBody));
|
});
|
}
|
console.log('食物过敏的------------------');
|
console.log(state.from1Datas);
|
if (fromData2.data.list.length > 0) {
|
fromData2.data.list.forEach((element: any) => {
|
console.log('0000000000000', element);
|
if (element.suveryFormName === 'NRS-2002') {
|
state.from2Datas[0].list.push(JSON.parse(element?.surveryJsonBody));
|
} else if (element.suveryFormName === 'GNRI') {
|
state.from2Datas[1].list.push(JSON.parse(element?.surveryJsonBody));
|
} else if (element.suveryFormName === 'PEW') {
|
state.from2Datas[2].list.push(JSON.parse(element?.surveryJsonBody));
|
} else if (element.suveryFormName === 'SGA') {
|
state.from2Datas[3].list.push(JSON.parse(element?.surveryJsonBody));
|
} else if (element.suveryFormName === 'MIS') {
|
state.from2Datas[4].list.push(JSON.parse(element?.surveryJsonBody));
|
}
|
});
|
}
|
console.log('营养的------------------');
|
console.log(state.from2Datas);
|
state.from3Datas = [];
|
if (fromData3.data.list.length > 0) {
|
fromData3.data.list.forEach((element: any) => {
|
state.from3Datas.push(JSON.parse(element?.surveryJsonBody));
|
});
|
}
|
console.log('生活管理的------------------');
|
console.log(state.from3Datas);
|
state.from4Datas = [];
|
if (fromData4.data.list.length > 0) {
|
fromData4.data.list.forEach((element: any) => {
|
state.from4Datas.push(JSON.parse(element?.surveryJsonBody));
|
});
|
}
|
console.log('随访记录理的------------------');
|
console.log(state.from4Datas);
|
} catch (error) {
|
state.loading = false;
|
ElMessage.error('结果请求错误,请联系管理员!');
|
}
|
};
|
// 食物过敏原及胃肠功能调查
|
const getFrom1 = async () => {
|
const pasm = {
|
page: 0,
|
size: 0,
|
wherecondition: `survery_form_type=0 and patient_code='${patientsInfo.value.code}'`,
|
ordercondition: 'survery_time desc',
|
};
|
pasm.wherecondition += "and suvery_form_name='食物过敏原及胃肠功能调查'";
|
const yinyangbiaodan1 = await list(pasm);
|
console.log(yinyangbiaodan1);
|
return yinyangbiaodan1;
|
};
|
// 营养风险筛查结果
|
const getFrom2 = async () => {
|
const pasm = {
|
page: 0,
|
size: 0,
|
wherecondition: `survery_form_type=1 and patient_code='${patientsInfo.value.code}'`,
|
ordercondition: 'survery_time desc',
|
};
|
const yinyangbiaodan1 = await list(pasm);
|
console.log('营养风险筛查结果');
|
console.log(yinyangbiaodan1.data);
|
return yinyangbiaodan1;
|
};
|
// 生活习惯
|
const getFrom3 = async () => {
|
const pasm = {
|
page: 0,
|
size: 0,
|
wherecondition: `survery_form_type=0 and patient_code='${patientsInfo.value.code}'`,
|
ordercondition: 'survery_time desc',
|
};
|
pasm.wherecondition += "and suvery_form_name='膳食生活调查表'";
|
const yinyangbiaodan1 = await list(pasm);
|
return yinyangbiaodan1;
|
};
|
// 随访记录
|
const getFrom4 = async () => {
|
const pasm = {
|
page: 0,
|
size: 0,
|
wherecondition: `survery_form_type=0 and patient_code='${patientsInfo.value.code}'`,
|
ordercondition: 'survery_time desc',
|
};
|
pasm.wherecondition += "and suvery_form_name='随访记录'";
|
const yinyangbiaodan1 = await list(pasm);
|
return yinyangbiaodan1;
|
};
|
const getLatestReportByPatPage = async () => {
|
// 创建一个新的日期对象,默认为当前日期
|
let currentDate = new Date();
|
// 获取当前年份
|
let currentYear = currentDate.getFullYear();
|
// 设置为上一年
|
currentDate.setFullYear(currentYear - 1);
|
const ps = {
|
patCode: patientsInfo.value.code,
|
date1: formatDate(currentDate, 'YYYY-mm-dd'),
|
date2: formatDate(new Date(), 'YYYY-mm-dd'),
|
};
|
const res = await getLatestReportByPat(ps);
|
return res;
|
};
|
// 第二步:暴露方法
|
defineExpose({ getData });
|
</script>
|
|
<style lang="scss">
|
.scrollbar-demo-item {
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
height: 50px;
|
// margin: 10px;
|
text-align: center;
|
border-radius: 4px;
|
background: var(--el-color-primary-light-9);
|
color: var(--el-color-primary);
|
}
|
.tableDiv {
|
table {
|
width: 100%;
|
border-collapse: collapse;
|
}
|
th,
|
td {
|
border: 1px solid #ddd;
|
padding: 8px;
|
text-align: center;
|
}
|
th {
|
background-color: #409eff;
|
font-weight: bold;
|
color: #ffffff;
|
}
|
tr:nth-child(even) {
|
background-color: #f2f2f2;
|
}
|
.note {
|
color: #409eff;
|
font-size: smaller;
|
}
|
.fontred {
|
color: red;
|
font-size: large;
|
}
|
}
|
.zdyp {
|
width: 150px; /* 根据实际情况调整宽度 */
|
white-space: nowrap;
|
overflow: hidden;
|
text-overflow: ellipsis;
|
display: inline-block;
|
max-width: 100%; /* 确保在必要时元素可以缩小 */
|
}
|
|
// .zdyp:hover {
|
// overflow: visible;
|
// white-space: normal;
|
// position: absolute;
|
// background: #FFF; /* 背景颜色可以根据需要调整 */
|
// z-index: 1000; /* 确保悬浮文本在页面的最上层 */
|
// }
|
.lisclass {
|
background: rgb(235.9, 245.3, 255);
|
}
|
</style>
|