From c7a65630bf97706554c68c269403d672bde52ca9 Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期六, 18 一月 2025 14:57:26 +0800
Subject: [PATCH] 完成随访记录

---
 src/views/home/components/suifangjilu/index.vue       |  948 +++++++-------------------
 src/views/home/index.vue                              |   24 
 src/views/home/components/suifangjilu/editDietary.vue |  435 ++++++++++++
 src/views/home/components/suifangjilu/index备份.vue     |  717 +++++++++++++++++++
 4 files changed, 1,427 insertions(+), 697 deletions(-)

diff --git a/src/views/home/components/suifangjilu/editDietary.vue b/src/views/home/components/suifangjilu/editDietary.vue
new file mode 100644
index 0000000..6965d63
--- /dev/null
+++ b/src/views/home/components/suifangjilu/editDietary.vue
@@ -0,0 +1,435 @@
+<template>
+    <div class="dietarySurvey-item">
+        <el-dialog  v-model="state.dialogTableVisible" title="随访记录表" :fullscreen="true" width="100%">
+            <div class="container" style="width: 100%; height: 100%;overflow: auto;">
+                <div id="printFrom1">
+                    <div>
+                        <el-form size="small">
+                            <div style="width: 100%">
+                                <table id="tabledome" class="gridtable">
+
+                                    <tr>
+                                        <th colspan="2">
+                                            <el-form-item label="初次调查日期">
+                                                <el-date-picker v-model="state.tableData.初次调查日期" type="date" style="width: 100px;"
+                                                    placeholder="" readonly format="YYYY/MM/DD" value-format="YYYY-MM-DD" />
+                                            </el-form-item>
+
+                                        </th>
+                                        <th colspan="2">
+                                            <el-form-item label="更新日期">
+                                                <el-date-picker v-model="state.tableData.更新日期" type="date" style="width: 100px;"
+                                                    placeholder="" readonly format="YYYY/MM/DD" value-format="YYYY-MM-DD" />
+                                            </el-form-item>
+                                        </th>
+                                        <th colspan="2">
+                                            <el-form-item label="记录者">
+                                                <el-input readonly v-model="state.tableData.记录者"   placeholder="" />
+                                            </el-form-item>
+                                            
+                                        </th>
+
+                                    </tr>
+                                    <tr>
+                                        <td colspan="3">
+                                            <el-form-item label="干体重">
+                                                <el-input readonly v-model="state.tableData.干体重"  placeholder="" />
+                                            </el-form-item>
+                                        </td>
+                                        <td colspan="3">
+                                            <el-form-item label="脱水量">
+                                                <el-input readonly v-model="state.tableData.脱水量"  placeholder="" />
+                                            </el-form-item>
+                                        </td>
+                                    </tr>
+                                    <tr>
+                                        <td style="background-color: antiquewhite;">
+                                           指导建议
+                                        </td>
+                                        <td style="background-color: antiquewhite;" colspan="5">
+                                            <el-form-item>
+                                                <el-input v-model="state.tableData.指导建议" type="textarea"
+                                                    :autosize="{ minRows: 1, maxRows: 6 }" placeholder="指导建议" />
+                                            </el-form-item>
+                                        </td>
+                                       
+                                    </tr>
+                                    <tr>
+                                        <td style="background-color: antiquewhite;">
+                                           执行反馈
+                                        </td>
+                                        <td colspan="5" style="background-color: antiquewhite;">
+                                            <el-form-item>
+                                                <el-input v-model="state.tableData.执行反馈" type="textarea"
+                                                    :autosize="{ minRows: 1, maxRows: 6 }" placeholder="执行反馈" />
+                                            </el-form-item>
+                                        </td>
+                                       
+                                    </tr>
+                                    <tr>
+                                        <td>
+                                            随眠近况
+                                        </td>
+                                        <td  colspan="5">
+                                            <el-form-item>
+                                                <el-input v-model="state.tableData.随眠近况" type="textarea"
+                                                    :autosize="{ minRows: 1, maxRows: 6 }" placeholder="随眠近况" />
+                                            </el-form-item>
+                                        </td>
+                                       
+                                    </tr>
+                                    <tr>
+                                        <td>
+                                            运动近况
+                                        </td>
+                                        <td  colspan="5">
+                                            <el-form-item>
+                                                <el-input v-model="state.tableData.运动近况" type="textarea"
+                                                    :autosize="{ minRows: 1, maxRows: 6 }" placeholder="运动近况" />
+                                            </el-form-item>
+                                        </td>
+                                       
+                                    </tr>
+                                    <tr>
+                                        <td>
+                                            排便近况
+                                        </td>
+                                        <td  colspan="5">
+                                            <el-form-item>
+                                                <el-input v-model="state.tableData.排便近况" type="textarea"
+                                                    :autosize="{ minRows: 1, maxRows: 6 }" placeholder="排便近况" />
+                                            </el-form-item>
+                                        </td>
+                                       
+                                    </tr>
+                                    <tr>
+                                        <td>
+                                            食欲近况
+                                        </td>
+                                        <td  colspan="5">
+                                            <el-form-item>
+                                                <el-input v-model="state.tableData.食欲近况" type="textarea"
+                                                    :autosize="{ minRows: 1, maxRows: 6 }" placeholder="食欲近况" />
+                                            </el-form-item>
+                                        </td>
+                                       
+                                    </tr>
+                                    <tr>
+                                        <td>
+                                            皮肤瘙痒
+                                        </td>
+                                        <td  colspan="5">
+                                            <el-form-item>
+                                                <el-input v-model="state.tableData.皮肤瘙痒" type="textarea"
+                                                    :autosize="{ minRows: 1, maxRows: 6 }" placeholder="皮肤瘙痒" />
+                                            </el-form-item>
+                                        </td>
+                                       
+                                    </tr>
+                                    <tr>
+                                        <td>
+                                            心肺功能
+                                        </td>
+                                        <td  colspan="5">
+                                            <el-form-item>
+                                                <el-input v-model="state.tableData.心肺功能" type="textarea"
+                                                    :autosize="{ minRows: 1, maxRows: 6 }" placeholder="心肺功能" />
+                                            </el-form-item>
+                                        </td>
+                                       
+                                    </tr>
+                                    <tr>
+                                        <td>
+                                            用药情况
+                                        </td>
+                                        <td  colspan="5">
+                                            <el-form-item>
+                                                <el-input v-model="state.tableData.用药情况" type="textarea"
+                                                    :autosize="{ minRows: 1, maxRows: 6 }" placeholder="用药情况" />
+                                            </el-form-item>
+                                        </td>
+                                       
+                                    </tr>
+                                    <tr>
+                                        <td>
+                                            其他(烟酒、过敏,发热)
+                                        </td>
+                                        <td  colspan="5">
+                                            <el-form-item>
+                                                <el-input v-model="state.tableData.其他" type="textarea"
+                                                    :autosize="{ minRows: 2, maxRows: 6 }" placeholder="其他" />
+                                            </el-form-item>
+                                        </td>
+                                       
+                                    </tr>
+                                </table>
+                            </div>
+                        </el-form>
+                    </div>
+
+                </div>
+            </div>
+            <template #footer>
+                <div class="dialog-footer" style="text-align: center">
+                    <el-button @click="funhui">取消</el-button>
+                    <el-button type="primary" @click="onSubmit">
+                        保存
+                    </el-button>
+                    <el-button v-if="state.viewInfo.id" type="primary" v-print="'#printFrom1'">
+                        <el-icon><Printer /></el-icon>
+                        打印
+                    </el-button>
+                    <el-button type="primary" v-if="state.viewInfo.id" @click="generatePDF">
+                        <el-icon><Position /></el-icon>
+                        导出
+                    </el-button>
+                    
+                </div>
+            </template>
+        </el-dialog>
+
+
+    </div>
+
+</template>
+
+<script setup lang="ts" name="visualizingLinkDemo2">
+import html2pdf from 'html2pdf.js';
+import { reactive, onMounted, onUnmounted, ref } from 'vue';
+import { formatDate } from '/@/utils/formatTime';
+import { NextLoading } from '/@/utils/loading';
+import { useUserInfo } from '/@/stores/userInfo';
+import { usePatientsInfo } from '/@/stores/patientsInfo';
+import { getPatData} from '/@/api/Patients';
+const storesPat = usePatientsInfo();
+import {Add,update,deleteId,tiaochabiaoInfo} from '/@/api/tiaochabiao/index'
+import { storeToRefs } from 'pinia';
+import { useRoute,useRouter } from 'vue-router';
+import { ElMessage } from 'element-plus';
+const stores = useUserInfo();
+const { patientsInfo } = storeToRefs(storesPat);
+const { userInfos } = storeToRefs(stores);
+const router = useRouter()
+const emit = defineEmits([ "shuaxin" ]);
+const state = reactive({
+    patientData:{干体重:0,脱水量:0},
+    dialogTableVisible:false,
+    tableData: {
+        表名: '随访记录表',
+        初次调查日期:"",
+        填表日期: '',
+        更新日期: '',
+        记录者: '陈银成',
+        干体重:0,
+        脱水量:0,
+        指导建议:'',
+        执行反馈:'',
+        随眠近况:'',
+        运动近况:'',
+        排便近况:'',
+        食欲近况:'',
+        皮肤瘙痒:'',
+        心肺功能:'',
+        用药情况:'',
+        其他:''
+    },
+    loading: false,
+    viewInfo:{
+        id: 0,
+        code: '',
+        clientCode: userInfos.value.clientCode,
+        patientCode: patientsInfo.value.code,
+        surveryTime: formatDate(new Date(), 'YYYY-mm-dd HH:MM:SS'),
+        surveryPerson: userInfos.value.code,
+        surveryJsonBody: '',
+        suveryFormName:'随访记录表',
+        surveryFormType:0,
+        updateTime: ''
+    }
+
+})
+
+const funhui=()=>{
+    state.dialogTableVisible=false
+}
+// 打印
+const onPrint=()=>{
+    
+}
+const generatePDF=()=> {
+      const element = document.getElementById('printFrom1');
+      const opt = {
+        margin: 10,
+        filename: `${state.tableData.表名}.pdf`,
+        image: { type: 'jpeg', quality: 0.98 },
+        html2canvas: { scale: 2 },
+        jsPDF: { unit: 'mm', format: 'a4', orientation: 'portrait' }
+      };
+      html2pdf().set(opt).from(element).save();
+
+}
+const onSubmit = () => {
+  console.log('submit!')
+  console.log(state.tableData)
+  const info:tiaochabiaoInfo={
+    id: state.viewInfo.id,
+    surveryFormType:0,
+    code: state.viewInfo.code,
+    clientCode: userInfos.value.clientCode,
+    patientCode: patientsInfo.value.code,
+    surveryTime: formatDate(new Date(), 'YYYY-mm-dd HH:MM:SS'),
+    surveryPerson: userInfos.value.code,
+    surveryJsonBody: JSON.stringify(state.tableData),
+    suveryFormName:'随访记录表',
+    updateTime: formatDate(new Date(), 'YYYY-mm-dd HH:MM:SS')
+  }
+  console.log(info)
+  if(info.id===0){
+    Add(info).then(re=>{
+        console.log(re.data)
+        state.dialogTableVisible=false
+        emit('shuaxin')
+    })
+  }else if(info.id>0){
+    info.surveryTime=state.viewInfo.surveryTime
+    update(info).then(re=>{
+        console.log(re.data)
+        state.dialogTableVisible=false
+        emit('shuaxin')
+    })
+  }
+  
+}
+const getPageInfo=()=>{
+    state.tableData={
+        表名: '随访记录表',
+        初次调查日期: formatDate(new Date(),'YYYY-mm-dd'),
+        填表日期: '',
+        更新日期: formatDate(new Date(),'YYYY-mm-dd'),
+        记录者: userInfos.value.userName,
+        干体重:state.patientData?.干体重,
+        脱水量:state.patientData?.脱水量,
+        指导建议:'',
+        执行反馈:'',
+        随眠近况:'',
+        运动近况:'',
+        排便近况:'',
+        食欲近况:'',
+        皮肤瘙痒:'',
+        心肺功能:'',
+        用药情况:'',
+        其他:''
+    }
+    state.viewInfo={
+        id: 0,
+        code: '',
+        clientCode: userInfos.value.clientCode,
+        patientCode: patientsInfo.value.code,
+        surveryTime: formatDate(new Date(), 'YYYY-mm-dd HH:MM:SS'),
+        surveryPerson: userInfos.value.code,
+        surveryJsonBody: '',
+        suveryFormName:'随访记录表',
+        surveryFormType:0,
+        updateTime: ''
+    }
+}
+onMounted(()=>{
+   
+})
+
+// 第一步:定义子组件里面的方法
+const getData = (str: string) => {
+    console.log("子组件获取显示数据!" + str);
+    state.loading = true
+
+}
+// 打开查看或者编辑明细
+const openShow = async (type: string,mode:tiaochabiaoInfo) => {
+    console.log(type)
+    var pam = {
+        patCode: patientsInfo.value.code,
+    }
+    const res= await getPatData(pam)
+    state.patientData = res.data
+    if(type==='add'){
+        getPageInfo()
+        state.dialogTableVisible = true
+    }
+    else if(type==='update'){
+        console.log(mode)
+        state.viewInfo=mode
+        state.tableData=JSON.parse(mode.surveryJsonBody)
+        state.tableData.初次调查日期=mode.surveryTime
+        state.tableData.更新日期=mode.updateTime
+        state.dialogTableVisible = true
+
+
+    }
+   
+}
+
+// 第二步:暴露方法
+defineExpose({ getData, openShow })
+</script>
+
+
+<style scoped lang="scss">
+
+.gridtable {
+    font-family: verdana, arial, sans-serif;
+    font-size: 11px;
+    color: #333333;
+    border-width: 1px;
+    border-color: #666666;
+    border-collapse: collapse;
+   
+}
+
+.gridtable th {
+    border-width: 1px;
+    padding: 8px;
+    border-style: solid;
+    border-color: #666666;
+    background-color: #a4b0e2;
+}
+
+.gridtable td {
+    border-width: 1px;
+    padding: 8px;
+    border-style: solid;
+    border-color: #666666;
+    background-color: #ffffff;
+}
+input {
+    /* 去除所有边框 */
+    border: none;
+    text-align: center;
+    font-size: 12px;
+    
+    /* 设置下边框 */
+    border-bottom: 1px solid #000; /* 您可以根据需要调整颜色和宽度 */
+    
+    /* 可选:设置背景透明 */
+    background-color: transparent;
+    
+    /* 移除内边距和外边距 */
+    padding: 5px 0; /* 根据需要调整上下内边距,确保文本与线条之间有足够的空间 */
+    margin: 0;
+    
+    /* 移除默认轮廓 */
+    outline: none;
+    
+    /* 移除浏览器默认样式 */
+    appearance: none;
+    -webkit-appearance: none;
+}
+
+/* 可选:为聚焦状态添加自定义样式 */
+input:focus {
+    /* 当输入框获得焦点时,改变下边框的颜色或增加一些视觉提示 */
+    border-bottom-color: #007BFF; /* 聚焦时的下边框颜色 */
+    
+    /* 可选:添加轻微的阴影效果来突出显示 */
+    box-shadow: 0 1px 0 0 #007BFF; /* 在下边框下方添加一条颜色相同的阴影 */
+}
+</style>
diff --git a/src/views/home/components/suifangjilu/index.vue b/src/views/home/components/suifangjilu/index.vue
index 0585588..7eba002 100644
--- a/src/views/home/components/suifangjilu/index.vue
+++ b/src/views/home/components/suifangjilu/index.vue
@@ -1,717 +1,297 @@
 <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>
-                                    胃肠道紊乱者
-                                </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>
-                                    胃肠道紊乱者
-                                </td>
-                                <td>
-                                    {{state.from1Datas[index]?.胃肠道紊乱者?.input1}}
-                                </td>
-                                <td>{{state.from1Datas[index]?.记录者}}</td>
-                            </tr>
-                            
-                        </template>
-
-                       
-                       
-                        
-                        <!-- 饮食管理 -->
-
-                        <tr>
-                            <td rowspan="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="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">饮食建议</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="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>
-            
+    <div class="dietarySurvey-home" >
+        <el-row v-if="patientsInfo.id"  style="padding-left: 10px;">
+            <el-form size="small" :inline="true" :model="state.formInline">
+                <el-form-item label="填报日期">
+                    <el-date-picker
+                        v-model="state.formInline.date"
+                        type="daterange"
+                        unlink-panels
+                        range-separator="To"
+                        start-placeholder="开始"
+                        end-placeholder="结束"
+                        :shortcuts="shortcuts"
+                        format="YYYY/MM/DD"
+                        value-format="YYYY-MM-DD"
+                    />
+                </el-form-item>
+                <el-form-item>
+                    <el-button type="primary" @click="onSubmit">查询</el-button>
+                </el-form-item>
+                <el-form-item>
+                    <el-button type="primary" plain @click="addItem">添加</el-button>
+                </el-form-item>
+            </el-form>
         </el-row>
+        <div v-if="patientsInfo.id"  class="divcont">
+            <el-table size="default" :data="state.tableData" stripe style="width: 100%"  :height="tableHe">
+                <el-table-column fixed label="NO" type="index" widtd="80" >
+                        <template #header>
+                            <el-icon @click="onSubmit"><RefreshRight /></el-icon>
+                        </template>
+                      
+                    </el-table-column>
+                    <el-table-column  prop="surveryTime" label="填表时间" show-overflow-tooltip >
+                        <template #default="scope">
+                            {{scope.row.updateTime?.substring(0,11)}}
+                        </template>
+                    </el-table-column>
+                    <el-table-column   label="干体重" show-overflow-tooltip >
+                        <template #default="scope">
+                            {{scope.row.mode.干体重}}
+                        </template>
+                    </el-table-column>
+                    <el-table-column   label="脱水量" show-overflow-tooltip >
+                        <template #default="scope">
+                            {{scope.row.mode.脱水量}}
+                        </template>
+                    </el-table-column>
+                    <el-table-column   label="指导建议" show-overflow-tooltip >
+                        <template #default="scope">
+                            {{scope.row.mode.指导建议}}
+                        </template>
+                    </el-table-column>
+                    <el-table-column   label="执行反馈" show-overflow-tooltip >
+                        <template #default="scope">
+                            {{scope.row.mode.执行反馈}}
+                        </template>
+                    </el-table-column>
+                    <el-table-column  prop="surveryPersonName" label="填表人" show-overflow-tooltip />
+                    <!-- <el-table-column  prop="updateTime" label="更新时间" show-overflow-tooltip /> -->
+                    <el-table-column  label="操作" >
+                        <template #default="scope">
+                            <el-button size="small" @click="handleEdit(scope.$index, scope.row)">
+                                    编辑
+                            </el-button>
+                            <el-button
+                            size="small"
+                            type="danger"
+                            @click="handleDelete(scope.$index, scope.row)"
+                            >
+                                 删除
+                            </el-button>
+                        </template>
+                    </el-table-column>
+            </el-table>
+            <el-pagination
+                v-model:current-page="state.page"
+                v-model:page-size="state.size"
+                :page-sizes="[10, 20, 30, 40]"
+                layout="total, sizes, prev, pager, next, jumper"
+                :total="state.total"
+                @size-change="handleSizeChange"
+                @current-change="handleCurrentChange"
+                />
+        </div>
+        <el-empty v-if="!patientsInfo.id" description="无数据,请先选择患者"></el-empty>
+        <editDietary ref="editDietaryRef"  @shuaxin="onSubmit"></editDietary>
     </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';
+import {list,tiaochabiaoInfo,deleteId} from '/@/api/tiaochabiao/index'
+import { computed, reactive, ref } from 'vue';
+import { useRoute,useRouter } from 'vue-router';
+import { ElLoading, ElMessage, ElMessageBox } from 'element-plus';
+import editDietary from './editDietary.vue'
 const storesPat = usePatientsInfo();
 const { patientsInfo } = storeToRefs(storesPat);
 const props = defineProps(['tableHeight'])
+const editDietaryRef=ref()
+const router = useRouter()
+const shortcuts = [
+  {
+    text: '上一周',
+    value: () => {
+      const end = new Date()
+      const start = new Date()
+      start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
+      return [start, end]
+    },
+  },
+  {
+    text: '上一个月',
+    value: () => {
+      const end = new Date()
+      const start = new Date()
+      start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
+      return [start, end]
+    },
+  },
+  {
+    text: '前三个月',
+    value: () => {
+      const end = new Date()
+      const start = new Date()
+      start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
+      return [start, end]
+    },
+  },
+]
 const state = reactive({
-    tableData: {
-        基本信息:{
-            患者姓名:'',
-            性别:'',
-            年龄:'',
-            身高:'',
-            病史:'',
-            听力视力障碍:'',
-            透析频次:"",
-            透析时长:"",
-        },
-        
-    },
-    patientData: {
-        姓名: '',
-        干体重: '',
-        证件号: "",
-        诊断: '',
-        身高: '',
-        上一次透前体重: '',
-        干体重最近调整记录:[{干体重:'',调整日期:'',调整人:'',备注:""}],
-        透析方案:[{透析频率: "", 透析时长: "", 透析方案: ""}]
-    },
-    // 隐私调差
-    from1Datas:<any>[],
-    // 风险筛查
-    from2Datas:{},
-    // 风险评估
-    from3Datas:{},
+    tableData: [],
+    page:1,
+    size:10,
+    total:0,
     loading: false,
+    formInline:{
+        user: '',
+        formTableName:'随访记录表',
+        date: [],
+    },
+    dialogTableVisible:false
 })
 const tableHe = computed(() => {
-    return props.tableHeight - 130
+    return (props.tableHeight-200)+'px'
 })
-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 handleSizeChange = (val: number) => {
+  console.log(`${val} items per page`)
+  state.size=val
+  onSubmit()
+}
+const handleCurrentChange = (val: number) => {
+  console.log(`current page: ${val}`)
+  state.page=val
+  onSubmit()
+}
+
+const onSubmit=()=>{
+    console.log(state.formInline)
+    const pasm={
+        page: state.page,
+        size: state.size,
+        wherecondition:`survery_form_type=0 and patient_code='${patientsInfo.value.code}'`,
+        ordercondition: 'survery_time desc'
     }
-})
-
-
+    if(state.formInline?.date?.length===2){
+        pasm.wherecondition+=` and survery_time BETWEEN '${state.formInline.date[0]} 00:00:00' AND '${state.formInline.date[1]} 23:59:59'`
+    }
+    if(state.formInline?.formTableName){
+        pasm.wherecondition+=`and suvery_form_name='${state.formInline.formTableName}'`
+    }
+    const loading = ElLoading.service({
+        lock: true,
+        text: 'Loading',
+        background: 'rgba(0, 0, 0, 0.7)',
+    })
+    list(pasm).then(re=>{
+        state.tableData=re.data.list.map((v: any) => {
+                v.mode=JSON.parse(v.surveryJsonBody)
+                return v;
+            })
+        state.total=re.data.total
+    }).finally(()=>{
+        loading.close()
+    })
+}
+const addItem=()=>{
+    
+    editDietaryRef.value.openShow('add')
+    // router.push({path:'/tiaochabiao1',query:{type:'add',id:0}})
+}
 // 第一步:定义子组件里面的方法
-const getData = async (str: string) => {
-    console.log("子组件获取显示数据!" + str);
-    console.log(props.tableHeight)
-    var pam = {
-        patCode: patientsInfo.value.code,
+const getData = (str: string) => {
+    const pasm = {
+        page: 1,
+        size: 10,
+        wherecondition:`survery_form_type=0 and patient_code='${patientsInfo.value.code}'`,
+        ordercondition:'survery_time DESC'
     }
-    try {
-        state.loading = true
-        state.from1Datas=[]
-        const [res1,fromData1,fromData2,fromData3] = await Promise.all([
-            getPatData(pam),
-            getFrom1(),
-            getFrom2(),
-            getFrom3()
-        ])
-        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(state.formInline?.date?.length===2){
+        pasm.wherecondition+=`and survery_time BETWEEN '${state.formInline.date[0]} 00:00:00' AND '${state.formInline.date[1]} 23:59:59'`
     }
-    catch (error) {
-        state.loading = false
-        ElMessage.error('结果请求错误,请联系管理员!')
+    if(state.formInline.formTableName){
+        pasm.wherecondition+=`and suvery_form_name='${state.formInline.formTableName}'`
     }
+    const loading = ElLoading.service({
+        lock: true,
+        text: 'Loading',
+        background: 'rgba(0, 0, 0, 0.7)',
+    })
+    list(pasm).then(re=>{
+        console.log(re)
+        state.tableData=re.data.list.map((v: any) => {
+            v.mode=JSON.parse(v.surveryJsonBody)
+            return v;
+        })
+        state.total=re.data.total
+    }).finally(()=>{
+        loading.close()
+    })
 
-}
-// 获取膳食调查表
-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)
-    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'
-    }
-    pasm.wherecondition += "and suvery_form_name='NRS2002'"
-    const yinyangbiaodan1 = await list(pasm)
-    return yinyangbiaodan1
-}
-// 营养评估结果
-const getFrom3 = async () => {
-    const pasm = {
-        page: 0,
-        size: 0,
-        wherecondition: `survery_form_type=1 and patient_code='${patientsInfo.value.code}'`,
-        ordercondition: 'survery_time desc'
-    }
-    pasm.wherecondition += "and suvery_form_name='GNRI'"
-    const yinyangbiaodan1 = await list(pasm)
-    return yinyangbiaodan1
+    state.loading = true
+
 }
 
 // 第二步:暴露方法
 defineExpose({ getData })
+/**
+ * 编辑
+ */
+const handleEdit = (index: number, row: any) => {
+  console.log(index, row,state.formInline.formTableName)
+  editDietaryRef.value.openShow('update',row)
+}
+const handleDelete = (index: number, row: any) => {
+  console.log(index, row)
+  ElMessageBox.confirm(
+    '你确定要删除该条记录?',
+    'Warning',
+    {
+      confirmButtonText: '确定',
+      cancelButtonText: '取消',
+      type: 'warning',
+    }
+  )
+    .then(() => {
+        deleteId(`id=${row.id}`).then(re=>{
+            ElMessage.success('删除成功')
+            onSubmit()
+        }).catch(e=>{
+            ElMessage.error('删除失败!')
+        })
+    })
+    .catch(() => {
+      ElMessage({
+        type: 'info',
+        message: '取消操作',
+      })
+    })
+ 
+}
 </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;
-	}
+    .gridtable {font-family: verdana,arial,sans-serif;font-size:11px;color:#333333;border-width: 1px;border-color: #666666;border-collapse: collapse;width: 100%;}
+
+    .gridtable th {border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #dedede;}
+
+    .gridtable td {border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff;min-width: 100px;}
+    .input-underline {
+        border: none; /* 移除所有边框 */
+        border-bottom: 1px solid #ccc; /* 显示下边框 */
+        outline: none; /* 移除点击输入框时浏览器可能会提供的默认轮廓线 */
+        text-align: center;
+    }
+    .width50{
+        width: 50px;
+    }
+.infinite-list {
+    overflow: auto;
+    padding: 0;
+    margin: 0;
+    list-style: none;
 }
+.infinite-list .infinite-list-item {
+  display: flex;
+}
+
+.divcont{
+    overflow-y: auto; /* 垂直滚动条 */
+}
+
 </style>
diff --git "a/src/views/home/components/suifangjilu/index\345\244\207\344\273\275.vue" "b/src/views/home/components/suifangjilu/index\345\244\207\344\273\275.vue"
new file mode 100644
index 0000000..0585588
--- /dev/null
+++ "b/src/views/home/components/suifangjilu/index\345\244\207\344\273\275.vue"
@@ -0,0 +1,717 @@
+<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>
+                                    胃肠道紊乱者
+                                </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>
+                                    胃肠道紊乱者
+                                </td>
+                                <td>
+                                    {{state.from1Datas[index]?.胃肠道紊乱者?.input1}}
+                                </td>
+                                <td>{{state.from1Datas[index]?.记录者}}</td>
+                            </tr>
+                            
+                        </template>
+
+                       
+                       
+                        
+                        <!-- 饮食管理 -->
+
+                        <tr>
+                            <td rowspan="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="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">饮食建议</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="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:{},
+    // 风险评估
+    from3Datas:{},
+    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] = await Promise.all([
+            getPatData(pam),
+            getFrom1(),
+            getFrom2(),
+            getFrom3()
+        ])
+        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)
+    }
+    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)
+    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'
+    }
+    pasm.wherecondition += "and suvery_form_name='NRS2002'"
+    const yinyangbiaodan1 = await list(pasm)
+    return yinyangbiaodan1
+}
+// 营养评估结果
+const getFrom3 = async () => {
+    const pasm = {
+        page: 0,
+        size: 0,
+        wherecondition: `survery_form_type=1 and patient_code='${patientsInfo.value.code}'`,
+        ordercondition: 'survery_time desc'
+    }
+    pasm.wherecondition += "and suvery_form_name='GNRI'"
+    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;
+	}
+}
+</style>
diff --git a/src/views/home/index.vue b/src/views/home/index.vue
index d4a4867..15cd420 100644
--- a/src/views/home/index.vue
+++ b/src/views/home/index.vue
@@ -69,18 +69,6 @@
                             </span>
                         </template>
                     </el-tab-pane>
-                   
-                    <el-tab-pane label="营养饮食指导方案" name="营养饮食指导方案">
-                        <template #label>
-                            <span class="custom-tabs-label home-title">
-                                <el-icon>
-                                    <Grid />
-                                </el-icon>
-                                <span style="margin-left: 5px">营养饮食指导方案</span>
-                            </span>
-                        </template>
-                        <!-- <el-empty  description="该功能未开发"></el-empty>  -->
-                    </el-tab-pane>
                     <el-tab-pane label="随访记录" name="随访记录">
                         <template #label>
                             <span class="custom-tabs-label home-title">
@@ -90,7 +78,16 @@
                                 <span style="margin-left: 5px">随访记录</span>
                             </span>
                         </template>
-                        <!-- <el-empty  description="该功能未开发"></el-empty>  -->
+                    </el-tab-pane>
+                    <el-tab-pane label="营养饮食指导方案" name="营养饮食指导方案">
+                        <template #label>
+                            <span class="custom-tabs-label home-title">
+                                <el-icon>
+                                    <Grid />
+                                </el-icon>
+                                <span style="margin-left: 5px">营养饮食指导方案</span>
+                            </span>
+                        </template>
                     </el-tab-pane>
                     <el-tab-pane label="生化数据" name="生化数据">
                         <template #label>
@@ -203,6 +200,7 @@
 })
 const handleCurrentChange = (val: any | undefined) => {
     if (val) {
+        console.log(val)
         currentRow.value = val
         //缓存到vuex 中
         storesPat.setPatientsInfo(val)

--
Gitblit v1.8.0