chenyc
2025-02-06 1098bd55e0916fee18bc7091f182d7a3b8c0520b
src/views/home/components/editDietary2.vue
@@ -2,7 +2,7 @@
    <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>
                <div id='printFrom2'>
                    <div>
                        <el-form size="small">
                            <div style="width: 100%">
@@ -42,31 +42,30 @@
                                            1.常吃的主食
                                        </td>
                                        <td colspan="5">
                                            <el-form :inline="true" size="small" >
                                                <el-form-item>
                                                    <el-radio-group class="elradiozdi"
                                            <el-form-item>
                                                    <el-radio-group
                                                        v-model="state.tableData.常吃的主食.type">
                                                        <el-checkbox value="A">A.精米面类</el-checkbox>
                                                        <el-checkbox value="B">B.杂豆类</el-checkbox>
                                                        <el-checkbox value="C">C.粗粮</el-checkbox>
                                                        <el-checkbox value="D">B.薯类</el-checkbox>
                                                        <el-checkbox value="E">E.其它</el-checkbox>
                                                        <el-checkbox value="精米面类">A.精米面类</el-checkbox>
                                                        <el-checkbox value="杂豆类">B.杂豆类</el-checkbox>
                                                        <el-checkbox value="粗粮">C.粗粮</el-checkbox>
                                                        <el-checkbox value="薯类">B.薯类</el-checkbox>
                                                        <el-checkbox value="其它">E.其它</el-checkbox>
                                                    </el-radio-group>
                                                    <span>
                                                        <el-input v-model="state.tableData.常吃的主食.input1"
                                                            style="max-width: 150px" placeholder="">
                                                            <template #append>次/周</template>
                                                        </el-input>
                                                    </span>
                                                    <span>食用份量</span>
                                                    <span>
                                                        <el-input v-model="state.tableData.常吃的主食.input2"
                                                            style="max-width: 150px" placeholder="">
                                                            <template #append>g/天</template>
                                                        </el-input>
                                                    </span>
                                                </el-form-item>
                                                <el-form-item label="食用频率">
                                                    <el-input v-model="state.tableData.常吃的主食.input1"
                                                        style="max-width: 150px" placeholder="">
                                                        <template #append>次/周</template>
                                                    </el-input>
                                                </el-form-item>
                                                <el-form-item label="食用份量">
                                                    <el-input v-model="state.tableData.常吃的主食.input2"
                                                        style="max-width: 150px" placeholder="">
                                                        <template #append>g/天</template>
                                                    </el-input>
                                                </el-form-item>
                                            </el-form>
                                        </td>
                                    </tr>
@@ -75,15 +74,14 @@
                                            2.常吃的蔬菜
                                        </td>
                                        <td colspan="5">
                                            <el-form :inline="true" size="small" >
                                                <el-form-item>
                                                <el-radio-group class="elradiozdi" v-model="state.tableData.常吃的蔬菜.type">
                                                    <el-checkbox value="A">A.叶菜</el-checkbox>
                                                    <el-checkbox value="B">B.根茎类</el-checkbox>
                                                    <el-checkbox value="C">C.瓜茄</el-checkbox>
                                                    <el-checkbox value="D">B.鲜豆</el-checkbox>
                                                    <el-checkbox value="E">E.菌藻</el-checkbox>
                                                <el-radio-group  v-model="state.tableData.常吃的蔬菜.type">
                                                    <el-checkbox value="叶菜">A.叶菜</el-checkbox>
                                                    <el-checkbox value="根茎类">B.根茎类</el-checkbox>
                                                    <el-checkbox value="瓜茄">C.瓜茄</el-checkbox>
                                                    <el-checkbox value="鲜豆">B.鲜豆</el-checkbox>
                                                    <el-checkbox value="菌藻">E.菌藻</el-checkbox>
                                                </el-radio-group>
                                            </el-form-item>
    
@@ -113,9 +111,9 @@
                                            <el-form-item>
                                                <el-radio-group class="elradiozdi"
                                                    v-model="state.tableData.蔬菜日食用量.type">
                                                    <el-radio value="A">A.小于300g </el-radio>
                                                    <el-radio value="B">B.300g-500g</el-radio>
                                                    <el-radio value="C">C.大于500g</el-radio>
                                                    <el-radio value="<300g">A.< 300g </el-radio>
                                                    <el-radio value="300g-500g">B.300g-500g</el-radio>
                                                    <el-radio value=">500g">C.> 500g</el-radio>
                                                </el-radio-group>
                                            </el-form-item>
@@ -149,11 +147,11 @@
                                        <td colspan="5">
                                            <el-form-item>
                                                <el-radio-group class="elradiozdi" v-model="state.tableData.常吃的肉类.type">
                                                    <el-checkbox value="A">A.畜产品</el-checkbox>
                                                    <el-checkbox value="B">B.禽产品</el-checkbox>
                                                    <el-checkbox value="C">C.水产品类</el-checkbox>
                                                    <el-checkbox value="D">D.蛋类</el-checkbox>
                                                    <el-checkbox value="E">E.其他</el-checkbox>
                                                    <el-checkbox value="畜产品">A.畜产品</el-checkbox>
                                                    <el-checkbox value="禽产品">B.禽产品</el-checkbox>
                                                    <el-checkbox value="水产品类">C.水产品类</el-checkbox>
                                                    <el-checkbox value="蛋类">D.蛋类</el-checkbox>
                                                    <el-checkbox value="其他">E.其他</el-checkbox>
                                                </el-radio-group>
                                            </el-form-item>
@@ -185,12 +183,12 @@
                                        <td colspan="5">
                                            <el-form-item>
                                                <el-radio-group class="elradiozdi" v-model="state.tableData.常吃的肉类.type">
                                                    <el-checkbox value="A">A.大豆类,具体为:
                                                    <el-checkbox value="大豆类">A.大豆类,具体为:
                                                        <el-input v-model="state.tableData.常吃的大豆及其制品是.input1"
                                                            style="max-width: 100px" placeholder="" />
                                                    </el-checkbox>
                                                    <el-checkbox value="B">B.非发酵豆制品</el-checkbox>
                                                    <el-checkbox value="C">C.发酵豆制品</el-checkbox>
                                                    <el-checkbox value="非发酵豆制品">B.非发酵豆制品</el-checkbox>
                                                    <el-checkbox value="发酵豆制品">C.发酵豆制品</el-checkbox>
                                                </el-radio-group>
                                            </el-form-item>
@@ -251,17 +249,17 @@
                                                <el-radio-group class="elradiozdi"
                                                    v-model="state.tableData.每天食用奶类的量.type">
                                                    <el-radio value="A">A.液态奶 具体为:
                                                    <el-radio value="液态奶">A.液态奶 具体为:
                                                        <el-input v-model="state.tableData.每天食用奶类的量.input1"
                                                            style="max-width: 100px" placeholder="" />
                                                    </el-radio>
                                                    <el-radio value="B">B.酸奶</el-radio>
                                                    <el-radio value="C">C.奶粉 具体为:
                                                    <el-radio value="酸奶">B.酸奶</el-radio>
                                                    <el-radio value="奶粉">C.奶粉 具体为:
                                                        <el-input v-model="state.tableData.每天食用奶类的量.input2"
                                                            style="max-width: 100px" placeholder="" />
                                                    </el-radio>
                                                    <el-radio value="D">D.奶酪</el-radio>
                                                    <el-radio value="E">D.无</el-radio>
                                                    <el-radio value="奶酪">D.奶酪</el-radio>
                                                    <el-radio value="无">D.无</el-radio>
                                                </el-radio-group>
                                            </el-form-item>
@@ -322,11 +320,11 @@
                                            <el-form-item>
                                                <el-radio-group class="elradiozdi" v-model="state.tableData.烹饪油.type">
                                                    <el-checkbox value="A">A.植物油,具体是:
                                                    <el-checkbox value="植物油">A.植物油,具体是:
                                                        <el-input v-model="state.tableData.烹饪油.input1"
                                                            style="max-width: 100px" placeholder="" />
                                                    </el-checkbox>
                                                    <el-checkbox value="B">B.动物油,具体是:
                                                    <el-checkbox value="动物油">B.动物油,具体是:
                                                        <el-input v-model="state.tableData.烹饪油.input2"
                                                            style="max-width: 100px" placeholder="" />
                                                    </el-checkbox>
@@ -344,12 +342,12 @@
                                            <el-form-item>
                                                <el-radio-group class="elradiozdi"
                                                    v-model="state.tableData.经常使用的烹饪方法.type">
                                                    <el-checkbox value="A">A.煎炸</el-checkbox>
                                                    <el-checkbox value="B">B.烧煮</el-checkbox>
                                                    <el-checkbox value="C">C.炖煨</el-checkbox>
                                                    <el-checkbox value="D">D.滑炒</el-checkbox>
                                                    <el-checkbox value="E">E.熏烤</el-checkbox>
                                                    <el-checkbox value="F">F.其它:
                                                    <el-checkbox value="煎炸">A.煎炸</el-checkbox>
                                                    <el-checkbox value="烧煮">B.烧煮</el-checkbox>
                                                    <el-checkbox value="炖煨">C.炖煨</el-checkbox>
                                                    <el-checkbox value="滑炒">D.滑炒</el-checkbox>
                                                    <el-checkbox value="熏烤">E.熏烤</el-checkbox>
                                                    <el-checkbox value="其它">F.其它:
                                                        <el-input v-model="state.tableData.经常使用的烹饪方法.input1"
                                                            style="max-width: 100px" placeholder="" />
                                                    </el-checkbox>
@@ -367,17 +365,17 @@
                                            <el-form-item>
                                                <el-radio-group class="elradiozdi"
                                                    v-model="state.tableData.是否食用零食.type">
                                                    <el-checkbox value="A">A.烟熏食品</el-checkbox>
                                                    <el-checkbox value="B">B.油炸食品</el-checkbox>
                                                    <el-checkbox value="C">C.腌腊食品</el-checkbox>
                                                    <el-checkbox value="D">D.饼干</el-checkbox>
                                                    <el-checkbox value="E">E.膨化食品</el-checkbox>
                                                    <el-checkbox value="F">F.快餐</el-checkbox>
                                                    <el-checkbox value="G">G.方便面</el-checkbox>
                                                    <el-checkbox value="H">H.火腿肠</el-checkbox>
                                                    <el-checkbox value="I">I.碳酸饮料</el-checkbox>
                                                    <el-checkbox value="J">J.辛辣食品</el-checkbox>
                                                    <el-checkbox value="K">K.其它:
                                                    <el-checkbox value="烟熏食品">A.烟熏食品</el-checkbox>
                                                    <el-checkbox value="油炸食品">B.油炸食品</el-checkbox>
                                                    <el-checkbox value="腌腊食品">C.腌腊食品</el-checkbox>
                                                    <el-checkbox value="饼干">D.饼干</el-checkbox>
                                                    <el-checkbox value="膨化食品">E.膨化食品</el-checkbox>
                                                    <el-checkbox value="快餐">F.快餐</el-checkbox>
                                                    <el-checkbox value="方便面">G.方便面</el-checkbox>
                                                    <el-checkbox value="火腿肠">H.火腿肠</el-checkbox>
                                                    <el-checkbox value="碳酸饮料">I.碳酸饮料</el-checkbox>
                                                    <el-checkbox value="辛辣食品">J.辛辣食品</el-checkbox>
                                                    <el-checkbox value="其它">K.其它:
                                                        <el-input v-model="state.tableData.是否食用零食.input1"
                                                            style="max-width: 100px" placeholder="" />
                                                    </el-checkbox>
@@ -395,11 +393,11 @@
                                            <el-form-item>
                                                <el-radio-group class="elradiozdi"
                                                    v-model="state.tableData.三餐怎么安排.type">
                                                    <el-checkbox value="A">A.不吃</el-checkbox>
                                                    <el-checkbox value="B">B.在外面凑合吃</el-checkbox>
                                                    <el-checkbox value="C">C.在家中简单吃</el-checkbox>
                                                    <el-checkbox value="D">D.在家中吃得近丰盛</el-checkbox>
                                                    <el-checkbox value="F">F.其它:
                                                    <el-checkbox value="不吃">A.不吃</el-checkbox>
                                                    <el-checkbox value="在外面凑合吃">B.在外面凑合吃</el-checkbox>
                                                    <el-checkbox value="在家中简单吃">C.在家中简单吃</el-checkbox>
                                                    <el-checkbox value="在家中吃得近丰盛">D.在家中吃得近丰盛</el-checkbox>
                                                    <el-checkbox value="其它">F.其它:
                                                        <el-input v-model="state.tableData.三餐怎么安排.input1"
                                                            style="max-width: 100px" placeholder="" />
                                                    </el-checkbox>
@@ -418,11 +416,11 @@
                                            <el-form-item>
                                                <el-radio-group class="elradiozdi"
                                                    v-model="state.tableData.每日膳食搭配.type">
                                                    <el-radio value="A">A.以荤为主</el-radio>
                                                    <el-radio value="B">B.荤素各半</el-radio>
                                                    <el-radio value="C">C.以素为主</el-radio>
                                                    <el-radio value="D">D.不吃素菜</el-radio>
                                                    <el-radio value="E">E.全素食
                                                    <el-radio value="以荤为主">A.以荤为主</el-radio>
                                                    <el-radio value="荤素各半">B.荤素各半</el-radio>
                                                    <el-radio value="以素为">C.以素为主</el-radio>
                                                    <el-radio value="不吃素菜">D.不吃素菜</el-radio>
                                                    <el-radio value="全素食">E.全素食
                                                    </el-radio>
                                                </el-radio-group>
@@ -438,10 +436,10 @@
                                            <el-form-item>
                                                <el-radio-group class="elradiozdi"
                                                    v-model="state.tableData.一日三餐能按时.type">
                                                    <el-radio value="A">A.按时</el-radio>
                                                    <el-radio value="B">B.基本按时</el-radio>
                                                    <el-radio value="C">C.很难按时</el-radio>
                                                    <el-radio value="D">D.不按时</el-radio>
                                                    <el-radio value="按时">A.按时</el-radio>
                                                    <el-radio value="基本按时">B.基本按时</el-radio>
                                                    <el-radio value="很难按时">C.很难按时</el-radio>
                                                    <el-radio value="不按时">D.不按时</el-radio>
                                                </el-radio-group>
                                            </el-form-item>
@@ -456,9 +454,9 @@
                                            <el-form-item>
                                                <el-radio-group class="elradiozdi"
                                                    v-model="state.tableData.一日三餐中饮食结构最合理的是.type">
                                                    <el-radio value="A">A.早餐</el-radio>
                                                    <el-radio value="B">B.中餐</el-radio>
                                                    <el-radio value="C">C.晚餐</el-radio>
                                                    <el-radio value="早餐">A.早餐</el-radio>
                                                    <el-radio value="中餐">B.中餐</el-radio>
                                                    <el-radio value="晚餐">C.晚餐</el-radio>
                                                </el-radio-group>
                                            </el-form-item>
                                        </td>
@@ -471,8 +469,8 @@
                                        <td colspan="5">
                                            <el-form-item>
                                                <el-radio-group class="elradiozdi" v-model="state.tableData.是否加餐.type">
                                                    <el-radio value="A">A.是</el-radio>
                                                    <el-radio value="B">
                                                    <el-radio value="是">A.是</el-radio>
                                                    <el-radio value="否">
                                                        <el-form-item label="B.否">
                                                            <el-input v-model="state.tableData.是否加餐.input1"
                                                                style="max-width: 150px" placeholder="">
@@ -612,11 +610,11 @@
                                            <el-form-item>
                                                <el-radio-group class="elradiozdi"
                                                    v-model="state.tableData.每餐就餐时间.type">
                                                    <el-radio value="A">A.小于5分钟</el-radio>
                                                    <el-radio value="B">B.5-10分钟</el-radio>
                                                    <el-radio value="C">C.10-20分钟 </el-radio>
                                                    <el-radio value="D">D.20-30分钟 </el-radio>
                                                    <el-radio value="E">E.30分钟 </el-radio>
                                                    <el-radio value="小于5分钟">A.小于5分钟</el-radio>
                                                    <el-radio value="5-10分钟">B.5-10分钟</el-radio>
                                                    <el-radio value="10-20分钟">C.10-20分钟 </el-radio>
                                                    <el-radio value="20-30分钟">D.20-30分钟 </el-radio>
                                                    <el-radio value="30分钟">E.30分钟 </el-radio>
                                                </el-radio-group>
                                            </el-form-item>
                                        </td>
@@ -630,10 +628,10 @@
                                            <el-form-item>
                                                <el-radio-group class="elradiozdi"
                                                    v-model="state.tableData.你如何调节自己的饮食.type">
                                                    <el-radio value="A">A.随心所欲</el-radio>
                                                    <el-radio value="B">B.家人安排</el-radio>
                                                    <el-radio value="C">C.自己合理控制 </el-radio>
                                                    <el-radio value="D">D.仿照别人 </el-radio>
                                                    <el-radio value="随心所欲">A.随心所欲</el-radio>
                                                    <el-radio value="家人安排">B.家人安排</el-radio>
                                                    <el-radio value="自己合理控制">C.自己合理控制 </el-radio>
                                                    <el-radio value="仿照别人">D.仿照别人 </el-radio>
                                                </el-radio-group>
                                            </el-form-item>
                                        </td>
@@ -647,10 +645,10 @@
                                            <el-form-item>
                                                <el-radio-group class="elradiozdi"
                                                    v-model="state.tableData.你对合理膳食的基本要求知道多少.type">
                                                    <el-radio value="A">A.全知道</el-radio>
                                                    <el-radio value="B">B.基本知道</el-radio>
                                                    <el-radio value="C">C.知道较少 </el-radio>
                                                    <el-radio value="D">D.不了解 </el-radio>
                                                    <el-radio value="全知道">A.全知道</el-radio>
                                                    <el-radio value="基本知道">B.基本知道</el-radio>
                                                    <el-radio value="知道较少">C.知道较少 </el-radio>
                                                    <el-radio value="不了解">D.不了解 </el-radio>
                                                </el-radio-group>
                                            </el-form-item>
                                        </td>
@@ -682,6 +680,14 @@
                    <el-button type="primary" @click="onSubmit">
                        保存
                    </el-button>
                    <el-button v-if="state.viewInfo.id" type="primary" v-print="'#printFrom2'">
                        <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>
@@ -692,6 +698,7 @@
</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';
@@ -873,7 +880,7 @@
        surveryTime: formatDate(new Date(), 'YYYY-mm-dd HH:MM:SS'),
        surveryPerson: userInfos.value.code,
        surveryJsonBody: '',
        suveryFormName: '营养膳食调查表',
        suveryFormName: '膳食调查表',
        updateTime: ''
    }
@@ -881,6 +888,18 @@
const funhui = () => {
    state.dialogTableVisible = false
}
const generatePDF=()=> {
      const element = document.getElementById('printFrom2');
      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!')
@@ -893,9 +912,9 @@
        surveryTime: formatDate(new Date(), 'YYYY-mm-dd HH:MM:SS'),
        surveryPerson: userInfos.value.code,
        surveryJsonBody: JSON.stringify(state.tableData),
        suveryFormName: '营养膳食调查表',
        suveryFormName: '膳食调查表',
        surveryFormType: 0,
        updateTime: ''
        updateTime: formatDate(new Date(), 'YYYY-mm-dd HH:MM:SS'),
    }
    console.log(info)
    if (info.id === 0) {
@@ -931,6 +950,8 @@
        console.log(mode)
        state.viewInfo = mode
        state.tableData = JSON.parse(mode.surveryJsonBody)
        state.tableData.初次调查日期=mode.surveryTime
        state.tableData.更新日期=mode.updateTime
        state.dialogTableVisible = true
@@ -1090,6 +1111,18 @@
        作息时间: { type: '', input1: '', input2: '' },
        排便情况: { type: '', input1: '' },
    }
    state.viewInfo= {
        id: 0,
        code: '',
        surveryFormType: 0,
        clientCode: userInfos.value.clientCode,
        patientCode: patientsInfo.value.code,
        surveryTime: formatDate(new Date(), 'YYYY-mm-dd HH:MM:SS'),
        surveryPerson: userInfos.value.code,
        surveryJsonBody: '',
        suveryFormName: '膳食调查表',
        updateTime: ''
    }
}
// 第二步:暴露方法
@@ -1124,3 +1157,4 @@
    background-color: #ffffff;
}
</style>