gx
chenyc
2025-03-11 e87a45a4dfb21632d2e228724f545e585a427a51
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" class="print-section">
            <div  style="width: 100%; height: 100%;overflow: auto;" >
                <div ref="printRef" id="fanganprintFrom1" class="print-section">
                    <div>
                        <el-form size="small">
                            <div style="width: 100%">
@@ -11,9 +11,9 @@
                                        <th colspan="8">
                                            <el-row>
                                                <el-col :span="12">
                                                    <el-form-item label="实施日期">
                                                    <el-form-item label="实施日期" >
                                                        <el-date-picker v-model="state.tableData.实施日期" type="date"
                                                            style="width: 100px;" placeholder="" format="YYYY/MM/DD"
                                                            style="width: 120px;" placeholder="" format="YYYY/MM/DD"
                                                            value-format="YYYY-MM-DD" />
                                                    </el-form-item>
                                                </el-col>
@@ -21,7 +21,7 @@
                                                    <div style="text-align:right;width: 100%">
                                                        <span>营养师:</span> <el-input v-model="state.tableData.记录者" readonly
                                                            style="width: 100px;" placeholder="" />
                                                            style="width: 120px;" placeholder="" />
                                                    </div>
@@ -39,77 +39,112 @@
                                    <tr>
                                        <td class="htr">食物过敏原</td>
                                        <td colspan="7">
                                            <el-form-item>
                                            <el-form-item v-if='!state.dy状态'>
                                                <el-input v-model="state.tableData.食物过敏原" type="textarea"
                                                    :autosize="{ minRows: 1, maxRows: 3 }" placeholder="食物过敏原" />
                                                    :autosize="{ minRows: 1, maxRows: 10 }" placeholder="" />
                                            </el-form-item>
                                            <template v-else>
                                                {{state.tableData.食物过敏原}}
                                            </template>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td class="htr">胃肠功能状况</td>
                                        <td colspan="7">
                                            <el-form-item>
                                            <el-form-item v-if='!state.dy状态'>
                                                <el-input v-model="state.tableData.胃肠功能状况" type="textarea"
                                                    :autosize="{ minRows: 1, maxRows: 3 }" placeholder="胃肠功能状况" />
                                                    :autosize="{ minRows: 1, maxRows: 10 }" placeholder="" />
                                            </el-form-item>
                                            <template v-else>
                                                {{state.tableData.胃肠功能状况}}
                                            </template>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td class="htr">蛋白粉补充情况</td>
                                        <td colspan="7">
                                            <el-form-item>
                                            <el-form-item  v-if='!state.dy状态'>
                                                <el-input v-model="state.tableData.蛋白粉补充情况" type="textarea"
                                                    :autosize="{ minRows: 1, maxRows: 3 }" placeholder="蛋白粉补充情况" />
                                                    :autosize="{ minRows: 1, maxRows: 10 }" placeholder="" />
                                            </el-form-item>
                                            <template v-else>
                                                {{state.tableData.蛋白粉补充情况}}
                                            </template>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td  class="htr">营养记录汇总</td>
                                        <td colspan="7">
                                            <el-form-item>
                                                <el-input v-model="state.tableData.营养记录汇总" type="textarea"
                                                    :autosize="{ minRows: 1, maxRows: 3 }" placeholder="营养记录汇总" />
                                            <el-form-item v-if='!state.dy状态'>
                                                <el-input v v-model="state.tableData.营养记录汇总" type="textarea"
                                                    :autosize="{ minRows: 1, maxRows: 10 }" placeholder="" />
                                            </el-form-item>
                                            <template v-else>
                                                {{state.tableData.营养记录汇总}}
                                            </template>
                                        </td>
                                    </tr>
                                   
                                    <tr>
                                        <td class="htr">饮食问题</td>
                                        <td colspan="7">
                                            <el-form-item>
                                            <el-form-item v-if='!state.dy状态'>
                                                <el-input v-model="state.tableData.饮食问题" type="textarea"
                                                    :autosize="{ minRows: 1, maxRows: 3 }" placeholder="饮食问题" />
                                                    :autosize="{ minRows: 1, maxRows: 10 }" placeholder="" />
                                            </el-form-item>
                                            <template v-else>
                                                {{state.tableData.饮食问题}}
                                            </template>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td class="htr" rowspan="2">生活习惯</td>
                                        <td>大小便</td>
                                        <td>
                                            <el-input v-model="state.tableData.生活习惯.大小便" placeholder="" />
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.生活习惯.大小便" placeholder="" />
                                            <template v-else>
                                                {{state.tableData.生活习惯.大小便}}
                                            </template>
                                        </td>
                                        <td>睡眠</td>
                                        <td>
                                            <el-input v-model="state.tableData.生活习惯.睡眠" placeholder="" />
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.生活习惯.睡眠" placeholder="" />
                                            <template v-else>
                                                {{state.tableData.生活习惯.睡眠}}
                                            </template>
                                        </td>
                                        <td>运动</td>
                                        <td colspan="2">
                                            <el-input v-model="state.tableData.生活习惯.运动" placeholder="" />
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.生活习惯.运动" placeholder="" />
                                            <template v-else>
                                                {{state.tableData.生活习惯.运动}}
                                            </template>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>烟酒</td>
                                        <td>
                                            <el-input v-model="state.tableData.生活习惯.烟酒" placeholder="" />
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.生活习惯.烟酒" placeholder="" />
                                            <template v-else>
                                                {{state.tableData.生活习惯.烟酒}}
                                            </template>
                                        </td>
                                        <td>吞咽咀嚼功能</td>
                                        <td>
                                            <el-input v-model="state.tableData.生活习惯.吞咽咀嚼功能" placeholder="" />
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.生活习惯.吞咽咀嚼功能" placeholder="" />
                                            <template v-else>
                                                {{state.tableData.生活习惯.吞咽咀嚼}}
                                            </template>
                                        </td>
                                        <td>其他</td>
                                        <td colspan="2">
                                            <el-input v-model="state.tableData.生活习惯.其他" placeholder="" />
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.生活习惯.其他" placeholder="" />
                                            <template v-else>
                                                {{state.tableData.生活习惯.其他}}
                                            </template>
                                        </td>
                                    </tr>
                                    <tr>
@@ -121,10 +156,13 @@
                                        <td>营养风险筛查结果</td>
                                        <td colspan="6">
                                            <el-form-item>
                                                <el-input v-model="state.tableData.营养筛查评估.营养风险筛查结果" type="textarea"
                                                    :autosize="{ minRows: 1, maxRows: 3 }" placeholder="" />
                                            <el-form-item v-if='!state.dy状态'>
                                                <el-input  v-model="state.tableData.营养筛查评估.营养风险筛查结果" type="textarea"
                                                    :autosize="{ minRows: 1, maxRows: 10 }" placeholder="" />
                                            </el-form-item>
                                            <template v-else>
                                                {{state.tableData.营养筛查评估.营养风险筛查结果}}
                                            </template>
                                        </td>
@@ -133,20 +171,26 @@
                                        <td>营养评估结果</td>
                                        <td colspan="6">
                                            <el-form-item>
                                                <el-input v-model="state.tableData.营养筛查评估.营养评估结果" type="textarea"
                                                    :autosize="{ minRows: 1, maxRows: 3 }" placeholder="" />
                                            <el-form-item v-if='!state.dy状态'>
                                                <el-input  v-model="state.tableData.营养筛查评估.营养评估结果" type="textarea"
                                                    :autosize="{ minRows: 1, maxRows: 10 }" placeholder="" />
                                            </el-form-item>
                                            <template v-else>
                                                {{state.tableData.营养筛查评估.营养评估结果}}
                                            </template>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td class="htr">异常生化指标</td>
                                        <td colspan="7">
                                            <el-form-item>
                                                <el-input v-model="state.tableData.异常生化指标" type="textarea"
                                                    :autosize="{ minRows: 1, maxRows: 3 }" placeholder="" />
                                            <el-form-item v-if='!state.dy状态'>
                                                <el-input  v-model="state.tableData.异常生化指标" type="textarea"
                                                    :autosize="{ minRows: 1, maxRows: 10 }" placeholder="" />
                                            </el-form-item>
                                            <template v-else>
                                                {{state.tableData.异常生化指标}}
                                            </template>
                                        </td>
                                    </tr>
                                    <tr>
@@ -157,119 +201,258 @@
                                        <td class="htr">营养饮食现状</td>
                                        <td colspan="7">
                                            <el-form-item>
                                            <el-form-item v-if='!state.dy状态'>
                                                <el-input v-model="state.tableData.营养饮食现状" type="textarea"
                                                    :autosize="{ minRows: 1, maxRows: 3 }" placeholder="" />
                                                    :autosize="{ minRows: 1, maxRows: 10 }" placeholder="" />
                                            </el-form-item>
                                            <template v-else>
                                                {{state.tableData.营养饮食现状}}
                                            </template>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td class="htr">营养指导初期目标</td>
                                        <td colspan="7">
                                            <el-form-item>
                                                <el-input v-model="state.tableData.营养指导初期目标" type="textarea"
                                                    :autosize="{ minRows: 1, maxRows: 3 }" placeholder="" />
                                            <el-form-item v-if='!state.dy状态'>
                                                <el-input  v-model="state.tableData.营养指导初期目标" type="textarea"
                                                    :autosize="{ minRows: 1, maxRows: 10 }" placeholder="" />
                                            </el-form-item>
                                            <template v-else>
                                                {{state.tableData.营养指导初期目标}}
                                            </template>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td class="htr" rowspan="7">营养师指导建议</td>
                                        <td rowspan="3">透析饮食指导</td>
                                        <td>能量</td>
                                        <td> <el-input v-model="state.tableData.营养师指导建议.透析饮食指导.能量" placeholder="" />
                                        <td>
                                             <el-input v-if='!state.dy状态' v-model="state.tableData.营养师指导建议.透析饮食指导.能量" placeholder="" >
                                                <template #append >
                                                    <span @click="state.centerDialogVisibleNL=true">计算</span>
                                                </template>
                                            </el-input>
                                            <template v-else>
                                                {{state.tableData.营养师指导建议.透析饮食指导.能量}}
                                            </template>
                                            <el-dialog v-model="state.centerDialogVisibleNL" title="计算能量" width="400" center>
                                                <span>
                                                    <div style="text-align: center">
                                                        <span> 体重:{{state.最近一次体重}}</span>*
                                                        <span><el-input-number v-model="state.nljsz"></el-input-number> </span>
                                                        ={{nlValue}}
                                                    </div>
                                                </span>
                                                <template #footer>
                                                <div class="dialog-footer">
                                                    <el-button @click="state.centerDialogVisibleNL = false">取消</el-button>
                                                    <el-button type="primary" @click="nlqd">
                                                        确定
                                                    </el-button>
                                                </div>
                                                </template>
                                            </el-dialog>
                                        </td>
                                        <td>蛋白质</td>
                                        <td>
                                            <el-input v-model="state.tableData.营养师指导建议.透析饮食指导.蛋白质" placeholder="" />
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.营养师指导建议.透析饮食指导.蛋白质" placeholder="">
                                                <template #append>
                                                    <span @click="state.centerDialogVisibleDBZ=true">计算</span>
                                                </template>
                                            </el-input>
                                            <template v-else>
                                                {{state.tableData.营养师指导建议.透析饮食指导.蛋白质}}
                                            </template>
                                            <el-dialog v-model="state.centerDialogVisibleDBZ" title="计算蛋白质" width="400" center>
                                                <span>
                                                    <div style="text-align: center">
                                                        <span> 体重:{{state.最近一次体重}}</span>*
                                                        <span><el-input-number :step="0.1" v-model="state.dbzjsz"></el-input-number> </span>
                                                        ={{dbzValue}}
                                                    </div>
                                                </span>
                                                <template #footer>
                                                <div class="dialog-footer">
                                                    <el-button @click="state.centerDialogVisibleDBZ = false">取消</el-button>
                                                    <el-button type="primary" @click="dbzqd">
                                                        确定
                                                    </el-button>
                                                </div>
                                                </template>
                                            </el-dialog>
                                        </td>
                                        <td>优质蛋白</td>
                                        <td>
                                            <el-input v-model="state.tableData.营养师指导建议.透析饮食指导.优质蛋白" placeholder="" />
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.营养师指导建议.透析饮食指导.优质蛋白" placeholder="" >
                                                <template #append>
                                                    <span @click="state.centerDialogVisibleYZDBZ=true">计算</span>
                                                </template>
                                            </el-input>
                                            <template v-else>
                                                {{state.tableData.营养师指导建议.透析饮食指导.优质蛋白}}
                                            </template>
                                            <el-dialog v-model="state.centerDialogVisibleYZDBZ" title="计算蛋白质" width="400" center>
                                                <span>
                                                    <div style="text-align: center">
                                                        <span> 蛋白质:{{state.tableData.营养师指导建议.透析饮食指导.蛋白质}}</span>*
                                                        <span><el-input-number :step="0.1" v-model="state.yzdbzjsz"></el-input-number> </span>
                                                        ={{yzdbzValue}}
                                                    </div>
                                                </span>
                                                <template #footer>
                                                <div class="dialog-footer">
                                                    <el-button @click="state.centerDialogVisibleYZDBZ = false">取消</el-button>
                                                    <el-button type="primary" @click="yzdbzqd">
                                                        确定
                                                    </el-button>
                                                </div>
                                                </template>
                                            </el-dialog>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>钠</td>
                                        <td>
                                            <el-input v-model="state.tableData.营养师指导建议.透析饮食指导.钠" placeholder="" />
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.营养师指导建议.透析饮食指导.钠" placeholder="" />
                                            <template v-else>
                                                {{state.tableData.营养师指导建议.透析饮食指导.钠}}
                                            </template>
                                        </td>
                                        <td>钾</td>
                                        <td>
                                            <el-input v-model="state.tableData.营养师指导建议.透析饮食指导.钾" placeholder="" />
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.营养师指导建议.透析饮食指导.钾" placeholder="" />
                                            <template v-else>
                                                {{state.tableData.营养师指导建议.透析饮食指导.钾}}
                                            </template>
                                        </td>
                                        <td>磷</td>
                                        <td>
                                            <el-input v-model="state.tableData.营养师指导建议.透析饮食指导.磷" placeholder="" />
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.营养师指导建议.透析饮食指导.磷" placeholder="" />
                                            <template v-else>
                                                {{state.tableData.营养师指导建议.透析饮食指导.磷}}
                                            </template>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>饮水量</td>
                                        <td>
                                            <el-input v-model="state.tableData.营养师指导建议.透析饮食指导.饮水量" placeholder="" />
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.营养师指导建议.透析饮食指导.饮水量" placeholder="" />
                                            <template v-else>
                                                {{state.tableData.营养师指导建议.透析饮食指导.饮水量}}
                                            </template>
                                        </td>
                                        <td>食物种类</td>
                                        <td colspan="3">
                                            <el-input v-model="state.tableData.营养师指导建议.透析饮食指导.食物种类" placeholder="" />
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.营养师指导建议.透析饮食指导.食物种类" placeholder="" />
                                            <template v-else>
                                                {{state.tableData.营养师指导建议.透析饮食指导.食物种类}}
                                            </template>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td rowspan="3">特殊饮食指导</td>
                                        <td>高血压</td>
                                        <td>
                                            <el-input v-model="state.tableData.营养师指导建议.特殊饮食指导.高血压" placeholder="" />
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.营养师指导建议.特殊饮食指导.高血压" placeholder="" />
                                            <template v-else>
                                                {{state.tableData.营养师指导建议.特殊饮食指导.高血压}}
                                            </template>
                                        </td>
                                        <td>低蛋白血症</td>
                                        <td>
                                            <el-input v-model="state.tableData.营养师指导建议.特殊饮食指导.低蛋白血症" placeholder="" />
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.营养师指导建议.特殊饮食指导.低蛋白血症" placeholder="" />
                                            <template v-else>
                                                {{state.tableData.营养师指导建议.特殊饮食指导.低蛋白血症}}
                                            </template>
                                        </td>
                                        <td>贫血</td>
                                        <td>
                                            <el-input v-model="state.tableData.营养师指导建议.特殊饮食指导.贫血" placeholder="" />
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.营养师指导建议.特殊饮食指导.贫血" placeholder="" />
                                            <template v-else>
                                                {{state.tableData.营养师指导建议.特殊饮食指导.贫血}}
                                            </template>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>高血糖</td>
                                        <td>
                                            <el-input v-model="state.tableData.营养师指导建议.特殊饮食指导.高血糖" placeholder="" />
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.营养师指导建议.特殊饮食指导.高血糖" placeholder="" />
                                            <template v-else>
                                                {{state.tableData.营养师指导建议.特殊饮食指导.高血糖}}
                                            </template>
                                        </td>
                                        <td>高磷血症</td>
                                        <td>
                                            <el-input v-model="state.tableData.营养师指导建议.特殊饮食指导.高磷血症" placeholder="" />
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.营养师指导建议.特殊饮食指导.高磷血症" placeholder="" />
                                            <template v-else>
                                                {{state.tableData.营养师指导建议.特殊饮食指导.高磷血症}}
                                            </template>
                                        </td>
                                        <td>低钙血症</td>
                                        <td>
                                            <el-input v-model="state.tableData.营养师指导建议.特殊饮食指导.低钙血症" placeholder="" />
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.营养师指导建议.特殊饮食指导.低钙血症" placeholder="" />
                                            <template v-else>
                                                {{state.tableData.营养师指导建议.特殊饮食指导.低钙血症}}
                                            </template>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>高尿酸</td>
                                        <td>
                                            <el-input v-model="state.tableData.营养师指导建议.特殊饮食指导.高尿酸" placeholder="" />
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.营养师指导建议.特殊饮食指导.高尿酸" placeholder="" />
                                            <template v-else>
                                                {{state.tableData.营养师指导建议.特殊饮食指导.高尿酸}}
                                            </template>
                                        </td>
                                        <td>高钾血症</td>
                                        <td>
                                            <el-input v-model="state.tableData.营养师指导建议.特殊饮食指导.高钾血症" placeholder="" />
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.营养师指导建议.特殊饮食指导.高钾血症" placeholder="" />
                                            <template v-else>
                                                {{state.tableData.营养师指导建议.特殊饮食指导.高钾血症}}
                                            </template>
                                        </td>
                                        <td>蛋白质能量摄入不足</td>
                                        <td>
                                            <el-input v-model="state.tableData.营养师指导建议.特殊饮食指导.蛋白质能量摄入不足"
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.营养师指导建议.特殊饮食指导.蛋白质能量摄入不足"
                                                placeholder="" />
                                            <template v-else>
                                                {{state.tableData.营养师指导建议.特殊饮食指导.蛋白质能量摄入不足}}
                                            </template>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td >其他指导</td>
                                        <td>便秘</td>
                                        <td>
                                            <el-input v-model="state.tableData.营养师指导建议.其他指导.便秘" placeholder="" />
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.营养师指导建议.其他指导.便秘" placeholder="" />
                                            <template v-else>
                                                {{state.tableData.营养师指导建议.其他指导.便秘}}
                                            </template>
                                        </td>
                                        <td>腹泻</td>
                                        <td>
                                            <el-input v-model="state.tableData.营养师指导建议.其他指导.腹泻" placeholder="" />
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.营养师指导建议.其他指导.腹泻" placeholder="" />
                                            <template v-else>
                                                {{state.tableData.营养师指导建议.其他指导.腹泻}}
                                            </template>
                                        </td>
                                        <td>体重管理</td>
                                        <td>
                                            <el-input v-model="state.tableData.营养师指导建议.其他指导.体重管理"
                                                placeholder="" />
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.营养师指导建议.其他指导.体重管理" placeholder="" />
                                            <template v-else>
                                                {{state.tableData.营养师指导建议.其他指导.体重管理}}
                                            </template>
                                        </td>
                                    </tr>
                                    <tr class="page-break"></tr>
@@ -280,53 +463,65 @@
                                    <tr>
                                        <td class="htr">烹饪技巧</td>
                                        <td colspan="6">
                                            <el-form-item>
                                            <el-form-item v-if='!state.dy状态'>
                                                <el-input v-model="state.tableData.烹饪技巧" type="textarea"
                                                    :autosize="{ minRows: 2, maxRows: 6 }">
                                                </el-input>
                                            </el-form-item>
                                            <template v-else>
                                                {{state.tableData.烹饪技巧}}
                                            </template>
                                        </td>
                                        <td>
                                            <el-button type="primary"  @click="Edit1('烹饪技巧')" :icon="Edit">模版</el-button>
                                            <el-button v-if='!state.dy状态' type="primary"  @click="Edit1('烹饪技巧')" :icon="Edit">模版</el-button>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td class="htr">食材选择</td>
                                        <td colspan="6">
                                            <el-form-item>
                                            <el-form-item v-if='!state.dy状态'>
                                                <el-input v-model="state.tableData.食材选择" type="textarea"
                                                    :autosize="{ minRows: 2, maxRows: 6 }">
                                                </el-input>
                                            </el-form-item>
                                            <template v-else>
                                                {{state.tableData.食材选择}}
                                            </template>
                                        </td>
                                        <td>
                                            <el-button type="primary" @click="Edit1('食材选择')"  :icon="Edit">模版</el-button>
                                            <el-button v-if='!state.dy状态' type="primary" @click="Edit1('食材选择')"  :icon="Edit">模版</el-button>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td class="htr">少盐控油</td>
                                        <td colspan="6">
                                            <el-form-item>
                                            <el-form-item v-if='!state.dy状态'>
                                                <el-input v-model="state.tableData.少盐控油" type="textarea"
                                                    :autosize="{ minRows: 2, maxRows: 6 }">
                                                </el-input>
                                            </el-form-item>
                                            <template v-else>
                                                {{state.tableData.少盐控油}}
                                            </template>
                                        </td>
                                        <td>
                                            <el-button type="primary" @click="Edit1('少盐控油')" :icon="Edit">模版</el-button>
                                            <el-button v-if='!state.dy状态' type="primary" @click="Edit1('少盐控油')" :icon="Edit">模版</el-button>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td class="htr">适量饮水,量出为入</td>
                                        <td colspan="6">
                                            <el-form-item>
                                                <el-input v-model="state.tableData.适量饮水量出为入" type="textarea"
                                            <el-form-item v-if='!state.dy状态'>
                                                <el-input  v-model="state.tableData.适量饮水量出为入" type="textarea"
                                                    :autosize="{ minRows: 2, maxRows: 6 }">
                                                </el-input>
                                            </el-form-item>
                                            <template v-else>
                                                {{state.tableData.适量饮水量出为入}}
                                            </template>
                                        </td>
                                        <td>
                                            <el-button type="primary" @click="Edit1('适量饮水量出为入')" :icon="Edit">模版</el-button>
                                            <el-button v-if='!state.dy状态' type="primary" @click="Edit1('适量饮水量出为入')" :icon="Edit">模版</el-button>
                                        </td>
                                    </tr>
                                    <tr>
@@ -343,127 +538,178 @@
                                    <tr>
                                        <td colspan="2" class="htr">早餐</td>
                                        <td colspan="2">
                                            <el-form-item>
                                            <el-form-item v-if='!state.dy状态' >
                                                <el-input v-model="state.tableData.三天食补参考.第一天.早餐" type="textarea"
                                                    :autosize="{ minRows: 2, maxRows: 6 }">
                                                </el-input>
                                            </el-form-item>
                                            <template v-else>
                                                {{state.tableData.三天食补参考.第一天.早餐}}
                                            </template>
                                        </td>
                                        <td colspan="2">
                                            <el-input v-model="state.tableData.三天食补参考.第二天.早餐" type="textarea"
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.三天食补参考.第二天.早餐" type="textarea"
                                                :autosize="{ minRows: 2, maxRows: 6 }">
                                            </el-input>
                                            <template v-else>
                                                {{state.tableData.三天食补参考.第二天.早餐}}
                                            </template>
                                        </td>
                                        <td colspan="2">
                                            <el-input v-model="state.tableData.三天食补参考.第三天.早餐" type="textarea"
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.三天食补参考.第三天.早餐" type="textarea"
                                                :autosize="{ minRows: 2, maxRows: 6 }">
                                            </el-input>
                                            <template v-else>
                                                {{state.tableData.三天食补参考.第三天.早餐}}
                                            </template>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td class="lvse" colspan="2">加餐</td>
                                        <td class="lvse" colspan="2">
                                            <el-form-item>
                                                <el-input v-model="state.tableData.三天食补参考.第一天.早加餐" type="textarea"
                                            <el-form-item v-if='!state.dy状态'>
                                                <el-input  v-model="state.tableData.三天食补参考.第一天.早加餐" type="textarea"
                                                    :autosize="{ minRows: 1, maxRows: 6 }">
                                                </el-input>
                                            </el-form-item>
                                            <template v-else>
                                                {{state.tableData.三天食补参考.第一天.早加餐}}
                                            </template>
                                        </td>
                                        <td class="lvse" colspan="2">
                                            <el-form-item>
                                                <el-input v-model="state.tableData.三天食补参考.第二天.早加餐" type="textarea"
                                            <el-form-item v-if='!state.dy状态'>
                                                <el-input  v-model="state.tableData.三天食补参考.第二天.早加餐" type="textarea"
                                                    :autosize="{ minRows: 1, maxRows: 6 }">
                                                </el-input>
                                            </el-form-item>
                                            <template v-else>
                                                {{state.tableData.三天食补参考.第二天.早加餐}}
                                            </template>
                                        </td>
                                        <td class="lvse" colspan="2">
                                            <el-form-item>
                                                <el-input v-model="state.tableData.三天食补参考.第三天.早加餐" type="textarea"
                                            <el-form-item v-if='!state.dy状态'>
                                                <el-input  v-model="state.tableData.三天食补参考.第三天.早加餐" type="textarea"
                                                    :autosize="{ minRows: 1, maxRows: 6 }">
                                                </el-input>
                                            </el-form-item>
                                            <template v-else>
                                                {{state.tableData.三天食补参考.第三天.早加餐}}
                                            </template>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td colspan="2" class="htr">午餐</td>
                                        <td colspan="2">
                                            <el-form-item>
                                                <el-input v-model="state.tableData.三天食补参考.第一天.午餐" type="textarea"
                                            <el-form-item v-if='!state.dy状态'>
                                                <el-input  v-model="state.tableData.三天食补参考.第一天.午餐" type="textarea"
                                                    :autosize="{ minRows: 2, maxRows: 6 }">
                                                </el-input>
                                            </el-form-item>
                                            <template v-else>
                                                {{state.tableData.三天食补参考.第一天.午餐}}
                                            </template>
                                        </td>
                                        <td colspan="2">
                                            <el-input v-model="state.tableData.三天食补参考.第二天.午餐" type="textarea"
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.三天食补参考.第二天.午餐" type="textarea"
                                                :autosize="{ minRows: 2, maxRows: 6 }">
                                            </el-input>
                                            <template v-else>
                                                {{state.tableData.三天食补参考.第二天.午餐}}
                                            </template>
                                        </td>
                                        <td colspan="2">
                                            <el-input v-model="state.tableData.三天食补参考.第三天.午餐" type="textarea"
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.三天食补参考.第三天.午餐" type="textarea"
                                                :autosize="{ minRows: 2, maxRows: 6 }">
                                            </el-input>
                                            <template v-else>
                                                {{state.tableData.三天食补参考.第三天.午餐}}
                                            </template>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td class="lvse" colspan="2">加餐</td>
                                        <td class="lvse" colspan="2">
                                            <el-form-item>
                                            <el-form-item v-if='!state.dy状态'>
                                                <el-input v-model="state.tableData.三天食补参考.第一天.午加餐" type="textarea"
                                                    :autosize="{ minRows: 1, maxRows: 6 }">
                                                </el-input>
                                            </el-form-item>
                                            <template v-else>
                                                {{state.tableData.三天食补参考.第一天.午加餐}}
                                            </template>
                                        </td>
                                        <td class="lvse" colspan="2">
                                            <el-form-item>
                                                <el-input v-model="state.tableData.三天食补参考.第二天.午加餐" type="textarea"
                                            <el-form-item v-if='!state.dy状态'>
                                                <el-input  v-model="state.tableData.三天食补参考.第二天.午加餐" type="textarea"
                                                    :autosize="{ minRows: 1, maxRows: 6 }">
                                                </el-input>
                                            </el-form-item>
                                            <template v-else>
                                                {{state.tableData.三天食补参考.第二天.午加餐}}
                                            </template>
                                        </td>
                                        <td class="lvse" colspan="2">
                                            <el-form-item>
                                                <el-input v-model="state.tableData.三天食补参考.第三天.午加餐" type="textarea"
                                            <el-form-item v-if='!state.dy状态'>
                                                <el-input  v-model="state.tableData.三天食补参考.第三天.午加餐" type="textarea"
                                                    :autosize="{ minRows: 1, maxRows: 6 }">
                                                </el-input>
                                            </el-form-item>
                                            <template v-else>
                                                {{state.tableData.三天食补参考.第三天.午加餐}}
                                            </template>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td colspan="2" class="htr">晚餐</td>
                                        <td colspan="2">
                                            <el-form-item>
                                                <el-input v-model="state.tableData.三天食补参考.第一天.晚餐" type="textarea"
                                            <el-form-item v-if='!state.dy状态'>
                                                <el-input  v-model="state.tableData.三天食补参考.第一天.晚餐" type="textarea"
                                                    :autosize="{ minRows: 3, maxRows: 6 }">
                                                </el-input>
                                            </el-form-item>
                                            <template v-else>
                                                {{state.tableData.三天食补参考.第一天.晚餐}}
                                            </template>
                                        </td>
                                        <td colspan="2">
                                            <el-input v-model="state.tableData.三天食补参考.第二天.晚餐" type="textarea"
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.三天食补参考.第二天.晚餐" type="textarea"
                                                :autosize="{ minRows: 3, maxRows: 6 }">
                                            </el-input>
                                            <template v-else>
                                                {{state.tableData.三天食补参考.第二天.晚}}
                                            </template>
                                        </td>
                                        <td colspan="2">
                                            <el-input v-model="state.tableData.三天食补参考.第三天.晚餐" type="textarea"
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.三天食补参考.第三天.晚餐" type="textarea"
                                                :autosize="{ minRows: 3, maxRows: 6 }">
                                            </el-input>
                                            <template v-else>
                                                {{state.tableData.三天食补参考.第三天.晚}}
                                            </template>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td colspan="2" class="htr">全天用油量</td>
                                        <td colspan="2">
                                            <el-form-item>
                                            <el-form-item v-if='!state.dy状态'>
                                                <el-input v-model="state.tableData.三天食补参考.全天用油量" type="textarea"
                                                    :autosize="{ minRows: 3, maxRows: 6 }">
                                                </el-input>
                                            </el-form-item>
                                            <template v-else>
                                                {{state.tableData.三天食补参考.全天用油量}}
                                            </template>
                                        </td>
                                        <td colspan="2" class="htr">
                                            全天食盐量
                                        </td>
                                        <td colspan="2">
                                            <el-input v-model="state.tableData.三天食补参考.全天食盐量" type="textarea"
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.三天食补参考.全天食盐量" type="textarea"
                                                :autosize="{ minRows: 3, maxRows: 6 }">
                                            </el-input>
                                            <template v-else>
                                                {{state.tableData.三天食补参考.全天食盐量}}
                                            </template>
                                        </td>
                                    </tr>
                                    
@@ -476,17 +722,23 @@
                                            肉类
                                        </td>
                                        <td colspan="3">
                                            <el-input v-model="state.tableData.食物替换法.肉类" type="textarea"
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.食物替换法.肉类" type="textarea"
                                                :autosize="{ minRows: 1, maxRows: 6 }">
                                            </el-input>
                                            <template v-else>
                                                {{state.tableData.食物替换法.肉类}}
                                            </template>
                                        </td>
                                        <td class="htr">
                                            瓜菜
                                        </td>
                                        <td colspan="3">
                                            <el-input v-model="state.tableData.食物替换法.瓜菜" type="textarea"
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.食物替换法.瓜菜" type="textarea"
                                                :autosize="{ minRows: 1, maxRows: 6 }">
                                            </el-input>
                                            <template v-else>
                                                {{state.tableData.食物替换法.瓜菜}}
                                            </template>
                                        </td>
                                    </tr>
                                    <tr>
@@ -494,17 +746,23 @@
                                            肉类与豆腐、鸡蛋白
                                        </td>
                                        <td colspan="3">
                                            <el-input v-model="state.tableData.食物替换法.肉类与豆腐鸡蛋白" type="textarea"
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.食物替换法.肉类与豆腐鸡蛋白" type="textarea"
                                                :autosize="{ minRows: 1, maxRows: 6 }">
                                            </el-input>
                                            <template v-else>
                                                {{state.tableData.食物替换法.肉类与豆腐鸡蛋白}}
                                            </template>
                                        </td>
                                        <td class="htr">
                                            绿叶菜
                                        </td>
                                        <td colspan="3">
                                            <el-input v-model="state.tableData.食物替换法.绿叶菜" type="textarea"
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.食物替换法.绿叶菜" type="textarea"
                                                :autosize="{ minRows: 1, maxRows: 6 }">
                                            </el-input>
                                            <template v-else>
                                                {{state.tableData.食物替换法.绿叶菜}}
                                            </template>
                                        </td>
                                    </tr>
                                    <tr>
@@ -516,9 +774,12 @@
                                            水果
                                        </td>
                                        <td colspan="3">
                                            <el-input v-model="state.tableData.食物替换法.水果" type="textarea"
                                            <el-input v-if='!state.dy状态' v-model="state.tableData.食物替换法.水果" type="textarea"
                                                :autosize="{ minRows: 1, maxRows: 6 }">
                                            </el-input>
                                            <template v-else>
                                                {{state.tableData.食物替换法.水果}}
                                            </template>
                                        </td>
                                    </tr>
@@ -536,18 +797,18 @@
                    <el-button type="primary" @click="onSubmit">
                        保存
                    </el-button>
                    <el-button v-if="state.viewInfo.id" type="primary" v-print="'#printFrom1'">
                    <el-button v-if="state.viewInfo.id" type="primary" @click="onPrint">
                        <el-icon>
                            <Printer />
                        </el-icon>
                        打印
                    </el-button>
                    <el-button type="primary" v-if="state.viewInfo.id" @click="generatePDF">
                    <!-- <el-button type="primary" v-if="state.viewInfo.id" @click="generatePDF">
                        <el-icon>
                            <Position />
                        </el-icon>
                        导出
                    </el-button>
                    </el-button> -->
                </div>
            </template>
@@ -579,26 +840,38 @@
</template>
<script setup lang="ts" name="visualizingLinkDemo2">
import { Check } from '@element-plus/icons-vue'
import { Check,Edit } 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 printJs from 'print-js';
import { reactive, onMounted, onUnmounted, ref,computed} from 'vue';
import { formatDate } from '/@/utils/formatTime';
import { NextLoading } from '/@/utils/loading';
import { useUserInfo } from '/@/stores/userInfo';
import { usePatientsInfo } from '/@/stores/patientsInfo';
const storesPat = usePatientsInfo();
import { getPatData} from '/@/api/Patients';
import { Add, update, deleteId, tiaochabiaoInfo, list } from '/@/api/tiaochabiao/index'
import { storeToRefs } from 'pinia';
import { useRoute, useRouter } from 'vue-router';
import { ElMessage } from 'element-plus';
import { ElLoading, ElMessage } from 'element-plus';
const stores = useUserInfo();
const { patientsInfo } = storeToRefs(storesPat);
const { userInfos } = storeToRefs(stores);
const router = useRouter()
// 定义变量内容
const printRef = ref();
const emit = defineEmits(["shuaxin"]);
const state = reactive({
    dy状态:false,
    centerDialogVisibleYZDBZ:false,
    yzdbzjsz:2,
    centerDialogVisibleDBZ:false,
    dbzjsz:1.2,
    centerDialogVisibleNL:false,
    最近一次体重:0,
    nljsz:30,
    modeType:'',
    mobanlist:[
        '食材提前浸泡、焯水,可以去除1/2-2/3的磷钾;',
@@ -743,6 +1016,136 @@
    }
})
// 打印
const onPrint=()=>{
    state.dy状态=true
    const loading = ElLoading.service({
        lock: true,
        text: 'Loading',
        background: 'rgba(0, 0, 0, 0.7)',
    })
    setTimeout(()=>{
        try {
            printJs({
            printable: printRef.value,
            type: 'html',
            css: ['@/assets/css/printcss.css','//at.alicdn.com/t/c/font_2298093_rnp72ifj3ba.css', '//unpkg.com/element-plus/dist/index.css'],
            scanStyles: false,
            style: `@media print{.gridtable {
        font-family: verdana, arial, sans-serif;
        color: #333333;
        border-width: 1px;
        border-color: #666666;
        border-collapse: collapse;
        text-align:  left;
        font-size:12px;
    }
    .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;
        font-weight: 800;
    }
    .gridtable tr td:first-child {
        text-align: center;
    }
    textarea{
        font-weight: 800;
        color: #303133;
    }
    input{
        font-weight: 800;
        color: #303133;
    }
    .htr {
        background-color: rgb(250, 236, 216);
        font-weight: 800;
        min-width: 80px;
        text-align: center;
    }
    .lvse {
        background-color: rgb(239.8, 248.9, 235.3);
    }}}`,
        });
        } catch (err) {
            console.log('打印出错了')
        } finally {
        }
        loading.close()
        state.dy状态=false
    },1000)
}
const numberPart=(str:any)=>{
    if(str){
         // 使用正则表达式匹配数字
        const numberPart = str.match(/\d+/);
        // 将匹配到的数字字符串转换为数字
        const num = numberPart ? Number(numberPart[0]) : '';
        return num
    }else{
        return ''
    }
}
// 优质蛋白质确定
const yzdbzqd=()=>{
    state.centerDialogVisibleYZDBZ = false
    state.tableData.营养师指导建议.透析饮食指导.优质蛋白=yzdbzValue.value
}
const yzdbzValue= computed(() => {
    if(state.最近一次体重&&numberPart(state.tableData.营养师指导建议.透析饮食指导.蛋白质)){
        return Number(Number(numberPart(state.tableData.营养师指导建议.透析饮食指导.蛋白质))/state.yzdbzjsz).toFixed(0)+'g'
    }
    else{
        return ''
    }
})
const dbzValue= computed(() => {
    if(state.最近一次体重){
        return Number(Number(state.最近一次体重)*state.dbzjsz).toFixed(0)+'g'
    }
    else{
        return ''
    }
})
// 蛋白质确定
const dbzqd=()=>{
    state.centerDialogVisibleDBZ = false
    state.tableData.营养师指导建议.透析饮食指导.蛋白质=dbzValue.value
}
//能量计算
const nlValue= computed(() => {
    if(state.最近一次体重){
        return Number(Number(state.最近一次体重)*state.nljsz).toFixed(0)+'kcal'
    }
    else{
        return ''
    }
})
// 能量确定
const nlqd=()=>{
    state.centerDialogVisibleNL = false
    state.tableData.营养师指导建议.透析饮食指导.能量=nlValue.value
}
const Edit1=(mode)=>{
    state.innerVisible=true
    state.modeType=mode
@@ -800,12 +1203,8 @@
const funhui = () => {
    state.dialogTableVisible = false
}
// 打印
const onPrint = () => {
}
const generatePDF = () => {
    const element = document.getElementById('printFrom1');
    const element = document.getElementById('fanganprintFrom1');
    const opt = {
        margin: 0,
        filename: `${state.tableData.表名}.pdf`,
@@ -977,46 +1376,25 @@
    const from1 = await getFrom1()
    const from2 = await getFrom2()
    const from3 = await getFrom3()
    if (from1.data.list.length >= 1) {
        const from1Json = JSON.parse(from1.data.list[0].surveryJsonBody)
        console.log(from1Json)
        state.tableData.食物过敏原= from1Json.过敏食物.type.join()
        state.tableData.胃肠功能状况=from1Json.胃肠道紊乱者.input1
        state.tableData.生活习惯.大小便=from1Json.排便情况.input1
        state.tableData.生活习惯.睡眠=from1Json.睡眠.input1
        state.tableData.生活习惯.吞咽咀嚼功能=''
        state.tableData.生活习惯.烟酒=from1Json.是否吸烟.type+''+from1Json.是否饮酒.type
        state.tableData.生活习惯.运动=from1Json.运动.input1
        state.tableData.透析日.早餐=from1Json.三天饮食记录表.透析日1.早餐
        state.tableData.透析日.早加餐=from1Json.三天饮食记录表.透析日1.加餐1
        state.tableData.透析日.午餐=from1Json.三天饮食记录表.透析日1.午餐
        state.tableData.透析日.午加餐=from1Json.三天饮食记录表.透析日1.加餐2
        state.tableData.透析日.晚餐=from1Json.三天饮食记录表.透析日1.晚餐
        state.tableData.非透析日.早餐=from1Json.三天饮食记录表.非透析日.早餐
        state.tableData.非透析日.早加餐=from1Json.三天饮食记录表.非透析日.加餐1
        state.tableData.非透析日.午餐=from1Json.三天饮食记录表.非透析日.午餐
        state.tableData.非透析日.午加餐=from1Json.三天饮食记录表.非透析日.加餐2
        state.tableData.非透析日.晚餐=from1Json.三天饮食记录表.非透析日.晚餐
    }
    if (from2.data.list.length >= 1) {
        const from2Json = JSON.parse(from2.data.list[0].surveryJsonBody)
        console.log(from2Json)
        state.tableData.营养筛查评估.营养风险筛查结果=from2Json.结果
        state.tableData.营养筛查评估.营养风险筛查结果=from2Json.表名+ ' 评估得分:'+from2Json.结果?.value+', 评估结果:'+from2Json.结果?.label
    }
    if (from3.data.list.length >= 1) {
        const from3Json = JSON.parse(from3.data.list[0].surveryJsonBody)
        state.tableData.营养筛查评估.营养评估结果=from3Json.结果
        state.tableData.营养筛查评估.营养评估结果=from3Json.表名+ ' 评估得分:'+from3Json.结果?.value+', 评估结果:'+from3Json.结果?.label
        console.log(from3Json)
    }
}
// 获取最近的一次体重
const getPatDatas= ()=>{
     getPatData({ patCode: patientsInfo.value.code }).then(res=>{
        if(res.data?.上一次透前体重){
            state.最近一次体重=res.data?.上一次透前体重
        }
     })
}
// 获取膳食调查表
const getFrom1 = async () => {
@@ -1026,7 +1404,7 @@
        wherecondition: `survery_form_type=0 and patient_code='${patientsInfo.value.code}'`,
        ordercondition: 'survery_time desc'
    }
    pasm.wherecondition += "and suvery_form_name='膳食调查表'"
    pasm.wherecondition += "and suvery_form_name='膳食生活调查表'"
    const yinyangbiaodan1 = await list(pasm)
    return yinyangbiaodan1
}
@@ -1038,7 +1416,7 @@
        wherecondition: `survery_form_type=1 and patient_code='${patientsInfo.value.code}'`,
        ordercondition: 'survery_time desc'
    }
    pasm.wherecondition += "and suvery_form_name='NRS2002'"
    pasm.wherecondition += "and suvery_form_name='NRS-2002'"
    const yinyangbiaodan1 = await list(pasm)
    return yinyangbiaodan1
}
@@ -1050,7 +1428,7 @@
        wherecondition: `survery_form_type=1 and patient_code='${patientsInfo.value.code}'`,
        ordercondition: 'survery_time desc'
    }
    pasm.wherecondition += "and suvery_form_name='GNRI'"
    pasm.wherecondition += "and suvery_form_name='SGA'"
    const yinyangbiaodan1 = await list(pasm)
    return yinyangbiaodan1
}
@@ -1063,6 +1441,8 @@
// 打开查看或者编辑明细
const openShow = (type: string, mode: tiaochabiaoInfo) => {
    console.log(type)
    console.log(patientsInfo.value)
    getPatDatas()
    if (type === 'add') {
        getPageInfo()
        state.dialogTableVisible = true
@@ -1088,7 +1468,6 @@
<style scoped lang="scss">
.gridtable {
    font-family: verdana, arial, sans-serif;
    font-size: 11px;
    color: #333333;
    border-width: 1px;
    border-color: #666666;
@@ -1114,7 +1493,9 @@
.htr {
    background-color: rgb(250, 236, 216);
    min-width: 120px;
    font-weight: 800;
    text-align: left;
}
@@ -1137,4 +1518,19 @@
    page-break-after: always;
  }
}
@page {
    margin: 0;
}
@media print {
    * {
        background: transparent !important;
        color: black !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }
    body, table, td, th {
        font-size: 10pt !important;
    }
}
</style>