| | |
| | | <template> |
| | | <div class="dietarySurvey-item"> |
| | | <el-dialog v-model="state.dialogTableVisible" title="营养不良炎症评分表(MIS)" :fullscreen="true" width="100%"> |
| | | <div class="container" style="width: 100%; height: 100%; overflow: auto"> |
| | | <div> |
| | | <el-dialog v-model="state.dialogTableVisible" title="MIS" :fullscreen="true" width="100%"> |
| | | <div style="width: 100%; height: 100%; overflow: auto"> |
| | | <div id="pinggu3"> |
| | | <div> |
| | | <el-form size="small"> |
| | | <div style="width: 100%"> |
| | |
| | | <tr> |
| | | <th colspan="2"> |
| | | <el-form-item label="初次调查日期"> |
| | | <el-date-picker |
| | | <el-date-picker readonly |
| | | v-model="state.tableData.初次调查日期" |
| | | type="date" |
| | | style="width: 100px" |
| | |
| | | </th> |
| | | <th colspan="2"> |
| | | <el-form-item label="更新日期"> |
| | | <el-date-picker |
| | | <el-date-picker readonly |
| | | v-model="state.tableData.更新日期" |
| | | type="date" |
| | | style="width: 100px" |
| | |
| | | </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> |
| | | </tr> |
| | |
| | | <td colspan="3"> |
| | | <el-radio-group class="elradiozdi" v-model="state.tableData.患者的相关病史.type"> |
| | | <el-radio value="0">A:干体重没有减少或体重丢失<0.5kg</el-radio> |
| | | <el-radio value="1">B:体重丢失大于等于0.5kg,但<1kg</el-radio> |
| | | <el-radio value="2">C:体重丢失大于等于1kg,但<5%体重评分结果</el-radio> |
| | | <el-radio value="3">D:体重丢失大于等于5%体重</el-radio> |
| | | <el-radio value="1">B:体重丢失≥0.5kg,但<1kg</el-radio> |
| | | <el-radio value="2">C:体重丢失≥1kg,但<5%体重评分结果</el-radio> |
| | | <el-radio value="3">D:体重丢失≥5%体重</el-radio> |
| | | </el-radio-group> |
| | | </td> |
| | | </tr> |
| | |
| | | <el-radio value="0">A:透析时间<1年,无其他疾病</el-radio> |
| | | <el-radio value="1">B:透析时间1-4年,轻度并发症(不包括多种慢性病:MCC)</el-radio> |
| | | <el-radio value="2">C:透析时间>4年,中度患其他疾病(包括一种)</el-radio> |
| | | <el-radio value="3">D:任何严重疾病,患有多种慢性病(大于等于2种)</el-radio> |
| | | <el-radio value="3">D:任何严重疾病,患有多种慢性病(≥2种)</el-radio> |
| | | </el-radio-group> |
| | | </td> |
| | | </tr> |
| | |
| | | <td colspan="3">9:血清白蛋白</td> |
| | | <td colspan="3"> |
| | | <el-radio-group class="elradiozdi" v-model="state.tableData.血清白蛋白.type"> |
| | | <el-radio value="0">A:大于等于4.0g/dl</el-radio> |
| | | <el-radio value="0">A:≥4.0g/dl</el-radio> |
| | | <el-radio value="1">B:3.5-3.9g/dl</el-radio> |
| | | <el-radio value="2">C:3.0-3.4g/dl</el-radio> |
| | | <el-radio value="3">D:小于3.0g/dl</el-radio> |
| | | <el-radio value="3">D:< 3.0g/dl</el-radio> |
| | | </el-radio-group> |
| | | </td> |
| | | </tr> |
| | |
| | | <br /> |
| | | <br /> |
| | | <br /> |
| | | <div style="color: blue"> |
| | | 最后得分:{{ sum }} ,评价: |
| | | <span v-if="sum <= 8">轻度营养不良</span> |
| | | <span v-if="sum > 8 && sum < 18">中度营养不良</span> |
| | | <span v-if="sum >= 18">重度营养不良</span> |
| | | <div :style="{color:sum.color }"> |
| | | 最后得分:{{ sum.value }} ,评价: |
| | | <span v-if="sum.value <= 8">轻度营养不良</span> |
| | | <span v-if="sum.value > 8 && sum.value < 18">中度营养不良</span> |
| | | <span v-if="sum.value >= 18">重度营养不良</span> |
| | | </div> |
| | | |
| | | <br /> |
| | |
| | | <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="'#pinggu3'"> |
| | | <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'; |
| | |
| | | const state = reactive({ |
| | | dialogTableVisible: false, |
| | | tableData: { |
| | | 表名: '营养不良炎症评分表(MIS)', |
| | | 表名: 'MIS', |
| | | 初次调查日期: '', |
| | | 填表日期: '', |
| | | 更新日期: '', |
| | |
| | | type: '', |
| | | input1: '', |
| | | }, |
| | | 结果:'' |
| | | }, |
| | | loading: false, |
| | | viewInfo: { |
| | |
| | | updateTime: '', |
| | | }, |
| | | }); |
| | | // <span v-if="sum <= 8">轻度营养不良</span> |
| | | // <span v-if="sum > 8 && sum < 18">> |
| | | const sum = computed(() => { |
| | | let x = 0; |
| | | const res={ |
| | | label:'', |
| | | value:0, |
| | | color:'', |
| | | } |
| | | for (let key in state.tableData) { |
| | | console.log(key + 'key==' + state.tableData[key]?.type); |
| | | if (Number(state.tableData[key]?.type)) { |
| | | x += Number(state.tableData[key]?.type); |
| | | } |
| | | } |
| | | return x; |
| | | if(x<=8){ |
| | | res.label="轻度营养不良" |
| | | res.color='#E6A23C' |
| | | }else if(x > 8 && x < 18){ |
| | | res.color='#E6A23C' |
| | | res.label="中度营养不良" |
| | | }else if(x >=18){ |
| | | res.color='#F56C6C' |
| | | res.label="重度营养不良" |
| | | }else{ |
| | | res.color='#303133' |
| | | res.label="正常" |
| | | } |
| | | res.value=x |
| | | return res; |
| | | }); |
| | | const funhui = () => { |
| | | state.dialogTableVisible = false; |
| | |
| | | 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: '营养不良炎症评分表(MIS)', |
| | | suveryFormName: 'MIS', |
| | | 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 = { |
| | | 表名: '营养不良炎症评分表(MIS)', |
| | | 表名: 'MIS', |
| | | 初次调查日期: formatDate(new Date(), 'YYYY-mm-dd'), |
| | | 填表日期: '', |
| | | 更新日期: formatDate(new Date(), 'YYYY-mm-dd'), |
| | |
| | | type: '', |
| | | input1: '', |
| | | }, |
| | | 结果:'' |
| | | }; |
| | | state.viewInfo = { |
| | | id: 0, |
| | |
| | | updateTime: '', |
| | | }; |
| | | }; |
| | | const generatePDF=()=> { |
| | | const element = document.getElementById('pinggu3'); |
| | | 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 }); |
| | | </script> |