<template>
|
<div>
|
<el-row>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
<div class="tableDiv">
|
<el-scrollbar :height="(tableHeight-130)+'px'">
|
<table v-if="tableHeight > 0" >
|
<tr>
|
<th colspan="7" style="text-align: left">营养服务管理记录</th>
|
</tr>
|
<tr>
|
<td :rowspan="2+state.patientData.透析方案.length">基本信息</td>
|
<td>患者姓名</td>
|
<td>{{ patientsInfo.patientName }}</td>
|
<td>性别</td>
|
<td>{{ patientsInfo.patientGenderText }}</td>
|
<td>年龄</td>
|
<td><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>
|
<td rowspan="2">其他</td>
|
<td>口腔功能</td>
|
<td></td>
|
<td>手机使用度</td>
|
<td></td>
|
<td>营养服务类别</td>
|
<td></td>
|
</tr>
|
<tr>
|
<td>知识接受度</td>
|
<td></td>
|
<td>临床依从性</td>
|
<td></td>
|
<td>营养服务认可度</td>
|
<td></td>
|
</tr>
|
<tr>
|
<th>项目</th>
|
<!-- <td>序号</td> -->
|
<th>项目内容</th>
|
<th>时间</th>
|
<th colspan="2">详情</th>
|
<th>备注</th>
|
<th>记录者</th>
|
</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">食物过敏源</td>
|
<td>{{state.from1Datas[index]?.初次调查日期}}</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].初次调查日期}}</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">胃肠功能评估</td>
|
<td>{{state.from1Datas[index].初次调查日期}}</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].初次调查日期}}</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">NRS-2002</td>
|
<td>{{row?.初次调查日期?.substring(0,11)}}</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">GNRI</td>
|
<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>
|
<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">PEW</td>
|
<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>
|
<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">SGA</td>
|
<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>
|
<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">MIS</td>
|
<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>
|
<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*5">生活方式管理</td>
|
<td>24小时饮食回顾</td>
|
<td>{{row?.初次调查日期?.substring(0,11)}}</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>生活方式调查</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>2003-06-34</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 :rowspan="state.from4Datas.length">日常随访</td>
|
<td >随访记录</td>
|
<td>{{row?.初次调查日期?.substring(0,11)}}</td>
|
<td colspan="2">
|
{{row?.指导建议}}
|
{{row?.执行反馈}}
|
</td>
|
<td></td>
|
<td>{{row.记录者}}</td>
|
</tr>
|
<!-- </template> -->
|
</template>
|
<tr>
|
<td rowspan="3">
|
基本信息<br/>
|
数据评估
|
</td>
|
<td>干体重</td>
|
<td>-</td>
|
<td colspan="2">
|
{{state.patientData.干体重}}
|
</td>
|
<td></td>
|
<td>系统</td>
|
</tr>
|
<tr>
|
<td>BMI</td>
|
<td>-</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>
|
<!-- 生化检验评估 -->
|
<tr>
|
<td rowspan="4" class="lisclass">
|
肝功
|
</td>
|
<td class="lisclass">血清白蛋白</td>
|
<td class="lisclass">{{getLisItemTime('白蛋白')}}</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" 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" colspan="2">
|
{{getLisItem('总蛋白')}}
|
</td>
|
<td class="lisclass"></td>
|
<td class="lisclass">系统</td>
|
</tr>
|
<tr>
|
<td class="lisclass">其他指标</td>
|
<td class="lisclass"></td>
|
<td class="lisclass" colspan="2">
|
|
</td>
|
<td class="lisclass"></td>
|
<td class="lisclass">系统</td>
|
</tr>
|
<tr>
|
<td rowspan="3" class="lisclass">
|
电解质
|
</td>
|
<td class="lisclass">血磷</td>
|
<td class="lisclass">{{getLisItemTime('无机磷')}}</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" 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" colspan="2">
|
{{getLisItem('钙磷乘积')}}
|
</td>
|
<td class="lisclass"></td>
|
<td class="lisclass">系统</td>
|
</tr>
|
<tr>
|
<td class="lisclass">
|
全段甲状旁腺激素
|
</td>
|
<td class="lisclass">iPTH</td>
|
<td class="lisclass">{{getLisItemTime('甲状旁腺激素')}}</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">血红蛋白</td>
|
<td class="lisclass">{{getLisItemTime('血红蛋白')}}</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 class="lisclass">血清铁</td>
|
<td class="lisclass">{{getLisItemTime('血清铁')}}</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" 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" colspan="2">
|
{{getLisItem('转铁蛋白饱和度')}}
|
</td>
|
<td class="lisclass"></td>
|
<td class="lisclass">系统</td>
|
</tr>
|
<tr>
|
<td rowspan="4" class="lisclass">
|
肾功
|
</td>
|
<td class="lisclass">B 2微球蛋白</td>
|
<td class="lisclass">{{getLisItemTime('β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">{{getLisItemTime('肌酐')}}</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" 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" colspan="2">
|
{{getLisItem('透析前尿素氮')}}
|
{{getLisItem('尿素')}}
|
{{getLisItem('透析后尿素氮')}}
|
</td>
|
<td class="lisclass"></td>
|
<td class="lisclass">系统</td>
|
</tr>
|
<tr>
|
<td rowspan="3" class="lisclass">
|
其他
|
</td>
|
<td class="lisclass">血糖</td>
|
<td class="lisclass"></td>
|
<td class="lisclass" colspan="2">
|
|
</td>
|
<td class="lisclass"></td>
|
<td class="lisclass">系统</td>
|
</tr>
|
<tr>
|
|
<td class="lisclass">血压</td>
|
<td class="lisclass"></td>
|
<td class="lisclass" colspan="2">
|
|
</td>
|
<td class="lisclass"></td>
|
<td class="lisclass">系统</td>
|
</tr>
|
<tr>
|
|
<td class="lisclass">血脂</td>
|
<td class="lisclass"></td>
|
<td class="lisclass" colspan="2">
|
|
</td>
|
<td class="lisclass"></td>
|
<td class="lisclass">系统</td>
|
</tr>
|
|
|
|
</table>
|
</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))
|
});
|
|
}
|
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">
|
|
|
.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>
|