| | |
| | | <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="printFrom1"> |
| | | <div> |
| | | <el-form size="small"> |
| | | <div style="width: 100%"> |
| | |
| | | <th colspan="2"> |
| | | <el-form-item label="初次调查日期"> |
| | | <el-date-picker v-model="state.tableData.初次调查日期" type="date" style="width: 100px;" |
| | | placeholder="" format="YYYY/MM/DD" value-format="YYYY-MM-DD" /> |
| | | placeholder="" readonly format="YYYY/MM/DD" value-format="YYYY-MM-DD" /> |
| | | </el-form-item> |
| | | |
| | | </th> |
| | | <th colspan="2"> |
| | | <el-form-item label="更新日期"> |
| | | <el-date-picker v-model="state.tableData.更新日期" type="date" style="width: 100px;" |
| | | placeholder="" format="YYYY/MM/DD" value-format="YYYY-MM-DD" /> |
| | | placeholder="" readonly format="YYYY/MM/DD" value-format="YYYY-MM-DD" /> |
| | | </el-form-item> |
| | | |
| | | |
| | | </th> |
| | | <th colspan="2">记录者:{{ state.tableData.记录者 }}</th> |
| | | <th colspan="2"> |
| | | <el-form-item label="记录者"> |
| | | <el-input readonly v-model="state.tableData.记录者" placeholder="" /> |
| | | </el-form-item> |
| | | |
| | | </th> |
| | | |
| | | </tr> |
| | | |
| | |
| | | |
| | | <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="独居">A:独居</el-radio> |
| | | <el-radio value="家族">B:家族</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | |
| | |
| | | <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 colspan="3"> |
| | | <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> |
| | | |
| | |
| | | </tr> |
| | | <tr> |
| | | <td> |
| | | 3.食物偏好 |
| | | 4.食物偏好 |
| | | </td> |
| | | <td colspan="3"> |
| | | <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="有">A:有</el-radio> |
| | | <el-radio value="无">B:无</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | |
| | |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="6"> |
| | | <td colspan="6"> |
| | | 5.三天饮食记录表(食材、份量) |
| | | </td> |
| | | </tr> |
| | |
| | | <td colspan="3"> |
| | | <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="有">A:有</el-radio> |
| | | <el-radio value="无">B:无</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | |
| | |
| | | <td> |
| | | 8.每日饮水量、种类 |
| | | </td> |
| | | <td colspan="2"> |
| | | <td colspan="5"> |
| | | <el-form-item> |
| | | <el-input v-model="state.tableData.每日饮水量种类.input1" type="textarea" |
| | | :autosize="{ minRows: 1, maxRows: 6 }" placeholder="" /> |
| | | <span> |
| | | <el-input v-model="state.tableData.每日饮水量种类.input1" placeholder="饮水量 " > |
| | | <template #append>ml/d</template> |
| | | </el-input> |
| | | </span> |
| | | |
| | | <el-radio-group class="elradiozdi" |
| | | 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="奶茶">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-radio-group> |
| | | </el-form-item> |
| | | |
| | | </td> |
| | | |
| | | |
| | | </tr> |
| | | <tr> |
| | | <td> |
| | | 9.睡眠 |
| | | </td> |
| | | <td colspan="2"> |
| | | <el-form-item> |
| | | |
| | | <el-input v-model="state.tableData.睡眠.input1" type="textarea" |
| | | :autosize="{ minRows: 1, maxRows: 6 }" placeholder="备注" /> |
| | | </el-form-item> |
| | | </td> |
| | | |
| | | <td colspan="3"> |
| | | |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td> |
| | |
| | | </td> |
| | | <td colspan="2"> |
| | | <el-form-item> |
| | | <el-radio-group class="elradiozdi" v-model="state.tableData.运动.type"> |
| | | |
| | | <el-radio value="无">B:无</el-radio> |
| | | <el-radio value="有">A:有</el-radio> |
| | | </el-radio-group> |
| | | <span> |
| | | <el-input v-model="state.tableData.运动.input1" type="textarea" |
| | | :autosize="{ minRows: 1, maxRows: 6 }" placeholder="备注" /> |
| | | </span> |
| | | </el-form-item> |
| | | </td> |
| | | <td> |
| | |
| | | </td> |
| | | <td colspan="2"> |
| | | <el-form-item> |
| | | <el-input v-model="state.tableData.是否吸烟.input1" type="textarea" |
| | | <el-radio-group class="elradiozdi" v-model="state.tableData.是否吸烟.type"> |
| | | |
| | | <el-radio value="无">B:无</el-radio> |
| | | <el-radio value="有">A:有</el-radio> |
| | | </el-radio-group> |
| | | <span> |
| | | <el-input v-model="state.tableData.是否吸烟.input1" type="textarea" |
| | | :autosize="{ minRows: 1, maxRows: 6 }" placeholder="备注" /> |
| | | </span> |
| | | |
| | | </el-form-item> |
| | | </td> |
| | | <td> |
| | |
| | | </td> |
| | | <td colspan="2"> |
| | | <el-form-item> |
| | | <el-input v-model="state.tableData.是否饮酒.input1" type="textarea" |
| | | <el-radio-group class="elradiozdi" v-model="state.tableData.是否饮酒.type"> |
| | | |
| | | <el-radio value="无">B:无</el-radio> |
| | | <el-radio value="有">A:有</el-radio> |
| | | </el-radio-group> |
| | | <span> |
| | | <el-input v-model="state.tableData.是否饮酒.input1" type="textarea" |
| | | :autosize="{ minRows: 1, maxRows: 6 }" placeholder="备注" /> |
| | | </span> |
| | | |
| | | </el-form-item> |
| | | </td> |
| | | </tr> |
| | |
| | | <td colspan="3"> |
| | | <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="有">A:否</el-radio> |
| | | <el-radio value="是">B:是</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | |
| | |
| | | <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="否">A:否</el-radio> |
| | | <el-radio value="是">B:是</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | |
| | |
| | | </td> |
| | | <td colspan="3"> |
| | | <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-group> |
| | | <el-checkbox-group class="elradiozdi" 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="牛奶">D:牛奶</el-checkbox> |
| | | <el-checkbox value="其他">E:其他</el-checkbox> |
| | | </el-checkbox-group> |
| | | |
| | | </el-form-item> |
| | | |
| | | </td> |
| | |
| | | <td colspan="3"> |
| | | <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="否">A:否</el-radio> |
| | | <el-radio value="是">B:是</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | |
| | |
| | | <td> |
| | | 过敏症状表现为以下哪些 |
| | | </td> |
| | | <td colspan="3"> |
| | | <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">B:是</el-radio> |
| | | <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 disabled value="其他(吞咽困难等)">E: |
| | | <el-input v-model="state.tableData.过敏症状表现为以下哪些.input1" |
| | | placeholder="其他(吞咽困难等)" /> |
| | | </el-checkbox> |
| | | </el-radio-group> |
| | | |
| | | </el-form-item> |
| | | |
| | | </td> |
| | | <td colspan="2"> |
| | | <!-- <td colspan="2"> |
| | | <el-form-item> |
| | | <el-input v-model="state.tableData.过敏症状表现为以下哪些.input1" type="textarea" |
| | | :autosize="{ minRows: 1, maxRows: 6 }" placeholder="备注" /> |
| | | </el-form-item> |
| | | </td> |
| | | </td> --> |
| | | </tr> |
| | | <tr> |
| | | <td> |
| | | 您是如何知道自己食物过敏 |
| | | </td> |
| | | <td colspan="3"> |
| | | <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">B:是</el-radio> |
| | | <el-radio value="自行判断">A:自行判断</el-radio> |
| | | <el-radio value="医生">B:医生</el-radio> |
| | | <el-radio disabled value="其他形式">C: |
| | | <el-input v-model="state.tableData.您是如何知道自己食物过敏.input1" |
| | | placeholder="其他形式" /> |
| | | </el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | |
| | | </td> |
| | | <td colspan="2"> |
| | | <el-form-item> |
| | | <el-input v-model="state.tableData.您是如何知道自己食物过敏.input1" type="textarea" |
| | | :autosize="{ minRows: 1, maxRows: 6 }" placeholder="备注" /> |
| | | </el-form-item> |
| | | </td> |
| | | |
| | | </tr> |
| | | <tr> |
| | | <td> |
| | | 备注 |
| | | <td style="background-color: antiquewhite;"> |
| | | 饮食指导建议 |
| | | </td> |
| | | |
| | | <td colspan="5"> |
| | | <td colspan="5" style="background-color: antiquewhite;"> |
| | | <el-form-item> |
| | | <el-input v-model="state.tableData.备注.input1" type="textarea" |
| | | :autosize="{ minRows: 1, maxRows: 6 }" placeholder="备注" /> |
| | | :autosize="{ minRows: 2, maxRows: 6 }" placeholder="饮食指导建议" /> |
| | | </el-form-item> |
| | | </td> |
| | | </tr> |
| | |
| | | <el-button type="primary" @click="onSubmit"> |
| | | 保存 |
| | | </el-button> |
| | | <el-button v-if="state.viewInfo.id" type="primary" v-print="'#printFrom1'"> |
| | | <el-icon><Printer /></el-icon> |
| | | 打印 |
| | | </el-button> |
| | | <el-button type="primary" v-if="state.viewInfo.id" @click="generatePDF"> |
| | | <el-icon><Position /></el-icon> |
| | | 导出 |
| | | </el-button> |
| | | |
| | | </div> |
| | | </template> |
| | | </el-dialog> |
| | |
| | | </template> |
| | | |
| | | <script setup lang="ts" name="visualizingLinkDemo2"> |
| | | import html2pdf from 'html2pdf.js'; |
| | | import { reactive, onMounted, onUnmounted, ref } from 'vue'; |
| | | import { formatDate } from '/@/utils/formatTime'; |
| | | import { NextLoading } from '/@/utils/loading'; |
| | |
| | | 是否饮酒:{ type: '',input1: ''}, |
| | | 易过敏体质: {type: '', input1: '',}, |
| | | 胃肠道紊乱者: {type: '', input1: '',}, |
| | | 过敏食物: {type: '', input1: '',}, |
| | | 过敏食物: {type: [], input1: '',}, |
| | | 宗教信仰: {type: '', input1: '',}, |
| | | 过敏症状表现为以下哪些: {type: '', input1: '',}, |
| | | 您是如何知道自己食物过敏: {type: '', input1: '',}, |
| | |
| | | surveryPerson: userInfos.value.code, |
| | | surveryJsonBody: '', |
| | | suveryFormName:'膳食调查表', |
| | | surveryFormType:0, |
| | | updateTime: '' |
| | | } |
| | | |
| | |
| | | const funhui=()=>{ |
| | | state.dialogTableVisible=false |
| | | } |
| | | // 打印 |
| | | const onPrint=()=>{ |
| | | |
| | | } |
| | | const generatePDF=()=> { |
| | | const element = document.getElementById('printFrom1'); |
| | | 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!') |
| | | console.log(state.tableData) |
| | | const info:tiaochabiaoInfo={ |
| | | id: state.viewInfo.id, |
| | | surveryFormType:0, |
| | | code: state.viewInfo.code, |
| | | clientCode: userInfos.value.clientCode, |
| | | patientCode: patientsInfo.value.code, |
| | |
| | | surveryPerson: userInfos.value.code, |
| | | surveryJsonBody: JSON.stringify(state.tableData), |
| | | suveryFormName:'膳食调查表', |
| | | updateTime: '' |
| | | updateTime: formatDate(new Date(), 'YYYY-mm-dd HH:MM:SS') |
| | | } |
| | | console.log(info) |
| | | if(info.id===0){ |
| | |
| | | } |
| | | |
| | | } |
| | | const getPageInfo=()=>{ |
| | | state.tableData={ |
| | | 表名: '膳食调查表', |
| | | 初次调查日期: formatDate(new Date(),'YYYY-mm-dd'), |
| | | 填表日期: '', |
| | | 更新日期: formatDate(new Date(),'YYYY-mm-dd'), |
| | | 记录者: userInfos.value.userName, |
| | | 人员构成: { |
| | | type: '', //只能选择独居或者家庭 |
| | | input1: '', |
| | | }, |
| | | 烹饪主要操作者: { |
| | | type: '', |
| | | input1: '', |
| | | }, |
| | | 食材采购: { |
| | | type: '', |
| | | input1: '', |
| | | }, |
| | | 食物偏好: { |
| | | type: '', |
| | | input1: '', |
| | | }, |
| | | 三天饮食记录表:{ |
| | | 透析日1:{日期:'',早餐:'',加餐1:'',午餐:"",加餐2:'',晚餐:''}, |
| | | 非透析日:{日期:'',早餐:'',加餐1:'',午餐:"",加餐2:'',晚餐:''}, |
| | | 透析日2:{日期:'',早餐:'',加餐1:'',午餐:"",加餐2:'',晚餐:''} |
| | | }, |
| | | 外吃:{ |
| | | type: '', |
| | | input1: '', |
| | | }, |
| | | 每日饮水量种类:{ |
| | | type: '', |
| | | input1: '', |
| | | }, |
| | | 日常调味料使用种类:{ |
| | | type: '', |
| | | input1: '', |
| | | }, |
| | | 睡眠:{ |
| | | type: '', |
| | | input1: '', |
| | | }, |
| | | 运动:{ type: '',input1: ''}, |
| | | 排便情况:{ type: '',input1: ''}, |
| | | 是否吸烟:{ type: '',input1: ''}, |
| | | 是否饮酒:{ type: '',input1: ''}, |
| | | 易过敏体质: {type: '', input1: '',}, |
| | | 胃肠道紊乱者: {type: '', input1: '',}, |
| | | 过敏食物: {type: [], input1: '',}, |
| | | 宗教信仰: {type: '', input1: '',}, |
| | | 过敏症状表现为以下哪些: {type: '', input1: '',}, |
| | | 您是如何知道自己食物过敏: {type: '', input1: '',}, |
| | | 备注: {type: '', input1: ''}, |
| | | } |
| | | state.viewInfo={ |
| | | id: 0, |
| | | code: '', |
| | | clientCode: userInfos.value.clientCode, |
| | | patientCode: patientsInfo.value.code, |
| | | surveryTime: formatDate(new Date(), 'YYYY-mm-dd HH:MM:SS'), |
| | | surveryPerson: userInfos.value.code, |
| | | surveryJsonBody: '', |
| | | suveryFormName:'膳食调查表', |
| | | surveryFormType:0, |
| | | updateTime: '' |
| | | } |
| | | } |
| | | |
| | | // 第一步:定义子组件里面的方法 |
| | | const getData = (str: string) => { |
| | | console.log("子组件获取显示数据!" + str); |
| | |
| | | const openShow = (type: string,mode:tiaochabiaoInfo) => { |
| | | console.log(type) |
| | | if(type==='add'){ |
| | | state.tableData.初次调查日期=formatDate(new Date(),'YYYY-mm-dd') |
| | | state.tableData.更新日期=formatDate(new Date(),'YYYY-mm-dd') |
| | | state.tableData.记录者=userInfos.value.userName |
| | | getPageInfo() |
| | | state.dialogTableVisible = true |
| | | } |
| | | else if(type==='update'){ |
| | | console.log(mode) |
| | | state.viewInfo=mode |
| | | state.tableData=JSON.parse(mode.surveryJsonBody) |
| | | state.tableData.初次调查日期=mode.surveryTime |
| | | state.tableData.更新日期=mode.updateTime |
| | | state.dialogTableVisible = true |
| | | |
| | | |