From 05c827fea632f004821cc746ba73880769fab7cd Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期一, 14 七月 2025 10:06:43 +0800
Subject: [PATCH] gx1868 日期选择和排班患者查询条件,默认显示当天的已排班患者

---
 src/views/home/components/editDietary2.vue |  254 ++++++++++++++++++++++++++++++--------------------
 1 files changed, 154 insertions(+), 100 deletions(-)

diff --git a/src/views/home/components/editDietary2.vue b/src/views/home/components/editDietary2.vue
index fcb54c6..4fac9b0 100644
--- a/src/views/home/components/editDietary2.vue
+++ b/src/views/home/components/editDietary2.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>
+            <div style="width: 100%; height: 100%;overflow: auto;">
+                <div id='printMe'>
                     <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="'#printMe'">
+                        <el-icon><Printer /></el-icon>
+                        打印ddd
+                    </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('printMe');
+      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: ''
+    }
 }
 
 // 第二步:暴露方法
@@ -1098,6 +1131,26 @@
 
 
 <style scoped lang="scss">
+@media print {
+  body * {
+    visibility: hidden;
+  }
+  #printMe, #printMe * {
+    visibility: visible;
+  }
+  #printMe {
+    position: absolute;
+    top: 0;
+    left: 0;
+    width: 100%;
+    height: auto;
+  }
+
+  /* 控制分页 */
+  .page-break {
+    page-break-before: always;
+  }
+}
 .gridtable {
     font-family: verdana, arial, sans-serif;
     font-size: 11px;
@@ -1124,3 +1177,4 @@
     background-color: #ffffff;
 }
 </style>
+

--
Gitblit v1.8.0