From f8e58374b3e4b2868e19f3908ef7e4796e9ca0a0 Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期日, 15 六月 2025 18:04:11 +0800
Subject: [PATCH] gx
---
package-lock.json | 12
package.json | 1
src/views/zhikong/components/components.vue | 19
src/views/home/components/jilubiao/index.vue | 1646 ++++++++++++++++++++++++++++------------------------------
4 files changed, 817 insertions(+), 861 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index acab0de..2bd7a23 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -20,6 +20,7 @@
"echarts-gl": "^2.0.9",
"echarts-wordcloud": "^2.1.0",
"element-plus": "^2.6.1",
+ "file-saver": "^2.0.5",
"html2canvas": "^1.4.1",
"html2pdf.js": "^0.10.2",
"js-cookie": "^3.0.5",
@@ -2677,6 +2678,12 @@
"engines": {
"node": "^10.12.0 || >=12.0.0"
}
+ },
+ "node_modules/file-saver": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmmirror.com/file-saver/-/file-saver-2.0.5.tgz",
+ "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==",
+ "license": "MIT"
},
"node_modules/fill-range": {
"version": "7.0.1",
@@ -6441,6 +6448,11 @@
"flat-cache": "^3.0.4"
}
},
+ "file-saver": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmmirror.com/file-saver/-/file-saver-2.0.5.tgz",
+ "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA=="
+ },
"fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
diff --git a/package.json b/package.json
index b5ef475..16135ba 100644
--- a/package.json
+++ b/package.json
@@ -22,6 +22,7 @@
"echarts-gl": "^2.0.9",
"echarts-wordcloud": "^2.1.0",
"element-plus": "^2.6.1",
+ "file-saver": "^2.0.5",
"html2canvas": "^1.4.1",
"html2pdf.js": "^0.10.2",
"js-cookie": "^3.0.5",
diff --git a/src/views/home/components/jilubiao/index.vue b/src/views/home/components/jilubiao/index.vue
index 307ea50..c5ebbe5 100644
--- a/src/views/home/components/jilubiao/index.vue
+++ b/src/views/home/components/jilubiao/index.vue
@@ -1,636 +1,571 @@
<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]?.初次调查日期?.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>
- <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">胃肠功能评估</td>
- <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>
- <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">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>
+ <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">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>{{ 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>
- </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 v-else>
- <tr>
- <td>24小时饮食回顾</td>
- <td>{{row?.初次调查日期?.substring(0,11)}}</td>
- <td colspan="2">
+ <!-- 生活方式管理 -->
+ <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>
- </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">
+ <!-- 生化检验评估 -->
+ <tr>
+ <td rowspan="3" class="lisclass">肝功</td>
+ <td rowspan="3" class="lisclass">{{ getLisItemTime('白蛋白') }}</td>
+ <td class="lisclass">血清白蛋白</td>
- </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 >随访记录</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>
+ <td class="lisclass" colspan="2">
+ {{ getLisItem('白蛋白') }}
+ </td>
+ <td class="lisclass"></td>
+ <td class="lisclass">系统</td>
+ </tr>
+ <tr>
+ <td class="lisclass">前白蛋白</td>
-
-
- </table>
- </el-scrollbar>
- </div>
- </el-col>
-
- </el-row>
- </div>
-
+ <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">
@@ -639,246 +574,245 @@
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'
+import { list, getLatestReportByPat } from '/@/api/tiaochabiao';
+import { formatDate } from '/@/utils/formatTime';
const storesPat = usePatientsInfo();
const { patientsInfo } = storeToRefs(storesPat);
-const props = defineProps(['tableHeight'])
+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>[]
-})
+ 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 ''
- }
-}
+ 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 ''
- }
-})
-
+ 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('结果请求错误,请联系管理员!')
- }
-
-}
+ 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 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 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 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
-}
+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 })
+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%;
@@ -908,12 +842,12 @@
}
}
.zdyp {
- width: 150px; /* 根据实际情况调整宽度 */
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- display: inline-block;
- max-width: 100%; /* 确保在必要时元素可以缩小 */
+ width: 150px; /* 根据实际情况调整宽度 */
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: inline-block;
+ max-width: 100%; /* 确保在必要时元素可以缩小 */
}
// .zdyp:hover {
@@ -923,7 +857,7 @@
// background: #FFF; /* 背景颜色可以根据需要调整 */
// z-index: 1000; /* 确保悬浮文本在页面的最上层 */
// }
-.lisclass{
- background: rgb(235.9, 245.3, 255)
+.lisclass {
+ background: rgb(235.9, 245.3, 255);
}
</style>
diff --git a/src/views/zhikong/components/components.vue b/src/views/zhikong/components/components.vue
index 14168bc..74f4451 100644
--- a/src/views/zhikong/components/components.vue
+++ b/src/views/zhikong/components/components.vue
@@ -81,9 +81,16 @@
<el-icon><Search /></el-icon>
查询</el-button
>
+
<slot name="right"></slot>
</el-form-item>
- <el-form-item></el-form-item>
+
+ <el-form-item>
+ <el-button type="primary" :loading="loading" @click="onClickExportExcel" size="small">
+ <el-icon><Link /></el-icon>
+ 导出</el-button
+ >
+ </el-form-item>
</el-form>
</el-col>
<el-col :span="24" v-loading="loading">
@@ -144,6 +151,7 @@
import { formatDate } from '/@/utils/formatTime';
import { doStatByResult } from '/@/api/QC';
import * as echarts from 'echarts';
+import { exportTableToExcel } from '/@/utils/Export2';
const stores = useUserInfo();
const { userInfos } = storeToRefs(stores);
const end = new Date();
@@ -246,10 +254,10 @@
}
};
- // /** 导出 */
- // const onClickExportExcel = () => {
- // exportTableToExcel('#exportTbale', state.title);
- // };
+ /** 导出 */
+ const onClickExportExcel = () => {
+ exportTableToExcel('#exportTbale', state.title);
+ };
const setTableHeight = () => {
let height = document.documentElement.clientHeight;
@@ -509,6 +517,7 @@
myEchartsRef,
rowClassName,
onClickSearch,
+ onClickExportExcel,
initCompData,
onClickByStatusChange,
limitBottomInp,
--
Gitblit v1.8.0