| | |
| | | <template> |
| | | <div class="dietarySurvey-item"> |
| | | <el-dialog v-model="state.dialogTableVisible" title="PEW(蛋白质能量消耗评估)" :fullscreen="true" width="100%"> |
| | | <div class="container" style="width: 100%; height: 100%;overflow: auto;"> |
| | | <div> |
| | | <el-dialog v-model="state.dialogTableVisible" title="PEW" :fullscreen="true" width="100%"> |
| | | <div style="width: 100%; height: 100%;overflow: auto;"> |
| | | <div id="pinggu4"> |
| | | <div> |
| | | <el-form size="small" > |
| | | <div style="width: 100%"> |
| | |
| | | <tr> |
| | | <th colspan="2"> |
| | | <el-form-item label="初次调查日期"> |
| | | <el-date-picker v-model="state.tableData.初次调查日期" type="date" style="width: 100px;" |
| | | <el-date-picker v-model="state.tableData.初次调查日期" type="date" readonly style="width: 100px;" |
| | | placeholder="" 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;" |
| | | <el-date-picker v-model="state.tableData.更新日期" type="date" readonly style="width: 100px;" |
| | | placeholder="" format="YYYY/MM/DD" value-format="YYYY-MM-DD" /> |
| | | </el-form-item> |
| | | |
| | |
| | | </th> |
| | | <th colspan="2"> |
| | | <el-form-item label="记录者"> |
| | | <el-input v-model="state.tableData.记录者" style="width: 100px;" placeholder="" /> |
| | | <el-input v-model="state.tableData.记录者" style="width: 100px;" readonly placeholder="" /> |
| | | </el-form-item> |
| | | </th> |
| | | |
| | |
| | | 根据2008年ISRNM推荐的指标进行诊断,满足以下4条诊断标准(每项中至少1项符合)考虑存在PEW |
| | | |
| | | </td> |
| | | <td colspan="1" style="font-family: 600;color: blue; font-weight: 700;"> |
| | | 合计满足 {{sum}} 项 |
| | | <td colspan="1" style="font-family: 600;color: blue; font-weight: 700;" :style="{color:sum?.color}"> |
| | | 合计满足{{sum.value}}项; {{sum.label}} |
| | | </td> |
| | | |
| | | </tr> |
| | |
| | | <el-button type="primary" @click="onSubmit"> |
| | | 保存 |
| | | </el-button> |
| | | <el-button v-if="state.viewInfo.id" type="primary" v-print="'#pinggu4'"> |
| | | <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> |
| | |
| | | </template> |
| | | |
| | | <script setup lang="ts" name="visualizingLinkDemo2"> |
| | | import html2pdf from 'html2pdf.js'; |
| | | import { reactive, onMounted, onUnmounted, ref, computed } from 'vue'; |
| | | import { formatDate } from '/@/utils/formatTime'; |
| | | import { NextLoading } from '/@/utils/loading'; |
| | |
| | | options:[0,1], |
| | | dialogTableVisible:false, |
| | | tableData: { |
| | | 表名: 'PEW(蛋白质能量消耗评估)', |
| | | 表名: 'PEW', |
| | | 初次调查日期:"", |
| | | 填表日期: '', |
| | | 更新日期: '', |
| | |
| | | 肌肉指标:{ |
| | | type: '', |
| | | input1: '', |
| | | } |
| | | }, |
| | | 结果:'' |
| | | }, |
| | | loading: false, |
| | | viewInfo:{ |
| | |
| | | surveryTime: formatDate(new Date(), 'YYYY-mm-dd HH:MM:SS'), |
| | | surveryPerson: userInfos.value.code, |
| | | surveryJsonBody: '', |
| | | suveryFormName:'PEW(蛋白质能量消耗评估)', |
| | | suveryFormName:'PEW', |
| | | surveryFormType:1, |
| | | updateTime: '' |
| | | } |
| | |
| | | }) |
| | | const sum = computed(() => { |
| | | let x=0 |
| | | const res={ |
| | | value:'', |
| | | label:'', |
| | | color:'' |
| | | } |
| | | for(let key in state.tableData){ |
| | | console.log(key+'key=='+state.tableData[key]?.type) |
| | | if(Number(state.tableData[key]?.type)){ |
| | | x+=Number(state.tableData[key]?.type) |
| | | } |
| | | } |
| | | return x |
| | | if(x>=4){ |
| | | res.label="考虑存在PEW" |
| | | res.color='#F56C6C' |
| | | }else{ |
| | | res.label="正常" |
| | | res.color='#303133' |
| | | } |
| | | res.value=x |
| | | return res |
| | | }) |
| | | const funhui=()=>{ |
| | | state.dialogTableVisible=false |
| | |
| | | const onSubmit = () => { |
| | | console.log('submit!') |
| | | console.log(state.tableData) |
| | | state.tableData.结果=sum.value |
| | | const info:tiaochabiaoInfo={ |
| | | id: state.viewInfo.id, |
| | | surveryFormType:1, |
| | |
| | | surveryTime: formatDate(new Date(), 'YYYY-mm-dd HH:MM:SS'), |
| | | surveryPerson: userInfos.value.code, |
| | | surveryJsonBody: JSON.stringify(state.tableData), |
| | | suveryFormName:'PEW(蛋白质能量消耗评估)', |
| | | suveryFormName:'PEW', |
| | | updateTime: '' |
| | | } |
| | | console.log(info) |
| | |
| | | console.log(mode) |
| | | state.viewInfo=mode |
| | | state.tableData=JSON.parse(mode.surveryJsonBody) |
| | | state.tableData.初次调查日期=mode.surveryTime |
| | | state.tableData.更新日期=mode.updateTime |
| | | state.dialogTableVisible = true |
| | | |
| | | |
| | |
| | | } |
| | | const getPageInfo=()=>{ |
| | | state.tableData={ |
| | | 表名: 'PEW(蛋白质能量消耗评估)', |
| | | 表名: 'PEW', |
| | | 初次调查日期:formatDate(new Date(),'YYYY-mm-dd'), |
| | | 填表日期: '', |
| | | 更新日期: formatDate(new Date(),'YYYY-mm-dd'), |
| | |
| | | 肌肉指标:{ |
| | | type: '', |
| | | input1: '肌肉量丢失(3个月内>5%或半年内>10%),上臂肌围减少(减少>10%参照群体第50个百分位数)', |
| | | } |
| | | }, |
| | | 结果:'' |
| | | } |
| | | state.viewInfo={ |
| | | id: 0, |
| | |
| | | surveryTime: formatDate(new Date(), 'YYYY-mm-dd HH:MM:SS'), |
| | | surveryPerson: userInfos.value.code, |
| | | surveryJsonBody: '', |
| | | suveryFormName:'PEW(蛋白质能量消耗评估)', |
| | | suveryFormName:'PEW', |
| | | surveryFormType:1, |
| | | updateTime: '' |
| | | } |
| | | } |
| | | const generatePDF=()=> { |
| | | const element = document.getElementById('pinggu4'); |
| | | 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(); |
| | | |
| | | } |
| | | |
| | | // 第二步:暴露方法 |
| | | defineExpose({ getData, openShow }) |