<template>
|
<div class="dietarySurvey-item">
|
<el-dialog v-model="state.dialogTableVisible" title="膳食生活调查表" :fullscreen="true" width="100%">
|
<div style="width: 100%; height: 100%;overflow: auto;">
|
<div ref="printRef">
|
<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="" 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="" readonly format="YYYY/MM/DD" value-format="YYYY-MM-DD" />
|
</el-form-item>
|
|
|
</th>
|
<th colspan="2">
|
<el-form-item label="记录者">
|
<el-input readonly v-model="state.tableData.记录者" placeholder="" />
|
</el-form-item>
|
|
</th>
|
|
</tr>
|
|
<tr>
|
<td>
|
1.人员构成
|
</td>
|
<td colspan="3">
|
|
<el-radio-group class="elradiozdi" v-model="state.tableData.人员构成.type">
|
<el-radio value="独居">A:独居</el-radio>
|
<el-radio value="家族">B:家族 <input style="width: 50px;" v-model="state.tableData.人员构成.家族"/> 人 </el-radio>
|
<el-radio value="家庭">B:家庭 <input style="width: 50px;" v-model="state.tableData.人员构成.家庭"/> 人 </el-radio>
|
</el-radio-group>
|
|
</td>
|
<td colspan="2">
|
|
<el-input v-model="state.tableData.人员构成.备注" type="textarea"
|
:autosize="{ minRows: 1, maxRows: 6 }" placeholder="备注" />
|
</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:自己</el-radio>
|
<el-radio value="配偶">B:配偶</el-radio>
|
<el-radio value="其他">C:其他</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
|
</td>
|
|
<td colspan="2">
|
<el-form-item>
|
<el-input v-model="state.tableData.烹饪主要操作者.备注" 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:外采</el-radio>
|
<el-radio value="家种">B:家种</el-radio>
|
<el-radio value="其他">C:其他</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
|
</td>
|
<td colspan="2">
|
<el-form-item>
|
<el-input v-model="state.tableData.食材采购.备注" type="textarea"
|
:autosize="{ minRows: 1, maxRows: 6 }" placeholder="备注" />
|
</el-form-item>
|
</td>
|
</tr>
|
<tr>
|
<td>
|
4.食物偏好
|
</td>
|
<td colspan="3">
|
<el-form-item>
|
<el-radio-group class="elradiozdi" v-model="state.tableData.食物偏好.type">
|
<el-radio value="有">A:有</el-radio>
|
<el-radio value="无">B:无</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
|
</td>
|
<td colspan="2">
|
<el-form-item>
|
<el-input v-model="state.tableData.食物偏好.备注" type="textarea"
|
:autosize="{ minRows: 1, maxRows: 6 }" placeholder="备注" />
|
</el-form-item>
|
</td>
|
</tr>
|
<tr>
|
<td colspan="6">
|
饮食习惯调查
|
</td>
|
</tr>
|
<tr>
|
<td>
|
1.常吃的主食
|
</td>
|
<td colspan="5">
|
<el-form-item>
|
<el-checkbox-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-checkbox-group >
|
|
|
<span>食用份量</span>
|
<span>
|
<input :style="{width:state.tableData?.常吃的主食?.食用份量?.length?state.tableData?.常吃的主食?.食用份量?.length*15+'px':'50px'}" v-model="state.tableData.常吃的主食.食用份量"/> 克/天
|
|
</span>
|
|
|
<span>食用频次</span>
|
<input :style="{width:state.tableData?.常吃的主食?.食用频次?.length?state.tableData?.常吃的主食?.食用频次?.length*15+'px':'50px'}" v-model="state.tableData.常吃的主食.食用频次"/> 次/周
|
</el-form-item>
|
</td>
|
</tr>
|
<tr>
|
<td>
|
2.常吃的蔬菜
|
</td>
|
<td colspan="5">
|
<el-form-item>
|
<el-checkbox-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-checkbox-group >
|
<br/>
|
|
|
<span>食用份量</span>
|
<span>
|
<input :style="{width:state.tableData?.常吃的蔬菜?.食用份量?.length?state.tableData?.常吃的蔬菜?.食用份量?.length*15+'px':'50px'}" v-model="state.tableData.常吃的蔬菜.食用份量"/> 克/天
|
|
</span>
|
|
|
<span>食用频次</span>
|
<input :style="{width:state.tableData?.常吃的蔬菜?.食用频次?.length?state.tableData?.常吃的蔬菜?.食用频次?.length*15+'px':'50px'}" v-model="state.tableData.常吃的蔬菜.食用频次"/> 次/周
|
|
</el-form-item>
|
|
</td>
|
</tr>
|
<tr>
|
<td>
|
3.常吃的肉类
|
</td>
|
<td colspan="5">
|
|
<el-form-item>
|
<el-checkbox-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="蛋类">D.蛋类</el-checkbox>
|
<el-checkbox value="其他">E.其他</el-checkbox>
|
</el-checkbox-group>
|
|
|
<span>食用份量</span>
|
<span>
|
<input :style="{width:state.tableData?.常吃的肉类?.食用份量?.length?state.tableData?.常吃的肉类?.食用份量?.length*15+'px':'50px'}" v-model="state.tableData.常吃的肉类.食用份量"/> 克/天
|
|
</span>
|
|
|
<span>食用频次</span>
|
<input :style="{width:state.tableData?.常吃的肉类?.食用频次?.length?state.tableData?.常吃的肉类?.食用频次?.length*15+'px':'50px'}" v-model="state.tableData.常吃的肉类.食用频次"/> 次/周
|
|
</el-form-item>
|
|
</td>
|
</tr>
|
<tr>
|
<td>
|
4.常吃的水果
|
</td>
|
<td colspan="5">
|
<el-form-item>
|
<input style="width: 250px;" v-model="state.tableData.常吃的水果.input"/> ;
|
|
|
<span>食用份量</span>
|
<span>
|
<input :style="{width:state.tableData?.常吃的水果?.食用份量?.length?state.tableData?.常吃的水果?.食用份量?.length*15+'px':'50px'}" v-model="state.tableData.常吃的水果.食用份量"/> 克/天;
|
|
</span>
|
|
|
<span>食用频次</span>
|
<input :style="{width:state.tableData?.常吃的水果?.食用份量?.length?state.tableData?.常吃的水果?.食用频次?.length*15+'px':'50px'}" v-model="state.tableData.常吃的水果.食用频次"/> 次/周
|
|
</el-form-item>
|
</td>
|
</tr>
|
<tr>
|
<td>
|
5.常吃的大豆及其制品是
|
</td>
|
<td colspan="5">
|
|
<el-form-item>
|
<el-radio-group v-model="state.tableData.常吃的大豆及其制品是.type">
|
<el-checkbox value="大豆类">A.大豆类
|
|
<input style="width: 50px;" v-model="state.tableData.常吃的大豆及其制品是.大豆类"/> ;
|
</el-checkbox>
|
<el-checkbox value="非发酵豆制品">B.非发酵豆制品
|
<input style="width: 50px;" v-model="state.tableData.常吃的大豆及其制品是.非发酵豆制品"/> ;
|
</el-checkbox>
|
<el-checkbox value="发酵豆制品">C.发酵豆制品
|
<input style="width: 50px;" v-model="state.tableData.常吃的大豆及其制品是.发酵豆制品"/> ;
|
</el-checkbox>
|
</el-radio-group>
|
|
|
<span>食用份量</span>
|
<span>
|
<input :style="{width:state.tableData?.常吃的大豆及其制品是?.食用份量?.length?state.tableData?.常吃的大豆及其制品是?.食用份量?.length*15+'px':'50px'}" v-model="state.tableData.常吃的大豆及其制品是.食用份量"/> 克/天
|
</span>
|
|
|
<span>食用频次</span>
|
<input :style="{width:state.tableData?.常吃的大豆及其制品是?.食用频次?.length?state.tableData?.常吃的大豆及其制品是?.食用频次?.length*15+'px':'50px'}" v-model="state.tableData.常吃的大豆及其制品是.食用频次"/> 次/周
|
|
</el-form-item>
|
|
|
|
</td>
|
</tr>
|
<tr>
|
<td>
|
6.坚果摄入量
|
</td>
|
<td colspan="5">
|
|
<el-form-item>
|
<input style="width: 250px;" v-model="state.tableData.坚果摄入量.type"/> ;
|
|
|
<span>食用份量</span>
|
<span>
|
<input :style="{width:state.tableData?.坚果摄入量?.食用份量?.length?state.tableData?.坚果摄入量?.食用份量?.length*15+'px':'50px'}" v-model="state.tableData.坚果摄入量.食用份量"/> 克/天;
|
|
</span>
|
|
|
<span>食用频次</span>
|
<input :style="{width:state.tableData?.坚果摄入量?.食用频次?.length?state.tableData?.坚果摄入量?.食用频次?.length*15+'px':'50px'}" style="width: 50px;" v-model="state.tableData.坚果摄入量.食用频次"/> 次/周
|
|
</el-form-item>
|
|
|
|
</td>
|
</tr>
|
<tr>
|
<td>
|
7.奶类摄入量
|
</td>
|
<td colspan="5">
|
<el-form-item>
|
<el-radio-group class="elradiozdi"
|
v-model="state.tableData.奶类摄入量.type">
|
|
<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>
|
|
<span>食用份量</span>
|
<span>
|
<input :style="{width:state.tableData?.奶类摄入量?.食用份量?.length?state.tableData?.奶类摄入量?.食用份量?.length*15+'px':'50px'}" v-model="state.tableData.奶类摄入量.食用份量"/> 克/天
|
|
</span>
|
|
|
<span>食用频次</span>
|
<input :style="{width:state.tableData?.奶类摄入量?.食用频次?.length?state.tableData?.奶类摄入量?.食用频次?.length*15+'px':'50px'}" v-model="state.tableData.奶类摄入量.食用频次"/> 次/周
|
</el-form-item>
|
</td>
|
</tr>
|
<tr>
|
<td>
|
8.每日饮水量
|
</td>
|
<td colspan="5">
|
<el-form-item>
|
<el-radio-group class="elradiozdi"
|
v-model="state.tableData.每日饮水量.type">
|
<el-radio value="白开水">A.白开水
|
</el-radio>
|
<el-radio value="汤类">B.汤类
|
</el-radio>
|
</el-radio-group>
|
|
|
<span>食用份量</span>
|
<span>
|
<input style="width: 100px;" v-model="state.tableData.每日饮水量.食用份量"/> ml/d
|
|
</span>
|
|
|
<span>备注</span>
|
<span>
|
<input style="width: 250px;" v-model="state.tableData.每日饮水量.备注"/>
|
|
</span>
|
</el-form-item>
|
</td>
|
</tr>
|
<tr>
|
<td>
|
9.调味品
|
</td>
|
<td colspan="5">
|
<el-form-item>
|
<el-radio-group class="elradiozdi"
|
v-model="state.tableData.调味品.type">
|
<el-radio value="低钠盐">A.低钠盐
|
</el-radio>
|
<el-radio value="食用盐">B.食用盐
|
</el-radio>
|
</el-radio-group>
|
|
|
<span>钠含量</span>
|
<span>
|
<input style="width: 100px;" v-model="state.tableData.调味品.钠含量"/> mg/天
|
|
</span>
|
|
|
<span>调味品使用量</span>
|
<span>
|
<input style="width: 100px;" v-model="state.tableData.调味品.调味品使用量"/>mg/天
|
|
</span>
|
</el-form-item>
|
</td>
|
</tr>
|
<tr>
|
<td>
|
10.烹饪油
|
</td>
|
<td colspan="5">
|
<el-form-item>
|
<el-checkbox-group
|
v-model="state.tableData.烹饪油.type">
|
<el-checkbox value="植物油">A.植物油
|
<span>
|
<input style="width: 50px;" v-model="state.tableData.烹饪油.植物油.食用份量"/> g/天
|
</span>
|
<span>
|
<input style="width: 50px;" v-model="state.tableData.烹饪油.植物油.食用频次"/> 次/周
|
</span>
|
</el-checkbox>
|
<el-checkbox value="动物油">B.动物油
|
<span>
|
<input style="width: 50px;" v-model="state.tableData.烹饪油.动物油.食用份量"/> g/天
|
</span>
|
<span>
|
<input style="width: 50px;" v-model="state.tableData.烹饪油.动物油.食用频次"/> 次/周
|
</span>
|
</el-checkbox>
|
</el-checkbox-group>
|
|
</el-form-item>
|
</td>
|
</tr>
|
<tr>
|
<td>
|
11.烹饪方式
|
</td>
|
<td colspan="5">
|
<el-form-item>
|
<el-checkbox-group
|
v-model="state.tableData.烹饪方式.type">
|
<el-checkbox value="煎炸">A.煎炸
|
<span>
|
<input style="width: 50px;" v-model="state.tableData.烹饪方式.煎炸.食用频次"/> 次/周
|
</span>
|
</el-checkbox>
|
<el-checkbox value="烧煮">B.烧煮
|
<span>
|
<input style="width: 50px;" v-model="state.tableData.烹饪方式.烧煮.食用频次"/> 次/周
|
</span>
|
</el-checkbox>
|
<el-checkbox value="炖煨">C.炖煨
|
<span>
|
<input style="width: 50px;" v-model="state.tableData.烹饪方式.炖煨.食用频次"/> 次/周
|
</span>
|
</el-checkbox>
|
<el-checkbox value="熏烤">D.熏烤
|
<span>
|
<input style="width: 50px;" v-model="state.tableData.烹饪方式.熏烤.食用频次"/> 次/周
|
</span>
|
</el-checkbox>
|
</el-checkbox-group>
|
<!-- <span>
|
<input style="width: 200px;" v-model="state.tableData.烹饪方式.备注"/>
|
</span> -->
|
|
</el-form-item>
|
</td>
|
</tr>
|
<div class="page-break"></div>
|
<tr>
|
<td>
|
12.零食及其他
|
</td>
|
<td colspan="5">
|
<el-form-item>
|
<el-checkbox-group
|
v-model="state.tableData.零食及其他.type">
|
<el-checkbox value="火腿肠">火腿肠
|
</el-checkbox>
|
<el-checkbox value="烟熏食品">烟熏食品
|
</el-checkbox>
|
<el-checkbox value="膨化食品">膨化食品
|
</el-checkbox>
|
<el-checkbox value="油炸食品">油炸食品
|
</el-checkbox>
|
<el-checkbox value="方便面">方便面
|
</el-checkbox>
|
<el-checkbox value="腌腊食品">腌腊食品
|
</el-checkbox>
|
<el-checkbox value="饼干">饼干
|
</el-checkbox>
|
<el-checkbox value="辛辣食品">辛辣食品
|
</el-checkbox>
|
<el-checkbox value="碳酸饮料">碳酸饮料
|
</el-checkbox>
|
|
|
</el-checkbox-group>
|
<span>
|
<input style="width: 250px;" v-model="state.tableData.零食及其他.备注"/>
|
</span>
|
|
</el-form-item>
|
</td>
|
</tr>
|
<tr>
|
<td>
|
13.是否规律进餐
|
</td>
|
<td colspan="5">
|
<el-form-item>
|
<el-checkbox-group
|
v-model="state.tableData.是否规律进餐.type">
|
<el-checkbox value="一日三餐">一日三餐
|
</el-checkbox>
|
<el-checkbox value="一日两餐">一日两餐
|
</el-checkbox>
|
<el-checkbox value="一日多餐">一日多餐
|
</el-checkbox>
|
<el-checkbox value="定时定量">定时定量
|
</el-checkbox>
|
<el-checkbox value="很难按时">很难按时
|
</el-checkbox>
|
<el-checkbox value="不按时">不按时
|
</el-checkbox>
|
</el-checkbox-group>
|
<span>
|
<input style="width: 100px;" v-model="state.tableData.是否规律进餐.备注"/>
|
</span>
|
|
</el-form-item>
|
</td>
|
</tr>
|
<tr>
|
<td>
|
14.每餐就餐时间
|
</td>
|
<td colspan="5">
|
<el-form-item>
|
<el-radio-group
|
v-model="state.tableData.每餐就餐时间.type">
|
<el-radio value="小于5分钟">小于5分钟
|
</el-radio>
|
<el-radio value="5-10分钟">5-10分钟
|
</el-radio>
|
<el-radio value="10-20分钟">10-20分钟
|
</el-radio>
|
<el-radio value=">20分钟">>20分钟
|
</el-radio>
|
|
</el-radio-group>
|
|
<span>不确定</span>
|
<span>
|
<input style="width: 100px;" v-model="state.tableData.每餐就餐时间.备注"/>
|
</span>
|
|
</el-form-item>
|
</td>
|
</tr>
|
<tr>
|
<td>
|
15.三餐中饮食结构最合理的
|
</td>
|
<td colspan="5">
|
<el-form-item>
|
<el-radio-group
|
v-model="state.tableData.三餐中饮食结构最合理的.type">
|
<el-radio value="早餐">早餐
|
</el-radio>
|
<el-radio value="午餐">午餐
|
</el-radio>
|
<el-radio value="晚餐">晚餐
|
</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
</td>
|
</tr>
|
<tr>
|
<td>
|
16.加餐习惯
|
</td>
|
<td colspan="5">
|
<el-form-item>
|
<el-radio-group
|
v-model="state.tableData.加餐习惯.type">
|
<el-radio value="是">是
|
<span>
|
<input style="width: 50px;" v-model="state.tableData.加餐习惯.食用频次1"/> 次/天
|
</span>
|
<span>
|
<input style="width: 50px;" v-model="state.tableData.加餐习惯.食用频次2"/> 天/周
|
</span>
|
</el-radio>
|
<el-radio value="否">否
|
</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
</td>
|
</tr>
|
<tr>
|
<td>
|
17.你对合理的膳食基本要求知道多少
|
</td>
|
<td colspan="5">
|
<el-form-item>
|
<el-radio-group
|
v-model="state.tableData.你对合理的膳食基本要求知道多少.type">
|
<el-radio value="全知道">全知道
|
</el-radio>
|
<el-radio value="基本知道">基本知道
|
</el-radio>
|
<el-radio value="知道较少">知道较少
|
</el-radio>
|
<el-radio value="不理解">不理解
|
</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
</td>
|
</tr>
|
<tr>
|
<td>
|
18.你如何调节自己的饮食
|
</td>
|
<td colspan="5">
|
<el-form-item>
|
<el-radio-group
|
v-model="state.tableData.你如何调节自己的饮食.type">
|
<el-radio value="随心所欲">随心所欲
|
</el-radio>
|
<el-radio value="家人安排">家人安排
|
</el-radio>
|
<el-radio value="自己合理控制">自己合理控制
|
</el-radio>
|
<el-radio value="仿照别人">仿照别人
|
</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
</td>
|
</tr>
|
<tr>
|
<td colspan="6" style="background-color: antiquewhite;text-align:center;font-weight: 500;">
|
24小时饮食回顾记录
|
</td>
|
</tr>
|
<tr>
|
|
<td style="text-align: center;">早餐</td>
|
<td style="text-align: center;">加餐</td>
|
<td style="text-align: center;">午餐</td>
|
<td style="text-align: center;">加餐</td>
|
<td style="text-align: center;">晚餐</td>
|
<td style="text-align: center;">加餐</td>
|
</tr>
|
<tr>
|
<td>
|
<el-form-item>
|
<el-input type="textarea" :autosize="{ minRows: 2, maxRows: 6 }" v-model="state.tableData.二十四小时饮食回顾记录.早餐" placeholder="" />
|
</el-form-item>
|
</td>
|
<td>
|
<el-form-item>
|
<el-input type="textarea" :autosize="{ minRows: 2, maxRows: 6 }" v-model="state.tableData.二十四小时饮食回顾记录.早加餐" placeholder="" />
|
</el-form-item>
|
</td>
|
<td>
|
<el-form-item>
|
<el-input type="textarea" :autosize="{ minRows: 2, maxRows: 6 }" v-model="state.tableData.二十四小时饮食回顾记录.午餐" placeholder="" />
|
</el-form-item>
|
</td>
|
<td>
|
<el-form-item>
|
<el-input type="textarea" :autosize="{ minRows: 2, maxRows: 6 }" v-model="state.tableData.二十四小时饮食回顾记录.午加餐" placeholder="" />
|
</el-form-item>
|
</td>
|
<td>
|
<el-form-item>
|
<el-input type="textarea" :autosize="{ minRows: 2, maxRows: 6 }" v-model="state.tableData.二十四小时饮食回顾记录.晚餐" placeholder="" />
|
</el-form-item>
|
</td>
|
<td>
|
<el-form-item>
|
<el-input type="textarea" :autosize="{ minRows: 2, maxRows: 6 }" v-model="state.tableData.二十四小时饮食回顾记录.晚加餐" placeholder="" />
|
</el-form-item>
|
</td>
|
</tr>
|
<tr>
|
<td style="background-color: antiquewhite;">
|
饮食问题
|
</td>
|
<td style="background-color: antiquewhite;" colspan="5">
|
<el-form-item>
|
<el-input v-model="state.tableData.饮食问题" type="textarea"
|
:autosize="{ minRows: 1, maxRows: 6 }" placeholder="饮食问题" />
|
</el-form-item>
|
</td>
|
|
</tr>
|
<tr>
|
<td style="background-color: antiquewhite;">
|
饮食指导建议
|
</td>
|
<td colspan="5" style="background-color: antiquewhite;">
|
<el-form-item>
|
<el-input v-model="state.tableData.饮食指导建议" type="textarea"
|
:autosize="{ minRows: 1, maxRows: 6 }" placeholder="饮食指导建议" />
|
</el-form-item>
|
</td>
|
|
</tr>
|
<tr>
|
<td style="background-color: antiquewhite;">
|
执行反馈
|
</td>
|
<td style="background-color: antiquewhite;" colspan="5">
|
<el-form-item>
|
<el-input v-model="state.tableData.执行反馈" type="textarea"
|
:autosize="{ minRows: 1, maxRows: 6 }" placeholder="执行反馈" />
|
</el-form-item>
|
</td>
|
|
</tr>
|
<tr>
|
<td colspan="6">
|
个人生活习惯
|
</td>
|
</tr>
|
<tr>
|
<td>
|
吸烟习惯
|
</td>
|
<td colspan="5">
|
<el-form-item>
|
<el-radio-group
|
v-model="state.tableData.吸烟习惯.type">
|
<el-radio value="是">是
|
<span>
|
<input style="width: 50px;" v-model="state.tableData.吸烟习惯.食用频次1"/> 根/天
|
</span>
|
<span>
|
<input style="width: 50px;" v-model="state.tableData.吸烟习惯.食用频次2"/> 次/周
|
</span>
|
</el-radio>
|
<el-radio value="否">否
|
</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
</td>
|
</tr>
|
<tr>
|
<td>
|
饮酒习惯
|
</td>
|
<td colspan="5">
|
<el-form-item>
|
<el-radio-group
|
v-model="state.tableData.饮酒习惯.type">
|
<el-radio value="是">是
|
<span>
|
酒类
|
</span>
|
<span>
|
<input style="width: 200px;" v-model="state.tableData.饮酒习惯.备注"/>
|
</span>
|
食用频次:
|
<span>
|
<input style="width: 50px;" v-model="state.tableData.饮酒习惯.食用频次1"/> ml/天
|
</span>
|
<span>
|
<input style="width: 50px;" v-model="state.tableData.饮酒习惯.食用频次2"/> 次/周
|
</span>
|
</el-radio>
|
<el-radio value="否">否
|
</el-radio>
|
</el-radio-group>
|
|
</el-form-item>
|
</td>
|
</tr>
|
<tr>
|
<td>
|
运动习惯
|
</td>
|
<td colspan="5">
|
<el-form-item>
|
<span>运动类型</span>
|
<span>
|
<input style="width: 200px;" v-model="state.tableData.运动习惯.运动类型"/>
|
</span>
|
|
|
|
|
<span>
|
<input style="width: 200px;" v-model="state.tableData.运动习惯.运动时长"/> 分钟/每次
|
</span>
|
|
|
|
<span>
|
<input style="width: 200px;" v-model="state.tableData.运动习惯.运动频次"/> 次/每周
|
</span>
|
|
|
|
</el-form-item>
|
</td>
|
</tr>
|
<tr>
|
<td>
|
睡眠习惯
|
</td>
|
<td colspan="5">
|
<el-form-item>
|
<span>入睡时间</span>
|
<span>
|
<input style="width: 100px;" v-model="state.tableData.睡眠习惯.入睡时间"/>
|
</span>
|
|
|
|
<span>起床时间</span>
|
<span>
|
<input style="width: 100px;" v-model="state.tableData.睡眠习惯.起床时间"/>
|
</span>
|
|
|
|
<span>睡眠问题</span>
|
<span>
|
<input style="width: 200px;" v-model="state.tableData.睡眠习惯.睡眠问题"/>
|
</span>
|
|
|
|
<span>起床体感</span>
|
<span>
|
<input style="width: 200px;" v-model="state.tableData.睡眠习惯.起床体感"/>
|
</span>
|
|
|
|
</el-form-item>
|
</td>
|
</tr>
|
<tr>
|
<td>
|
排便情况
|
</td>
|
<td colspan="5">
|
<el-form-item>
|
<span>小便</span>
|
<span>
|
<input style="width: 50px;" v-model="state.tableData.排便情况.小便"/>ml
|
</span>
|
|
|
|
<span>大便</span>
|
<span>
|
<input style="width: 50px;" v-model="state.tableData.排便情况.大便.频次1"/>次/天
|
</span>
|
<span>
|
<input style="width: 50px;" v-model="state.tableData.排便情况.大便.频次2"/>次/周
|
</span>
|
|
|
|
<span>备注</span>
|
<span>
|
<input style="width: 200px;" v-model="state.tableData.排便情况.备注"/>
|
</span>
|
|
</el-form-item>
|
</td>
|
</tr>
|
<tr>
|
<td style="background-color: antiquewhite;" >
|
生活习惯问题
|
</td>
|
<td style="background-color: antiquewhite;" colspan="5">
|
<el-form-item>
|
<el-input v-model="state.tableData.生活习惯问题" type="textarea"
|
:autosize="{ minRows: 1, maxRows: 6 }" placeholder="生活习惯问题" />
|
</el-form-item>
|
</td>
|
</tr>
|
<tr>
|
<td style="background-color: antiquewhite;">
|
生活习惯指导建议
|
</td>
|
<td style="background-color: antiquewhite;" colspan="5">
|
<el-form-item>
|
<el-input v-model="state.tableData.生活习惯指导建议" type="textarea"
|
:autosize="{ minRows: 1, maxRows: 6 }" placeholder="生活习惯指导建议" />
|
</el-form-item>
|
</td>
|
</tr>
|
<tr>
|
<td style="background-color: antiquewhite;">
|
生活习惯执行反馈
|
</td>
|
<td style="background-color: antiquewhite;" colspan="5">
|
<el-form-item>
|
<el-input v-model="state.tableData.生活习惯执行反馈" 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>
|
<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-icon><Position /></el-icon>
|
导出
|
</el-button> -->
|
|
</div>
|
</template>
|
</el-dialog>
|
|
|
</div>
|
|
</template>
|
|
<script setup lang="ts" >
|
import html2pdf from 'html2pdf.js';
|
import printJs from 'print-js';
|
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,list,tiaochabiaoInfo} from '/@/api/tiaochabiao/index'
|
import { storeToRefs } from 'pinia';
|
import { useRoute,useRouter } from 'vue-router';
|
import { ElLoading, ElMessage } from 'element-plus';
|
const stores = useUserInfo();
|
const { patientsInfo } = storeToRefs(storesPat);
|
const { userInfos } = storeToRefs(stores);
|
const router = useRouter()
|
const emit = defineEmits([ "shuaxin" ]);
|
// 定义变量内容
|
const printRef = ref();
|
const state = reactive({
|
dialogTableVisible:false,
|
tableData: {
|
表名: '膳食生活调查表',
|
初次调查日期:"",
|
填表日期: '',
|
更新日期: '',
|
记录者: '陈银成',
|
人员构成: {
|
type: '', //只能选择独居或者家庭
|
家庭:'',
|
家族:'',
|
备注: '',
|
},
|
烹饪主要操作者: {
|
type: '',
|
备注: '',
|
},
|
食材采购: {
|
type: '',
|
备注: '',
|
},
|
食物偏好: {
|
type: '',
|
备注: '',
|
},
|
常吃的主食: {
|
type: [], //只能选择独居或者家庭
|
食用份量: '',
|
食用频次: '',
|
},
|
常吃的蔬菜: {
|
type: [],
|
食用份量: '',
|
食用频次: '',
|
},
|
常吃的肉类: {
|
type: [],
|
食用份量: '',
|
食用频次: ''
|
},
|
常吃的水果: {
|
食用份量: '',
|
食用频次: '',
|
input: ''
|
},
|
|
常吃的大豆及其制品是: {
|
type: '',
|
大豆类:'',
|
非发酵豆制品:'',
|
发酵豆制品:'',
|
食用份量: '',
|
食用频次: ''
|
},
|
坚果摄入量: {
|
type: '',
|
食用份量: '',
|
食用频次: ''
|
},
|
奶类摄入量: {
|
type: '',
|
食用份量: '',
|
食用频次: '',
|
},
|
每日饮水量: {
|
type: '',
|
食用份量: '',
|
备注:'',
|
},
|
调味品:{
|
type: '',
|
钠含量: '',
|
调味品使用量: '',
|
},
|
烹饪油:{
|
type: [],
|
动物油:{
|
食用份量: '',
|
食用频次: '',
|
},
|
植物油:{
|
食用份量: '',
|
食用频次: '',
|
},
|
|
},
|
烹饪方式:{
|
type: [],
|
备注:'',
|
煎炸:{
|
食用频次: '',
|
},
|
烧煮:{
|
食用频次: '',
|
},
|
熏烤:{
|
食用频次: '',
|
},
|
炖煨:{
|
食用频次: '',
|
}
|
},
|
零食及其他:{
|
type: [],
|
备注:'',
|
},
|
是否规律进餐:{
|
type: [],
|
备注:'',
|
},
|
每餐就餐时间:{
|
type: '',
|
备注:'',
|
},
|
三餐中饮食结构最合理的:{
|
type: '',
|
备注:'',
|
},
|
加餐习惯:{
|
type: '',
|
食用频次1:'',
|
食用频次2:'',
|
备注:'',
|
},
|
你对合理的膳食基本要求知道多少:{
|
type: '',
|
备注:'',
|
},
|
你如何调节自己的饮食:{
|
type: '',
|
备注:'',
|
},
|
二十四小时饮食回顾记录:{
|
早餐:'',早加餐:'',午餐:"",午加餐:'',晚餐:'',晚加餐:''
|
},
|
饮食问题:'',
|
饮食指导建议:'',
|
执行反馈:'',
|
吸烟习惯:{
|
type:'',
|
食用频次1:'',
|
食用频次2:'',
|
备注:""
|
},
|
饮酒习惯:{
|
type:'',
|
食用频次1:'',
|
食用频次2:'',
|
备注:""
|
},
|
运动习惯:{
|
type:'',
|
运动类型:'',
|
运动时长:'',
|
运动频次:""
|
},
|
睡眠习惯:{
|
type:'',
|
入睡时间:'',
|
起床时间:'',
|
睡眠问题:"",
|
起床体感:''
|
},
|
排便情况:{
|
type:'',
|
小便:'',
|
大便:{
|
频次1:'',
|
频次2:'',
|
},
|
备注:''
|
|
},
|
生活习惯问题:'',
|
生活习惯指导建议:'',
|
生活习惯执行反馈:'',
|
},
|
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: '',
|
suveryFormName:'膳食生活调查表',
|
surveryFormType:0,
|
updateTime: ''
|
}
|
|
})
|
|
const funhui=()=>{
|
state.dialogTableVisible=false
|
}
|
// 打印
|
const onPrint=()=>{
|
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{}}`,
|
});
|
}
|
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!')
|
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,
|
surveryTime: formatDate(new Date(), 'YYYY-mm-dd HH:MM:SS'),
|
surveryPerson: userInfos.value.code,
|
surveryJsonBody: JSON.stringify(state.tableData),
|
suveryFormName:'膳食生活调查表',
|
updateTime: formatDate(new Date(), 'YYYY-mm-dd HH:MM:SS')
|
}
|
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
|
console.log()
|
update(info).then(re=>{
|
console.log(re.data)
|
state.dialogTableVisible=false
|
emit('shuaxin')
|
})
|
}
|
|
}
|
const getPageInfo=()=>{
|
state.tableData={
|
表名: '膳食生活调查表',
|
初次调查日期: formatDate(new Date(),'YYYY-mm-dd'),
|
填表日期: '',
|
更新日期: formatDate(new Date(),'YYYY-mm-dd'),
|
记录者: userInfos.value.userName,
|
人员构成: {
|
type: '', //只能选择独居或者家庭
|
家庭:'',
|
家族:'',
|
备注: '',
|
},
|
烹饪主要操作者: {
|
type: '',
|
备注: '',
|
},
|
食材采购: {
|
type: '',
|
备注: '',
|
},
|
食物偏好: {
|
type: '',
|
备注: '',
|
},
|
常吃的主食: {
|
type: [], //只能选择独居或者家庭
|
食用份量: '',
|
食用频次: '',
|
},
|
常吃的蔬菜: {
|
type: [],
|
食用份量: '',
|
食用频次: '',
|
},
|
常吃的肉类: {
|
type: [],
|
食用份量: '',
|
食用频次: ''
|
},
|
常吃的水果: {
|
食用份量: '',
|
食用频次: '',
|
input: ''
|
},
|
常吃的大豆及其制品是: {
|
type: '',
|
大豆类:'',
|
非发酵豆制品:'',
|
发酵豆制品:'',
|
食用份量: '',
|
食用频次: ''
|
},
|
坚果摄入量: {
|
type: '',
|
食用份量: '',
|
食用频次: ''
|
},
|
奶类摄入量: {
|
type: '',
|
食用份量: '',
|
食用频次: '',
|
},
|
每日饮水量: {
|
type: '',
|
食用份量: '',
|
备注:'',
|
},
|
调味品:{
|
type: '',
|
钠含量: '',
|
调味品使用量: '',
|
},
|
烹饪油:{
|
type: [],
|
动物油:{
|
食用份量: '',
|
食用频次: '',
|
},
|
植物油:{
|
食用份量: '',
|
食用频次: '',
|
},
|
|
},
|
烹饪方式:{
|
type: [],
|
备注:'',
|
煎炸:{
|
食用频次: '',
|
},
|
烧煮:{
|
食用频次: '',
|
},
|
熏烤:{
|
食用频次: '',
|
},
|
炖煨:{
|
食用频次: '',
|
}
|
},
|
零食及其他:{
|
type: [],
|
备注:'',
|
},
|
是否规律进餐:{
|
type: [],
|
备注:'',
|
},
|
每餐就餐时间:{
|
type: '',
|
备注:'',
|
},
|
三餐中饮食结构最合理的:{
|
type: '',
|
备注:'',
|
},
|
加餐习惯:{
|
type: '',
|
食用频次1:'',
|
食用频次2:'',
|
备注:'',
|
},
|
你对合理的膳食基本要求知道多少:{
|
type: '',
|
备注:'',
|
},
|
你如何调节自己的饮食:{
|
type: '',
|
备注:'',
|
},
|
二十四小时饮食回顾记录:{
|
早餐:'',早加餐:'',午餐:"",午加餐:'',晚餐:'',晚加餐:''
|
},
|
饮食问题:'',
|
饮食指导建议:'',
|
执行反馈:'',
|
吸烟习惯:{
|
type:'',
|
食用频次1:'',
|
食用频次2:'',
|
备注:""
|
},
|
饮酒习惯:{
|
type:'',
|
食用频次1:'',
|
食用频次2:'',
|
备注:""
|
},
|
运动习惯:{
|
type:'',
|
运动类型:'',
|
运动时长:'',
|
运动频次:""
|
},
|
睡眠习惯:{
|
type:'',
|
入睡时间:'',
|
起床时间:'',
|
睡眠问题:"",
|
起床体感:''
|
},
|
排便情况:{
|
type:'',
|
小便:'',
|
大便:{
|
频次1:'',
|
频次2:'',
|
},
|
备注:''
|
|
},
|
生活习惯问题:'',
|
生活习惯指导建议:'',
|
生活习惯执行反馈:''
|
}
|
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);
|
state.loading = true
|
|
}
|
// 打开查看或者编辑明细
|
const openShow = async (type: string,mode:tiaochabiaoInfo) => {
|
console.log(type)
|
if(type==='add'){
|
const pasm={
|
page: 0,
|
size: 1,
|
wherecondition:`survery_form_type=0 and patient_code='${patientsInfo.value.code}' and suvery_form_name='膳食生活调查表'`,
|
ordercondition: 'survery_time desc'
|
}
|
const re= await list(pasm);
|
console.log('店家--------',re.data)
|
if(re.data.list.length){
|
const model=re.data.list[0]
|
state.tableData=JSON.parse(model.surveryJsonBody)
|
state.tableData.常吃的主食.type=Array.isArray(state.tableData.常吃的主食.type)?state.tableData.常吃的主食.type:[]
|
state.tableData.常吃的蔬菜.type=Array.isArray(state.tableData.常吃的蔬菜.type)?state.tableData.常吃的蔬菜.type:[]
|
state.tableData.常吃的肉类.type=Array.isArray(state.tableData.常吃的肉类.type)?state.tableData.常吃的肉类.type:[]
|
// state.tableData.常吃的水果.type=Array.isArray(state.tableData.常吃的水果.type)?state.tableData.常吃的水果.type:[]
|
// state.tableData.常吃的水果.type=Array.isArray(state.tableData.常吃的水果.type)?state.tableData.常吃的水果.type:[]
|
|
state.dialogTableVisible = true
|
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: ''
|
}
|
|
}else{
|
getPageInfo()
|
state.dialogTableVisible = true
|
}
|
|
}
|
else if(type==='update'){
|
console.log(mode)
|
console.log(JSON.parse(mode.surveryJsonBody))
|
state.viewInfo=mode
|
state.tableData=JSON.parse(mode.surveryJsonBody)
|
state.tableData.常吃的主食.type=Array.isArray(state.tableData.常吃的主食.type)?state.tableData.常吃的主食.type:[]
|
state.tableData.常吃的蔬菜.type=Array.isArray(state.tableData.常吃的蔬菜.type)?state.tableData.常吃的蔬菜.type:[]
|
state.tableData.常吃的肉类.type=Array.isArray(state.tableData.常吃的肉类.type)?state.tableData.常吃的肉类.type:[]
|
state.tableData.初次调查日期=mode.surveryTime
|
state.tableData.更新日期=mode.updateTime
|
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;
|
}
|
input {
|
/* 去除所有边框 */
|
border: none;
|
text-align: center;
|
font-size: 12px;
|
|
/* 设置下边框 */
|
border-bottom: 1px solid #000; /* 您可以根据需要调整颜色和宽度 */
|
|
/* 可选:设置背景透明 */
|
background-color: transparent;
|
|
/* 移除内边距和外边距 */
|
padding: 5px 0; /* 根据需要调整上下内边距,确保文本与线条之间有足够的空间 */
|
margin: 0;
|
|
/* 移除默认轮廓 */
|
outline: none;
|
|
/* 移除浏览器默认样式 */
|
appearance: none;
|
-webkit-appearance: none;
|
}
|
|
/* 可选:为聚焦状态添加自定义样式 */
|
input:focus {
|
/* 当输入框获得焦点时,改变下边框的颜色或增加一些视觉提示 */
|
border-bottom-color: #007BFF; /* 聚焦时的下边框颜色 */
|
|
/* 可选:添加轻微的阴影效果来突出显示 */
|
box-shadow: 0 1px 0 0 #007BFF; /* 在下边框下方添加一条颜色相同的阴影 */
|
}
|
</style>
|