From 901c277599e4abd4fc2f0cde8f9c2b853e779d5a Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期六, 14 九月 2024 12:42:59 +0800
Subject: [PATCH] 更新膳食调差
---
src/views/home/components/editDietary.vue | 683 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 683 insertions(+), 0 deletions(-)
diff --git a/src/views/home/components/editDietary.vue b/src/views/home/components/editDietary.vue
new file mode 100644
index 0000000..613df94
--- /dev/null
+++ b/src/views/home/components/editDietary.vue
@@ -0,0 +1,683 @@
+<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>
+ <el-form size="small">
+ <div style="width: 100%">
+ <table id="tabledome" class="gridtable">
+
+ <tr>
+ <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" />
+ </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" />
+ </el-form-item>
+
+
+ </th>
+ <th colspan="2">记录者:{{ state.tableData.记录者 }}</th>
+
+ </tr>
+
+ <tr>
+ <td>
+ 1.人员构成
+ </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-form-item>
+
+ </td>
+ <td colspan="2">
+ <el-form-item>
+ <el-input v-model="state.tableData.人员构成.input1" type="textarea"
+ :autosize="{ minRows: 1, maxRows: 6 }" placeholder="备注" />
+ <!-- <input type="text" v-model="state.tableData.人员构成.input1" class="input-underline" placeholder="备注" /> -->
+ </el-form-item>
+ </td>
+
+ </tr>
+ <tr>
+ <td>
+ 2.烹饪主要操作者
+ </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="C">C:其他</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>
+ 3.食材采购
+ </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="C">C:其他</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>
+ 3.食物偏好
+ </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-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 class="6">
+ 5.三天饮食记录表(食材、份量)
+ </td>
+ </tr>
+ <tr>
+ <td>
+ (非)透析日时间
+ </td>
+ <td>早餐</td>
+ <td>加餐</td>
+ <td>午餐</td>
+ <td>加餐</td>
+ <td>晚餐</td>
+ </tr>
+ <tr>
+ <td>
+ <el-form-item label="透析日一">
+ <el-date-picker v-model="state.tableData.三天饮食记录表.透析日1.日期" type="date" style="width: 100px;"
+ placeholder="" format="MM/DD" value-format="YYYY-MM-DD" />
+ </el-form-item>
+ </td>
+ <td>
+ <el-form-item>
+ <el-input v-model="state.tableData.三天饮食记录表.透析日1.早餐" placeholder="" />
+ </el-form-item>
+ </td>
+ <td>
+ <el-form-item>
+ <el-input v-model="state.tableData.三天饮食记录表.透析日1.加餐1" placeholder="" />
+ </el-form-item>
+ </td>
+ <td>
+ <el-form-item>
+ <el-input v-model="state.tableData.三天饮食记录表.透析日1.午餐" placeholder="" />
+ </el-form-item>
+ </td>
+ <td>
+ <el-form-item>
+ <el-input v-model="state.tableData.三天饮食记录表.透析日1.加餐2" placeholder="" />
+ </el-form-item>
+ </td>
+ <td><el-form-item>
+ <el-input v-model="state.tableData.三天饮食记录表.透析日1.晚餐" placeholder="" />
+ </el-form-item>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <el-form-item label="非透析日">
+ <el-date-picker v-model="state.tableData.三天饮食记录表.非透析日.日期" type="date" style="width: 100px;"
+ placeholder="" format="MM/DD" value-format="YYYY-MM-DD" />
+ </el-form-item>
+ </td>
+ <td>
+ <el-form-item>
+ <el-input v-model="state.tableData.三天饮食记录表.非透析日.早餐" placeholder="" />
+ </el-form-item>
+ </td>
+ <td>
+ <el-form-item>
+ <el-input v-model="state.tableData.三天饮食记录表.非透析日.加餐1" placeholder="" />
+ </el-form-item>
+ </td>
+ <td>
+ <el-form-item>
+ <el-input v-model="state.tableData.三天饮食记录表.非透析日.午餐" placeholder="" />
+ </el-form-item>
+ </td>
+ <td>
+ <el-form-item>
+ <el-input v-model="state.tableData.三天饮食记录表.非透析日.加餐2" placeholder="" />
+ </el-form-item>
+ </td>
+ <td><el-form-item>
+ <el-input v-model="state.tableData.三天饮食记录表.非透析日.晚餐" placeholder="" />
+ </el-form-item>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <el-form-item label="透析日二">
+ <el-date-picker v-model="state.tableData.三天饮食记录表.透析日2.日期" type="date" style="width: 100px;"
+ placeholder="" format="MM/DD" value-format="YYYY-MM-DD" />
+ </el-form-item>
+ </td>
+ <td>
+ <el-form-item>
+ <el-input v-model="state.tableData.三天饮食记录表.透析日2.早餐" placeholder="" />
+ </el-form-item>
+ </td>
+ <td>
+ <el-form-item>
+ <el-input v-model="state.tableData.三天饮食记录表.透析日2.加餐1" placeholder="" />
+ </el-form-item>
+ </td>
+ <td>
+ <el-form-item>
+ <el-input v-model="state.tableData.三天饮食记录表.透析日2.午餐" placeholder="" />
+ </el-form-item>
+ </td>
+ <td>
+ <el-form-item>
+ <el-input v-model="state.tableData.三天饮食记录表.透析日2.加餐2" placeholder="" />
+ </el-form-item>
+ </td>
+ <td><el-form-item>
+ <el-input v-model="state.tableData.三天饮食记录表.透析日2.晚餐" placeholder="" />
+ </el-form-item>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ 6.外吃
+ </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-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>
+ 7.日常调味料使用种类
+ </td>
+ <td colspan="3">
+ <el-form-item>
+ <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-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>
+ 8.每日饮水量、种类
+ </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>
+ 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>
+
+ </tr>
+ <tr>
+ <td>
+ 10.运动
+ </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>
+ 11.排便情况
+ </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>
+ 12.是否吸烟?
+ </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>
+ 13.是否饮酒?
+ </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>
+ <th colspan="6">
+ 食物过敏调查表
+ </th>
+ </tr>
+ <tr>
+ <td>
+ 易过敏体质
+ </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-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>
+ <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-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>
+ <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-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>
+ <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-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>
+ <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-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>
+ <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-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>
+
+ <td colspan="5">
+ <el-form-item>
+ <el-input v-model="state.tableData.备注.input1" type="textarea"
+ :autosize="{ minRows: 1, maxRows: 6 }" placeholder="备注" />
+ </el-form-item>
+ </td>
+ </tr>
+
+
+
+
+ </table>
+ </div>
+ </el-form>
+ </div>
+
+ </div>
+ </div>
+ <template #footer>
+ <div class="dialog-footer" style="text-align: center">
+ <el-button @click="funhui">取消</el-button>
+ <el-button type="primary" @click="onSubmit">
+ 保存
+ </el-button>
+ </div>
+ </template>
+ </el-dialog>
+
+
+ </div>
+
+</template>
+
+<script setup lang="ts" name="visualizingLinkDemo2">
+import { reactive, onMounted, onUnmounted, ref } 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 {Add,update,deleteId,tiaochabiaoInfo} from '/@/api/tiaochabiao/index'
+import { storeToRefs } from 'pinia';
+import { useRoute,useRouter } from 'vue-router';
+import { ElMessage } from 'element-plus';
+const stores = useUserInfo();
+const { patientsInfo } = storeToRefs(storesPat);
+const { userInfos } = storeToRefs(stores);
+const router = useRouter()
+const emit = defineEmits([ "shuaxin" ]);
+const state = reactive({
+ dialogTableVisible:false,
+ tableData: {
+ 表名: '膳食调查表',
+ 初次调查日期:"",
+ 填表日期: '',
+ 更新日期: '',
+ 记录者: '陈银成',
+ 人员构成: {
+ 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: '',},
+
+
+ },
+ loading: false,
+ 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: '',
+ updateTime: ''
+ }
+
+})
+
+const funhui=()=>{
+ state.dialogTableVisible=false
+}
+const onSubmit = () => {
+ console.log('submit!')
+ console.log(state.tableData)
+ const info:tiaochabiaoInfo={
+ id: state.viewInfo.id,
+ code: state.viewInfo.code,
+ clientCode: userInfos.value.clientCode,
+ patientCode: patientsInfo.value.code,
+ surveryTime: formatDate(new Date(), 'YYYY-mm-dd HH:MM:SS'),
+ surveryPerson: userInfos.value.code,
+ surveryJsonBody: JSON.stringify(state.tableData),
+ updateTime: ''
+ }
+ console.log(info)
+ if(info.id===0){
+ Add(info).then(re=>{
+ console.log(re.data)
+ state.dialogTableVisible=false
+ emit('shuaxin')
+ })
+ }else if(info.id>0){
+ info.surveryTime=state.viewInfo.surveryTime
+ update(info).then(re=>{
+ console.log(re.data)
+ state.dialogTableVisible=false
+ emit('shuaxin')
+ })
+ }
+
+}
+// 第一步:定义子组件里面的方法
+const getData = (str: string) => {
+ console.log("子组件获取显示数据!" + str);
+ state.loading = true
+
+}
+// 打开查看或者编辑明细
+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
+ state.dialogTableVisible = true
+ }
+ else if(type==='update'){
+ console.log(mode)
+ state.viewInfo=mode
+ state.tableData=JSON.parse(mode.surveryJsonBody)
+ state.dialogTableVisible = true
+
+
+ }
+
+}
+
+// 第二步:暴露方法
+defineExpose({ getData, openShow })
+</script>
+
+
+<style scoped lang="scss">
+
+.gridtable {
+ font-family: verdana, arial, sans-serif;
+ font-size: 11px;
+ color: #333333;
+ border-width: 1px;
+ border-color: #666666;
+ border-collapse: collapse;
+
+}
+
+.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;
+ background-color: #ffffff;
+}
+
+</style>
--
Gitblit v1.8.0