From b3a2aea77fa35308ca6d235c27798804ce4e2d2a Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期四, 09 一月 2025 14:31:16 +0800
Subject: [PATCH] 34
---
src/views/home/components/fangAn/editDietary.vue | 149 ++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 132 insertions(+), 17 deletions(-)
diff --git a/src/views/home/components/fangAn/editDietary.vue b/src/views/home/components/fangAn/editDietary.vue
index 675ef16..7219e2c 100644
--- a/src/views/home/components/fangAn/editDietary.vue
+++ b/src/views/home/components/fangAn/editDietary.vue
@@ -1,8 +1,8 @@
<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 class="container" style="width: 100%; height: 100%;overflow: auto;" >
+ <div id="printFrom1" class="print-section">
<div>
<el-form size="small">
<div style="width: 100%">
@@ -12,7 +12,7 @@
<el-row>
<el-col :span="12">
<el-form-item label="实施日期">
- <el-date-picker v-model="state.tableData.初次调查日期" type="date"
+ <el-date-picker v-model="state.tableData.实施日期" type="date"
style="width: 100px;" placeholder="" format="YYYY/MM/DD"
value-format="YYYY-MM-DD" />
</el-form-item>
@@ -20,7 +20,7 @@
<el-col :span="12">
<div style="text-align:right;width: 100%">
- <span>营养师:</span> <el-input v-model="state.tableData.记录者"
+ <span>营养师:</span> <el-input v-model="state.tableData.记录者" readonly
style="width: 100px;" placeholder="" />
</div>
@@ -31,6 +31,7 @@
</th>
</tr>
+
<tr>
<td colspan="8" style=" background-color: rgb(250, 236, 216);font-weight:800 ;">
S:询问饮食营养状况、生活习惯</td>
@@ -296,7 +297,7 @@
placeholder="" />
</td>
</tr>
-
+ <tr class="page-break"></tr>
<tr>
<td colspan="8" style=" background-color: rgb(250, 236, 216);font-weight:800 ;">
P:饮食营养方案及食谱,定期随访并及时调整</td>
@@ -311,7 +312,7 @@
</el-form-item>
</td>
<td>
- <el-button type="primary" :icon="Edit">模版</el-button>
+ <el-button type="primary" @click="Edit1('烹饪技巧')" :icon="Edit">模版</el-button>
</td>
</tr>
<tr>
@@ -324,7 +325,7 @@
</el-form-item>
</td>
<td>
- <el-button type="primary" :icon="Edit">模版</el-button>
+ <el-button type="primary" @click="Edit1('食材选择')" :icon="Edit">模版</el-button>
</td>
</tr>
<tr>
@@ -337,7 +338,7 @@
</el-form-item>
</td>
<td>
- <el-button type="primary" :icon="Edit">模版</el-button>
+ <el-button type="primary" @click="Edit1('少盐控油')" :icon="Edit">模版</el-button>
</td>
</tr>
<tr>
@@ -350,7 +351,7 @@
</el-form-item>
</td>
<td>
- <el-button type="primary" :icon="Edit">模版</el-button>
+ <el-button type="primary" @click="Edit1('适量饮水量出为入')" :icon="Edit">模版</el-button>
</td>
</tr>
<tr>
@@ -490,6 +491,7 @@
</el-input>
</td>
</tr>
+
<tr>
<td colspan="8" style=" background-color: rgb(250, 236, 216);font-weight:800 ;">
食物替换法</td>
@@ -574,6 +576,26 @@
</div>
</template>
+ <el-dialog
+ v-model="state.innerVisible"
+ width="700"
+ title="模版"
+ append-to-body
+ >
+ <span>
+ <el-row v-for="(item,index) in state.mobanlist" :key="index" style="border-bottom: #909399 solid 1px;margin-bottom:20px ;">
+ <el-col :span="22">
+ <div>
+ {{item}}
+ </div>
+ </el-col>
+ <el-col :span="2" style="text-align:right" @click="setText(item)">
+ <el-button size="mini" :icon="Check" circle />
+ <!-- <el-button size="mini">应用</el-button> -->
+ </el-col>
+ </el-row>
+ </span>
+ </el-dialog>
</el-dialog>
@@ -582,8 +604,10 @@
</template>
<script setup lang="ts" name="visualizingLinkDemo2">
-import { Edit } from '@element-plus/icons-vue'
+import { Check } from '@element-plus/icons-vue'
import html2pdf from 'html2pdf.js';
+import html2canvas from 'html2canvas';
+import { jsPDF } from 'jspdf';
import { reactive, onMounted, onUnmounted, ref } from 'vue';
import { formatDate } from '/@/utils/formatTime';
import { NextLoading } from '/@/utils/loading';
@@ -600,10 +624,18 @@
const router = useRouter()
const emit = defineEmits(["shuaxin"]);
const state = reactive({
+ modeType:'',
+ mobanlist:[
+ '食材提前浸泡、焯水,可以去除1/2-2/3的磷钾;',
+ '少盐控油,可以适量使用葱姜蒜等天然调味品进行调味;',
+ '避免使用糖、味精、鸡精、黄豆酱、低钠盐等调味品;',
+ '选择蒸、煮、焖、炖、炒等做法,避免高温油炸等做法'
+ ],
dialogTableVisible: false,
+ innerVisible:false,
tableData: {
表名: '患者方案表',
- 初次调查日期: "",
+ 实施日期: "",
填表日期: '',
更新日期: '',
记录者: '陈银成',
@@ -729,7 +761,60 @@
}
})
-
+const Edit1=(mode)=>{
+ state.innerVisible=true
+ state.modeType=mode
+ if( state.modeType==='烹饪技巧'){
+ state.mobanlist=[
+ '食材提前浸泡、焯水,可以去除1/2-2/3的磷钾;',
+ '少盐控油,可以适量使用葱姜蒜等天然调味品进行调味;',
+ '避免使用糖、味精、鸡精、黄豆酱、低钠盐等调味品;',
+ '选择蒸、煮、焖、炖、炒等做法,避免高温油炸等做法'
+ ]
+ }else if( state.modeType==='食材选择'){
+ state.mobanlist=[
+ '均衡饮食,食物多样化,建议每天摄入12种以上食物,每周达到25种',
+ '建议优先从优质蛋白质食物摄入,必要时补充肾友专用低磷低钾乳清蛋白粉。优质蛋白质通常富含于动物性食物和大豆中,优先选择鱼禽类,其次是大豆类,最后是蛋奶畜肉。',
+ '新鲜蔬菜和水果富含维生素,必要时可补充维生素B12 和叶酸;适量膳食纤维摄入对维持肠道健康有利,建议每日膳食纤维摄入量为25-30g,建议增加蔬菜摄入量至6两-1斤,血钾正常时,可安排4两内低钾水果。'
+ ]
+ }else if( state.modeType==='少盐控油'){
+ state.mobanlist=[
+ '推荐患者每日盐摄入量不超过3g,不吃烟熏、烧烤、腌制等过度加工食品,少吃酱油、味精、鸡精、各种酱料等调味品。建议烹调油摄入量不超过25-40g,可适当增加富含中链甘油三酯或w-3脂肪酸的油脂,如亚麻籽油、紫苏籽油等作为能量补充来源。',
+ ]
+ }else if( state.modeType==='适量饮水量出为入'){
+ state.mobanlist=[
+ '水分摄入需根据每天的尿液排出量及透析脱水量来计划饮水量,除了计算饮用水,还要考虑用水加工成粥、汤等及蔬菜、水果中所含的水,建议不喝浓肉汤、老火汤、菜汤。'
+ ]
+ }
+}
+const setText=(item)=>{
+ if( state.modeType==='烹饪技巧'){
+ if(state.tableData.烹饪技巧!==''){
+ state.tableData.烹饪技巧+=`\n${item}`
+ }else{
+ state.tableData.烹饪技巧+=item
+ }
+
+ }else if( state.modeType==='食材选择'){
+ if(state.tableData.食材选择!==''){
+ state.tableData.食材选择+=`\n${item}`
+ }else{
+ state.tableData.食材选择+=item
+ }
+ }else if( state.modeType==='少盐控油'){
+ if(state.tableData.少盐控油!==''){
+ state.tableData.少盐控油+=`\n${item}`
+ }else{
+ state.tableData.少盐控油+=item
+ }
+ }else if( state.modeType==='适量饮水量出为入'){
+ if(state.tableData.适量饮水量出为入!==''){
+ state.tableData.适量饮水量出为入+=`\n${item}`
+ }else{
+ state.tableData.适量饮水量出为入+=item
+ }
+ }
+}
const funhui = () => {
state.dialogTableVisible = false
}
@@ -740,7 +825,7 @@
const generatePDF = () => {
const element = document.getElementById('printFrom1');
const opt = {
- margin: 10,
+ margin: 0,
filename: `${state.tableData.表名}.pdf`,
image: { type: 'jpeg', quality: 0.98 },
html2canvas: { scale: 2 },
@@ -784,10 +869,10 @@
const getPageInfo = async () => {
state.tableData = {
表名: '患者方案表',
- 初次调查日期: "",
+ 实施日期: formatDate(new Date(),'YYYY-mm-dd'),
填表日期: '',
更新日期: '',
- 记录者: '陈银成',
+ 记录者: userInfos.value.userName,
食物过敏原: "",
胃肠功能状况: "",
蛋白粉补充情况: "",
@@ -888,6 +973,18 @@
其他: '1克盐=6.5克酱油=10克蚝油 水果 互相替换,如苹果/梨/西瓜/桃子/火龙果等'
}
}
+ 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: 2,
+ updateTime: ''
+ };
const from1 = await getFrom1()
const from2 = await getFrom2()
const from3 = await getFrom3()
@@ -910,7 +1007,7 @@
state.tableData.非透析日.早餐=from1Json.三天饮食记录表.非透析日.早餐
state.tableData.非透析日.早加餐=from1Json.三天饮食记录表.非透析日.加餐1
state.tableData.非透析日.午餐=from1Json.三天饮食记录表.非透析日.午餐
- state.tableData.非透析日天.午加餐=from1Json.三天饮食记录表.非透析日.加餐2
+ state.tableData.非透析日.午加餐=from1Json.三天饮食记录表.非透析日.加餐2
state.tableData.非透析日.晚餐=from1Json.三天饮食记录表.非透析日.晚餐
@@ -985,6 +1082,8 @@
console.log(mode)
state.viewInfo = mode
state.tableData = JSON.parse(mode.surveryJsonBody)
+ state.tableData.实施日期=mode.surveryTime
+ state.tableData.更新日期=mode.updateTime
state.dialogTableVisible = true
@@ -1005,7 +1104,7 @@
border-width: 1px;
border-color: #666666;
border-collapse: collapse;
-
+
}
.gridtable th {
@@ -1033,4 +1132,20 @@
.lvse {
background-color: rgb(239.8, 248.9, 235.3);
}
+@media print, screen {
+ .print-section {
+ width: auto !important;
+ max-width: none !important;
+ overflow: visible !important;
+ }
+
+ .print-section > * {
+ page-break-inside: avoid;
+ }
+
+ .page-break {
+ display: block;
+ page-break-after: always;
+ }
+}
</style>
--
Gitblit v1.8.0