| src/views/home/components/suifangjilu/editDietary.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/home/components/suifangjilu/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/home/components/suifangjilu/index备份.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/home/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/views/home/components/suifangjilu/editDietary.vue
New file @@ -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> 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> src/views/home/components/suifangjilu/index备份.vue
New file @@ -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> 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)