From c7d64da312576120b6252f91fea4e0052fd5f8dc Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期四, 13 二月 2025 23:42:36 +0800
Subject: [PATCH] 加汇总表
---
src/views/home/components/pingubiao/editDietary3.vue | 36 +
src/views/home/components/pingubiao/editDietary2.vue | 35 +
src/views/home/index.vue | 19
src/views/home/components/pingubiao/editDietary4.vue | 26 +
src/views/home/components/pingubiao/editDietary5.vue | 56 +-
src/views/home/components/pingubiao/editDietary.vue | 33
src/views/home/components/jilubiao/index.vue | 968 ++++++++++++++++++++++++++++++++++++++++++++++++
src/views/home/components/editDietary.vue | 2
8 files changed, 1,108 insertions(+), 67 deletions(-)
diff --git a/src/views/home/components/editDietary.vue b/src/views/home/components/editDietary.vue
index 5572070..6f9001b 100644
--- a/src/views/home/components/editDietary.vue
+++ b/src/views/home/components/editDietary.vue
@@ -475,7 +475,7 @@
</el-checkbox>
<el-checkbox value="辛辣食品">辛辣食品
</el-checkbox>
- <el-checkbox value="石炭酉饮米斗">石炭酉饮米斗
+ <el-checkbox value="碳酸饮料">碳酸饮料
</el-checkbox>
diff --git a/src/views/home/components/jilubiao/index.vue b/src/views/home/components/jilubiao/index.vue
new file mode 100644
index 0000000..90f1d3a
--- /dev/null
+++ b/src/views/home/components/jilubiao/index.vue
@@ -0,0 +1,968 @@
+<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="6">用药管理</td>
+ <!-- <td rowspan="2">1</td> -->
+ <td rowspan="2">用药调查</td>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+
+ <!-- <td rowspan="2">2</td> -->
+ <td rowspan="2">用药监督</td>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+
+ <!-- <td rowspan="2">3</td> -->
+ <td rowspan="2">指导建议</td>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <!-- 随访 -->
+ <tr>
+ <td rowspan="2">随访</td>
+ <!-- <td rowspan="2">1</td> -->
+ <td rowspan="2">随访情况</td>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <!-- 营养筛查评估 -->
+ <tr>
+ <td rowspan="4">营养筛查评估</td>
+ <!-- <td rowspan="2">1</td> -->
+ <td rowspan="2">营养筛查结果</td>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <!-- <td rowspan="2">2</td> -->
+ <td rowspan="2">营养评估结果</td>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <!-- 数据评估 -->
+ <tr>
+ <td rowspan="12">数据评估</td>
+ <!-- <td rowspan="2">1</td> -->
+ <td rowspan="2">干体重</td>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <!-- <td rowspan="2">2</td> -->
+ <td rowspan="2">BMI </td>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <!-- <td rowspan="2">3</td> -->
+ <td rowspan="2">生化指标 </td>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <!-- <td rowspan="2">4</td> -->
+ <td rowspan="2">脱水量 </td>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <!-- <td rowspan="2">5</td> -->
+ <td rowspan="2">血压 </td>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <!-- <td rowspan="2">6</td> -->
+ <td rowspan="2">血糖 </td>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td rowspan="8">个性化管理</td>
+ <!-- <td rowspan="2">1</td> -->
+ <td rowspan="2">指导目标</td>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <!-- <td rowspan="2">2</td> -->
+ <td rowspan="2">指导建议</td>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <!-- <td rowspan="2">3</td> -->
+ <td rowspan="2">指导方案</td>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <!-- <td rowspan="2">4</td> -->
+ <td rowspan="2">随访情况</td>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <!-- 效果反馈 -->
+ <tr>
+ <td rowspan="4">效果反馈</td>
+ <!-- <td rowspan="2">1</td> -->
+ <td rowspan="2">生化数据改善</td>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <!-- <td rowspan="2">2</td> -->
+ <td rowspan="2">主观感受改善</td>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <!-- 产品管理 -->
+ <tr>
+ <td rowspan="4">产品管理</td>
+ <!-- <td rowspan="2">1</td> -->
+ <td rowspan="2">好馨意</td>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <!-- <td rowspan="2">2</td> -->
+ <td rowspan="2">其他品牌</td>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td rowspan="4">健康营养宣教</td>
+ <!-- <td rowspan="2">1</td> -->
+ <td rowspan="2">生化指标</td>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <!-- <td rowspan="2">2</td> -->
+ <td rowspan="2">营养饮食</td>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td colspan="2"></td>
+ <td></td>
+ <td></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 } from 'vue';
+import { ElMessage } from 'element-plus';
+import { getPatData } from '/@/api/Patients';
+import { list } from '/@/api/tiaochabiao';
+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,
+})
+const tableHe = computed(() => {
+ return props.tableHeight - 130
+})
+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=[]
+ const [res1,fromData1,fromData2,fromData3,fromData4] = await Promise.all([
+ getPatData(pam),
+ getFrom1(),
+ getFrom2(),
+ getFrom3(),
+ getFrom4()
+ ])
+ 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){
+ state.from2Datas[0].list=[]
+ state.from2Datas[1].list=[]
+ state.from2Datas[2].list=[]
+ state.from2Datas[3].list=[]
+ state.from2Datas[4].list=[]
+ 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
+}
+// 第二步:暴露方法
+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; /* 确保悬浮文本在页面的最上层 */
+// }
+</style>
diff --git a/src/views/home/components/pingubiao/editDietary.vue b/src/views/home/components/pingubiao/editDietary.vue
index 12be3d6..d663b11 100644
--- a/src/views/home/components/pingubiao/editDietary.vue
+++ b/src/views/home/components/pingubiao/editDietary.vue
@@ -172,8 +172,8 @@
<br />
<br />
<br />
- <div style="color: blue">
- 最后得分:{{ sum }}, {{ sum >= 3 ? '患者存在营养风险,应进行营养评定,并制定和实施营养支持治疗计划。' : '无营养风险' }}
+ <div style="color: blue" v-if="sum.value" :style="{color:sum.color}">
+ 最后得分:{{ sum.value }}, {{ sum.label }}
</div>
<br />
@@ -259,6 +259,11 @@
},
});
const sum = computed(() => {
+ const res={
+ value:'',
+ label:'',
+ color:''
+ }
let x = 0;
for (let key in state.tableData) {
console.log(key + 'key==' + state.tableData[key]?.type);
@@ -266,7 +271,15 @@
x += Number(state.tableData[key]?.type);
}
}
- return x;
+ res.value=x
+ if(x>3){
+ res.label='存在营养风险'
+ res.color='#F56C6C'
+ }else{
+ res.label='无营养风险'
+ res.color='#303133'
+ }
+ return res;
});
const funhui = () => {
state.dialogTableVisible = false;
@@ -274,19 +287,7 @@
const onSubmit = () => {
console.log('submit!');
console.log(state.tableData);
- let x = 0;
- for (let key in state.tableData) {
- console.log(key + 'key==' + state.tableData[key]?.type);
- if (Number(state.tableData[key]?.type)) {
- x += Number(state.tableData[key]?.type);
- }
- }
- if(x>=3){
- state.tableData.结果= '患者存在营养风险,应进行营养评定,并制定和实施营养支持治疗计划。'
- }else{
- state.tableData.结果='无营养风险'
- }
-
+ state.tableData.结果=sum.value
const info: tiaochabiaoInfo = {
id: state.viewInfo.id,
surveryFormType: 1,
diff --git a/src/views/home/components/pingubiao/editDietary2.vue b/src/views/home/components/pingubiao/editDietary2.vue
index d605846..44e59f8 100644
--- a/src/views/home/components/pingubiao/editDietary2.vue
+++ b/src/views/home/components/pingubiao/editDietary2.vue
@@ -52,7 +52,7 @@
</td>
<td colspan="3" style="color: red;">
- 评级结果:{{sum}}
+ 评级结果:{{sum.value}},{{sum.label}}
</td>
@@ -404,7 +404,7 @@
</tr>
<tr>
- <td colspan="6" style="font-weight: 600;">
+ <td colspan="6" style="font-weight: 600; color: #000;">
注意:
<br />
1.体重变化,考虑过去6个月或近2周的,过去5个月变化显著,但近一个月无丢失无增加,或近2周经治疗后体重稳定,则体重丢失一项不予考虑。
@@ -540,7 +540,8 @@
腹水: {
type: '',
input1: '',
- }
+ },
+ 结果:''
},
loading: false,
viewInfo: {
@@ -561,8 +562,12 @@
let a = 0
let b=0
let c=0
+ const res={
+ value:'',
+ label:'',
+ color:''
+ }
for (let key in state.tableData) {
- console.log(key + 'key==' + state.tableData[key]?.type)
if (state.tableData[key]?.type==='A') {
a++
}else if(state.tableData[key]?.type==='B') {
@@ -571,7 +576,23 @@
c++
}
}
- return `A:${a},B:${b},C:${c}`
+ if(c>5){
+ res.label='重度营养不良'
+ res.color='#F56C6C'
+ }else if(c<5&&b+c>=5){
+ res.label='中度营养不良'
+ res.color='#E6A23C'
+ }else if(b+c<5){
+ res.label='轻度营养不良'
+ res.color='#E6A23C'
+ }else if(a>=5) {
+ res.label='营养良好'
+ res.color='#303133'
+ }else{
+ res.label=''
+ }
+ res.value=`A:${a},B:${b},C:${c}`
+ return res
})
const funhui = () => {
state.dialogTableVisible = false
@@ -579,6 +600,7 @@
const onSubmit = () => {
console.log('submit!')
console.log(state.tableData)
+ state.tableData.结果=sum.value
const info: tiaochabiaoInfo = {
id: state.viewInfo.id,
surveryFormType: 1,
@@ -716,7 +738,8 @@
腹水: {
type: '',
input1: '',
- }
+ },
+ 结果:''
}
state.viewInfo={
id: 0,
diff --git a/src/views/home/components/pingubiao/editDietary3.vue b/src/views/home/components/pingubiao/editDietary3.vue
index 44b321e..cfe1650 100644
--- a/src/views/home/components/pingubiao/editDietary3.vue
+++ b/src/views/home/components/pingubiao/editDietary3.vue
@@ -173,11 +173,11 @@
<br />
<br />
<br />
- <div style="color: blue">
- 最后得分:{{ sum }} ,评价:
- <span v-if="sum <= 8">轻度营养不良</span>
- <span v-if="sum > 8 && sum < 18">中度营养不良</span>
- <span v-if="sum >= 18">重度营养不良</span>
+ <div :style="{color:sum.color }">
+ 最后得分:{{ sum.value }} ,评价:
+ <span v-if="sum.value <= 8">轻度营养不良</span>
+ <span v-if="sum.value > 8 && sum.value < 18">中度营养不良</span>
+ <span v-if="sum.value >= 18">重度营养不良</span>
</div>
<br />
@@ -273,6 +273,7 @@
type: '',
input1: '',
},
+ 结果:''
},
loading: false,
viewInfo: {
@@ -288,15 +289,36 @@
updateTime: '',
},
});
+// <span v-if="sum <= 8">轻度营养不良</span>
+// <span v-if="sum > 8 && sum < 18">>
const sum = computed(() => {
let x = 0;
+ const res={
+ label:'',
+ value:0,
+ color:'',
+ }
for (let key in state.tableData) {
console.log(key + 'key==' + state.tableData[key]?.type);
if (Number(state.tableData[key]?.type)) {
x += Number(state.tableData[key]?.type);
}
}
- return x;
+ if(x<=8){
+ res.label="轻度营养不良"
+ res.color='#E6A23C'
+ }else if(x > 8 && x < 18){
+ res.color='#E6A23C'
+ res.label="中度营养不良"
+ }else if(x >=18){
+ res.color='#F56C6C'
+ res.label="重度营养不良"
+ }else{
+ res.color='#303133'
+ res.label="正常"
+ }
+ res.value=x
+ return res;
});
const funhui = () => {
state.dialogTableVisible = false;
@@ -304,6 +326,7 @@
const onSubmit = () => {
console.log('submit!');
console.log(state.tableData);
+ state.tableData.结果=sum.value
const info: tiaochabiaoInfo = {
id: state.viewInfo.id,
surveryFormType: 1,
@@ -404,6 +427,7 @@
type: '',
input1: '',
},
+ 结果:''
};
state.viewInfo = {
id: 0,
diff --git a/src/views/home/components/pingubiao/editDietary4.vue b/src/views/home/components/pingubiao/editDietary4.vue
index 8c3fe23..8962cb1 100644
--- a/src/views/home/components/pingubiao/editDietary4.vue
+++ b/src/views/home/components/pingubiao/editDietary4.vue
@@ -114,8 +114,8 @@
根据2008年ISRNM推荐的指标进行诊断,满足以下4条诊断标准(每项中至少1项符合)考虑存在PEW
</td>
- <td colspan="1" style="font-family: 600;color: blue; font-weight: 700;">
- 合计满足 {{sum}} 项
+ <td colspan="1" style="font-family: 600;color: blue; font-weight: 700;" :style="{color:sum?.color}">
+ 合计满足{{sum.value}}项; {{sum.label}}
</td>
</tr>
@@ -190,7 +190,8 @@
肌肉指标:{
type: '',
input1: '',
- }
+ },
+ 结果:''
},
loading: false,
viewInfo:{
@@ -209,13 +210,26 @@
})
const sum = computed(() => {
let x=0
+ const res={
+ value:'',
+ label:'',
+ color:''
+ }
for(let key in state.tableData){
console.log(key+'key=='+state.tableData[key]?.type)
if(Number(state.tableData[key]?.type)){
x+=Number(state.tableData[key]?.type)
}
}
- return x
+ if(x>=4){
+ res.label="考虑存在PEW"
+ res.color='#F56C6C'
+ }else{
+ res.label="正常"
+ res.color='#303133'
+ }
+ res.value=x
+ return res
})
const funhui=()=>{
state.dialogTableVisible=false
@@ -223,6 +237,7 @@
const onSubmit = () => {
console.log('submit!')
console.log(state.tableData)
+ state.tableData.结果=sum.value
const info:tiaochabiaoInfo={
id: state.viewInfo.id,
surveryFormType:1,
@@ -303,7 +318,8 @@
肌肉指标:{
type: '',
input1: '肌肉量丢失(3个月内>5%或半年内>10%),上臂肌围减少(减少>10%参照群体第50个百分位数)',
- }
+ },
+ 结果:''
}
state.viewInfo={
id: 0,
diff --git a/src/views/home/components/pingubiao/editDietary5.vue b/src/views/home/components/pingubiao/editDietary5.vue
index 726759b..35e8cba 100644
--- a/src/views/home/components/pingubiao/editDietary5.vue
+++ b/src/views/home/components/pingubiao/editDietary5.vue
@@ -70,8 +70,8 @@
</td>
<td colspan="2" rowspan="3" style="text-align: center;font-size: 18px;">
- <div :style="{color:sum.includes('无营养风险')?'#67C23A':'red'}">
- {{ sum }}
+ <div v-if="sum.label" :style="{color:sum.color}">
+ {{ sum.value }}分,{{sum.label}}
</div>
</td>
@@ -232,6 +232,11 @@
}
})
const sum = computed(() => {
+ const res={
+ value:'',
+ label:'',
+ color:''
+ }
let data=0
if (isNumeric(state.tableData.体重) && isNumeric(state.tableData.身高) && isNumeric(state.tableData.血清白蛋白浓度)) {
if (Number(state.tableData.体重) <= Number(state.tableData.理想体重)) {
@@ -240,48 +245,33 @@
data= Number(((1.498 * Number(state.tableData.血清白蛋白浓度)) + 41.7).toFixed(2))
}
if(data<82){
- return `${data} 高营养风险`
+ res.value=data
+ res.label='高营养风险'
+ res.color='#F56C6C'
}else if(data>=82&&data<92){
- return `${data} 中营养风险`
+ res.value=data
+ res.label='中营养风险'
+ res.color='#E6A23C'
}else if(data>=92&&data<98){
- return `${data} 低营养风险`
+ res.value=data
+ res.label='低营养风险'
+ res.color='#E6A23C'
}else if(data>=98){
- return `${data} 无营养风险`
- }else{
- return ''
+
+ res.value=data
+ res.label='低营养风险'
+ res.color='#303133'
}
+ return res
} else{
- return ''
+ return res
}
})
-const sumtest=()=>{
- let data=0
- if (isNumeric(state.tableData.体重) && isNumeric(state.tableData.身高) && isNumeric(state.tableData.血清白蛋白浓度)) {
- if (Number(state.tableData.体重) <= Number(state.tableData.理想体重)) {
- data= Number(((1.498 * Number(state.tableData.血清白蛋白浓度)) + (41.7 * ((Number(state.tableData.体重) / Number(state.tableData.理想体重))))).toFixed(2))
- } else {
- data= Number(((1.498 * Number(state.tableData.血清白蛋白浓度)) + 41.7).toFixed(2))
- }
- if(data<82){
- return `GNRI:${data} 高营养风险`
- }else if(data>=82&&data<92){
- return `GNRI:${data} 中营养风险`
- }else if(data>=92&&data<98){
- return `GNRI:${data} 低营养风险`
- }else if(data>=98){
- return `GNRI:${data} 无营养风险`
- }else{
- return ''
- }
- } else{
- return ''
- }
-}
const funhui = () => {
state.dialogTableVisible = false
}
const onSubmit = () => {
- state.tableData.结果=sumtest()
+ state.tableData.结果=sum.value
console.log('submit!')
console.log(state.tableData)
const info: tiaochabiaoInfo = {
diff --git a/src/views/home/index.vue b/src/views/home/index.vue
index 15cd420..82a88bc 100644
--- a/src/views/home/index.vue
+++ b/src/views/home/index.vue
@@ -110,6 +110,17 @@
</template>
</el-tab-pane>
+ <el-tab-pane label="营养服务管理记录" name="营养服务管理记录">
+ <template #label>
+ <span class="custom-tabs-label home-title">
+ <el-icon>
+ <Edit />
+ </el-icon>
+ <span style="margin-left: 5px">营养服务管理记录</span>
+ </span>
+ </template>
+
+ </el-tab-pane>
</el-tabs>
<div class="itemDoby">
<patientFile v-show="state.activeName === '患者档案'" :tableHeight="state.tableHeight.detailRight"
@@ -123,6 +134,9 @@
<pinggubiao ref="pinggubiaoRef" v-show="state.activeName === '营养筛查评估'" :tableHeight="state.tableHeight.detailRight"></pinggubiao>
<fangAn ref="fangAnRef" v-show="state.activeName === '营养饮食指导方案'" :tableHeight="state.tableHeight.detailRight"></fangAn>
<suifangjilu ref="suifangjiluRef" v-show="state.activeName === '随访记录'" :tableHeight="state.tableHeight.detailRight"></suifangjilu>
+
+ <jilubiao ref="jilubiaoRef" v-show="state.activeName === '营养服务管理记录'" :tableHeight="state.tableHeight.detailRight"></jilubiao>
+
</div>
@@ -163,6 +177,8 @@
import fangAn from './components/fangAn/index.vue'
// 随访记录
import suifangjilu from './components/suifangjilu/index.vue'
+// 营养记录表
+import jilubiao from './components/jilubiao/index.vue'
interface User {
code: string,
patientName: string
@@ -178,6 +194,7 @@
const shiwuguomingRef=ref()
const fangAnRef=ref()
const suifangjiluRef=ref()
+const jilubiaoRef=ref()
const state = reactive({
global: {
homeChartOne: null,
@@ -276,6 +293,8 @@
fangAnRef.value.getData()
}else if(state.activeName==='随访记录'){
suifangjiluRef.value.getData()
+ }else if(state.activeName==='营养服务管理记录'){
+ jilubiaoRef.value.getData()
}
}
}
--
Gitblit v1.8.0