客户健康页面、表逻辑

This commit is contained in:
xiezhijun
2021-01-23 22:11:39 +08:00
parent a4745063d3
commit c4fe017d4d
7 changed files with 2325 additions and 200 deletions

View File

@ -3,109 +3,86 @@
<div style="padding: 16px; text-align: center">
<img :src="logo" style="width: 258px; height: 80px" alt="logo" />
</div>
<div style="margin: 20px 15px 20px 15px;" >
<el-steps :active="stepActive" finish-status="success">
<el-step v-for="(item,index) in stepArray" title=""></el-step>
</el-steps>
</div>
<el-form ref="form" label-position="top" :model="form" :rules="rules" label-width="100px" style="padding: 16px">
<p class="p_title_1" style="margin-top: 5px;">基础信息</p>
<el-form-item label="真实姓名" prop="name" style="padding-top: 10px;">
<el-input v-model="form.name" placeholder="请输入真实姓名" />
</el-form-item>
<el-form-item label="性别" prop="sex">
<el-radio-group v-model="form.sex" size="small" >
<el-radio :label="parseInt('0')" border></el-radio>
<el-radio :label="parseInt('1')" border></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="年龄" prop="age">
<el-input type="number" v-model.number="form.age" placeholder="请输入年龄" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="手机号" prop="phone" >
<el-input v-model="form.phone" placeholder="请输入手机号" />
</el-form-item>
<p class="p_title_1">食品安全评估</p>
<div v-show="stepArray[0]">
<p class="p_title_1" style="margin-top: 5px;">基础信息</p>
<el-form-item label="真实姓名" prop="name" style="padding-top: 10px;">
<el-input v-model="form.name" placeholder="请输入真实姓名" maxlength="20"/>
</el-form-item>
<el-form-item label="性别" prop="sex">
<el-radio-group v-model="form.sex" size="small" >
<el-radio :label="parseInt('0')" border></el-radio>
<el-radio :label="parseInt('1')" border></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="年龄" prop="age">
<el-input type="number" v-model="form.age" placeholder="请输入年龄" autocomplete="off" maxlength="3"></el-input>
</el-form-item>
<el-form-item label="手机号" prop="phone" maxlength="20">
<el-input type="number" v-model="form.phone" placeholder="请输入手机号" />
</el-form-item>
</div>
<div v-show="stepArray[1]">
<p class="p_title_1">食品安全评估</p>
<p class="p_title_2">1家庭调味品</p>
<el-form-item :label="'(1) 调味品种类'" prop="condiment" class="margin-left">
<el-checkbox-group v-model="form.condiment">
<el-checkbox label="鸡精" key="1">鸡精</el-checkbox>
<el-checkbox label="耗油" key="2">耗油</el-checkbox>
<el-checkbox label="生抽" key="3">生抽</el-checkbox>
<el-checkbox label="老抽" key="4">老抽</el-checkbox>
<el-checkbox label="香油" key="5">香油</el-checkbox>
<el-checkbox label="浓汤宝" key="6">浓汤宝</el-checkbox>
<el-checkbox label="鸡粉" key="7">鸡粉</el-checkbox>
<el-checkbox label="花椒" key="8">花椒</el-checkbox>
<el-checkbox label="辣椒油" key="9">辣椒油</el-checkbox>
<el-checkbox v-for="(item, index) in condimentArray" :label="item.value" :key="index">{{item.name}}</el-checkbox>
</el-checkbox-group>
<div><span>其他调味品 </span><el-input style="margin-top: 10px;width:70%" v-model="form.otherCondiment" placeholder="请输入其他调味品名称" /></div>
</el-form-item>
<p class="p_title_2">2喜好的烹调方式和周频次</p>
<el-form-item :label="'(1) 喜好的烹调方式'" prop="cookingStyle" class="margin-left">
<el-checkbox-group v-model="form.cookingStyle">
<el-checkbox label="煎"></el-checkbox>
<el-checkbox label="烤"></el-checkbox>
<el-checkbox label="炸" ></el-checkbox>
<el-checkbox label="卤"></el-checkbox>
<el-checkbox label="腌"></el-checkbox>
<el-checkbox label="腊"></el-checkbox>
<el-checkbox label="煲"></el-checkbox>
<el-checkbox label="炒"></el-checkbox>
<el-checkbox label="蒸"></el-checkbox>
<el-checkbox label="刺身">刺身</el-checkbox>
<el-checkbox label="水煮">水煮</el-checkbox>
<el-checkbox v-for="(item,index) in cookingStyleArray" :label="item.value" :key="index">{{item.name}}</el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item :label="'(2) 烹调方式的频次(每周)'" prop="cookingStyleRate" class="margin-left">
<div>
<span>&nbsp;</span><el-input-number style="width:35%" v-model="form.cookingStyleRate[0]" :step="1" :min="0"></el-input-number><span>&nbsp;</span>
<span style="margin-left: 20px;">&nbsp;</span><el-input-number style="width:35%" v-model="form.cookingStyleRate[1]" :step="1" :min="0" ></el-input-number><span>&nbsp;</span>
<span>&nbsp;</span><el-input-number style="width:35%" v-model="form.cookingStyleRate[0]" :step="1" :min="0"></el-input-number><span>&nbsp;</span>
<span style="margin-left: 20px;">&nbsp;</span><el-input-number style="width:35%" v-model="form.cookingStyleRate[1]" :step="1" :min="0" ></el-input-number><span>&nbsp;</span>
</div>
<div style="margin-top: 5px;">
<span>&nbsp;</span><el-input-number style="width:35%" v-model="form.cookingStyleRate[2]" :step="1" :min="0" ></el-input-number><span>&nbsp;</span>
<span style="margin-left: 20px;">&nbsp;</span><el-input-number style="width:35%" v-model="form.cookingStyleRate[3]" :step="1" :min="0" ></el-input-number><span>&nbsp;</span>
<span style="margin-left: 20px;">&nbsp;</span><el-input-number style="width:35%" v-model="form.cookingStyleRate[3]" :step="1" :min="0" ></el-input-number><span>&nbsp;</span>
</div>
<div style="margin-top: 5px;">
<span>&nbsp;</span><el-input-number style="width:35%" v-model="form.cookingStyleRate[4]" :step="1" :min="0" ></el-input-number><span>&nbsp;</span>
<span style="margin-left: 20px;">&nbsp;</span><el-input-number style="width:35%;" v-model="form.cookingStyleRate[5]" :step="1" :min="0" ></el-input-number><span>&nbsp;</span>
<span>&nbsp;</span><el-input-number style="width:35%" v-model="form.cookingStyleRate[4]" :step="1" :min="0" ></el-input-number><span>&nbsp;</span>
<span style="margin-left: 20px;">&nbsp;</span><el-input-number style="width:35%;" v-model="form.cookingStyleRate[5]" :step="1" :min="0" ></el-input-number><span>&nbsp;</span>
</div>
</el-form-item>
<p class="p_title_2">3洗菜方式</p>
<el-form-item :label="'(1) 洗菜方式'" prop="washVegetablesStyle" class="margin-left">
<el-checkbox-group v-model="form.washVegetablesStyle">
<el-checkbox label="先切后洗" key="1">先切后洗</el-checkbox>
<el-checkbox label="先洗后切" key="2">先洗后切</el-checkbox>
<el-checkbox label="切后浸泡" key="3">切后浸泡</el-checkbox>
<el-checkbox v-for="(item,index) in washVegetablesStyleArray" :label="item.value" :key="index">{{item.name}}</el-checkbox>
</el-checkbox-group>
<div><span>其他洗菜方式 </span><el-input style="margin-top: 10px;width:70%" v-model="form.otherWashVegetablesStyle" placeholder="请输入其他洗菜方式" /></div>
</el-form-item>
</div>
<p class="p_title_1">饮食结构评估</p>
<div v-show="stepArray[2]">
<p class="p_title_1">饮食结构评估</p>
<p class="p_title_2">1您三餐的习惯</p>
<el-form-item :label="'(1) 早餐习惯'" prop="breakfast" class="margin-left">
<!--<el-checkbox-group v-model="form.breakfastType">
<el-checkbox label="不吃" key="1">不吃</el-checkbox>
<el-checkbox label="偶尔吃" key="2">偶尔吃</el-checkbox>
<el-checkbox label="每天吃" key="3">每天吃</el-checkbox>
</el-checkbox-group>-->
<el-radio-group v-model="form.breakfastType">
<el-radio label="不吃">不吃</el-radio>
<el-radio label="偶尔吃">偶尔吃</el-radio>
<el-radio label="每天吃">每天吃</el-radio>
<el-radio v-for="(item,index) in breakfastTypeArray" :label="item.value" :key="index">{{item.name}}</el-radio>
</el-radio-group>
<div style="margin-top:8px;"><span>早餐通常吃&nbsp;</span><el-input v-model="form.breakfastFood" style="width:70%" placeholder="请输入早餐名称" /></div>
</el-form-item>
<el-form-item :label="'(2) 午餐习惯'" prop="lunchType" class="margin-left">
<el-checkbox-group v-model="form.lunchType">
<el-checkbox label="外卖" key="1">外卖</el-checkbox>
<el-checkbox label="自带餐" key="2">自带餐</el-checkbox>
<el-checkbox label="快餐" key="3">快餐</el-checkbox>
<el-checkbox label="餐厅" key="4">餐厅</el-checkbox>
<el-checkbox v-for="(item,index) in lunchTypeArray" :label="item.value" :key="index">{{item.name}}</el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item :label="'(3) 晚餐习惯'" prop="dinner" class="margin-left">
<el-checkbox-group v-model="form.dinner">
<el-checkbox label="餐馆吃" key="1">餐馆吃</el-checkbox>
<el-checkbox label="在家吃" key="2">在家吃</el-checkbox>
<el-checkbox label="丰盛" key="3">丰盛</el-checkbox>
<el-checkbox label="清淡" key="4">清淡</el-checkbox>
<el-checkbox v-for="(item,index) in dinnerArray" :label="item.value" :key="index">{{item.name}}</el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item :label="'(4) 正餐荤素中素菜占比几成'" prop="eatSituation" class="margin-left">
@ -116,7 +93,7 @@
</el-form-item>
<p class="p_title_2">2您晚餐时间点和夜宵习惯</p>
<el-form-item :label="'(1) 晚餐时间点'" prop="dinnerTime" class="margin-left">
<el-time-select v-model="form.dinnerTime" :picker-options="{ start: '00:00', step: '01:00', end: '12:00' }" placeholder="请选择时间" :editable="false"/>
<el-time-select v-model="form.dinnerTime" :picker-options="{ start: '17:00', step: '00:30', end: '24:00' }" placeholder="请选择时间" :editable="false"/>
</el-form-item>
<el-form-item :label="'(2) 您每周吃几次夜宵'" prop="supperNum" class="margin-left">
<el-input-number v-model="form.supperNum" :step="1" :min="0"></el-input-number>
@ -127,19 +104,12 @@
<p class="p_title_2">3您的饮食偏好</p>
<el-form-item :label="'(1) 冷热偏好'" prop="dietHotAndCold" class="margin-left">
<el-radio-group v-model="form.dietHotAndCold">
<el-radio label="偏冷食">偏冷食</el-radio>
<el-radio label="偏烫食">偏烫食</el-radio>
<el-radio label="正常">正常</el-radio>
<el-radio v-for="(item,index) in dietHotAndColdArray" :label="item.value" :key="index">{{item.name}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item :label="'(2) 口味偏好'" prop="dietFlavor" class="margin-left">
<el-checkbox-group v-model="form.dietFlavor">
<el-checkbox label="偏油" key="1">偏油</el-checkbox>
<el-checkbox label="偏咸" key="2">偏咸</el-checkbox>
<el-checkbox label="偏辣" key="3">偏辣</el-checkbox>
<el-checkbox label="偏甜" key="4">偏甜</el-checkbox>
<el-checkbox label="偏酸" key="5">偏酸</el-checkbox>
<el-checkbox label="清淡" key="6">清淡</el-checkbox>
<el-checkbox v-for="(item,index) in dietFlavorArray" :label="item.value" :key="index">{{item.name}}</el-checkbox>
</el-checkbox-group>
</el-form-item>
<p class="p_title_2">4生食果蔬状况</p>
@ -148,28 +118,28 @@
</el-form-item>
<el-form-item :label="'(2) 每周吃生/拌菜的频次'" prop="vegetablesRateType" class="margin-left">
<el-radio-group v-model="form.vegetablesRateType">
<div><el-radio label="每天吃" key="1">每天吃</el-radio>
<el-radio label="经常吃" key="2">经常</el-radio>
<el-radio label="偶尔吃" key="3">偶尔</el-radio></div>
<div style="margin-top: 10px;"><el-radio label="从不吃" key="4">从不</el-radio></div>
<el-radio v-for="(item,index) in vegetablesRateTypeArray" :label="item.value" :key="index">{{item.name}}</el-radio>
<!-- <div><el-radio label="每天吃" key="1">每天</el-radio>
<el-radio label="经常吃" key="2">经常</el-radio>
<el-radio label="偶尔吃" key="3">偶尔</el-radio></div>
<div style="margin-top: 10px;"><el-radio label="从不吃" key="4">从不吃</el-radio></div>-->
</el-radio-group>
</el-form-item>
<el-form-item :label="'(3) 平均每天吃水果几次以及时间'" prop="fruitsNum" class="margin-left">
<el-input-number v-model="form.fruitsNum" :step="1" :min="0"></el-input-number>
<el-radio-group v-model="form.fruitsTime" style="margin-top: 15px;">
<el-radio label="餐前" key="1">餐前</el-radio>
<el-radio label="餐后" key="2">餐后</el-radio>
<el-radio label="餐间" key="3">餐间</el-radio>
<el-radio v-for="(item,index) in fruitsTimeArray" :label="item.value" :key="index">{{item.name}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="(4) 平时吃水果的频次" prop="fruitsRate" class="margin-left">
<el-radio-group v-model="form.fruitsRate">
<div>
<el-radio label="每天吃" key="1">每天吃</el-radio>
<el-radio label="经常吃" key="2">经常</el-radio>
<el-radio label="偶尔吃" key="3">偶尔</el-radio>
</div>
<div style="margin-top: 10px;"><el-radio label="从不吃" key="4">从不吃</el-radio></div>
<el-radio v-for="(item,index) in fruitsRateArray" :label="item.value" :key="index">{{item.name}}</el-radio>
<!--<div>
<el-radio label="每天吃" key="1">每天</el-radio>
<el-radio label="经常吃" key="2">经常</el-radio>
<el-radio label="偶尔吃" key="3">偶尔吃</el-radio>
</div>
<div style="margin-top: 10px;"><el-radio label="从不吃" key="4">从不吃</el-radio></div>-->
</el-radio-group>
</el-form-item>
<p class="p_title_2">5饮食习惯</p>
@ -181,32 +151,13 @@
</el-form-item>
<el-form-item label="(2) 吃饭速度" prop="eatingSpeed" class="margin-left">
<el-radio-group v-model="form.eatingSpeed">
<div>
<el-radio label="很快" key="1">很快</el-radio>
<el-radio label="偏快" key="2">偏快</el-radio>
<el-radio label="正常" key="3">正常</el-radio>
</div>
<div style="margin-top: 10px;">
<el-radio label="偏慢" key="4">偏慢</el-radio>
<el-radio label="很慢" key="5">很慢</el-radio>
</div>
<el-radio v-for="(item,index) in eatingSpeedArray" :label="item.value" :key="index">{{item.name}}</el-radio>
</el-radio-group>
</el-form-item>
<p class="p_title_2">6您常吃的零食</p>
<el-form-item label="(1) 常吃的零食" prop="snacks" class="margin-left">
<el-checkbox-group v-model="form.snacks">
<el-checkbox label="面包" key="1">面包</el-checkbox>
<el-checkbox label="蛋糕" key="2">蛋糕</el-checkbox>
<el-checkbox label="饼干" key="3">饼干</el-checkbox>
<el-checkbox label="冰淇淋" key="4">冰淇淋</el-checkbox>
<el-checkbox label="糖果" key="5">糖果</el-checkbox>
<el-checkbox label="巧克力" key="6">巧克力</el-checkbox>
<el-checkbox label="方便面" key="7">方便面</el-checkbox>
<el-checkbox label="薯条" key="8">薯条</el-checkbox>
<el-checkbox label="肉干" key="10">肉干</el-checkbox>
<el-checkbox label="坚果" key="11">饮料</el-checkbox>
<el-checkbox label="果脯" key="12">果脯</el-checkbox>
<el-checkbox label="牛奶" key="13">牛奶</el-checkbox>
<el-checkbox v-for="(item,index) in snacksArray" :label="item.value" :key="index">{{item.name}}</el-checkbox>
</el-checkbox-group>
<div><span>其他零食 </span><el-input style="margin-top: 10px;width:70%" v-model="form.otherSnacks" placeholder="请输入其他零食名称" /></div>
</el-form-item>
@ -225,26 +176,21 @@
<el-input-number style="width:35%;margin-left: 20px;" v-model="form.healthProductsDayRate" :step="1" ::min="0" ></el-input-number><span>&nbsp;/</span>
</div>
</el-form-item>
<p class="p_title_1">生活习惯评估</p>
</div>
<div v-show="stepArray[3]">
<p class="p_title_1">生活习惯评估</p>
<p class="p_title_2">1您每天的饮水习惯</p>
<el-form-item label="(1) 每天饮水量(毫升)" prop="waterNum" class="margin-left">
<el-input-number v-model="form.waterNum" :step="50" :min="0"></el-input-number>
</el-form-item>
<el-form-item label="(2) 喜欢喝什么水" prop="waterType" class="margin-left">
<el-checkbox-group v-model="form.waterType">
<el-checkbox label="冰水" key="1">冰水</el-checkbox>
<el-checkbox label="温水" key="2">温水</el-checkbox>
<el-checkbox label="常温水" key="3">常温水</el-checkbox>
<el-checkbox v-for="(item,index) in waterTypeArray" :label="item.value" :key="index">{{item.name}}</el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item label="(3) 喝水习惯" prop="waterHabit" class="margin-left">
<el-checkbox-group v-model="form.waterHabit">
<el-checkbox label="均匀地喝" key="1">均匀地喝</el-checkbox>
<el-checkbox label="餐前多喝" key="2">餐前多喝</el-checkbox>
<el-checkbox label="餐后多喝" key="3">餐后多喝</el-checkbox>
<el-checkbox label="餐间多喝" key="4">餐间多喝</el-checkbox>
<el-checkbox label="随时喝" key="5">随时喝</el-checkbox>
<el-checkbox v-for="(item,index) in waterHabitArray" :label="item.value" :key="index">{{item.name}}</el-checkbox>
</el-checkbox-group>
</el-form-item>
<p class="p_title_2">2您常喝的饮品和每周频次</p>
@ -277,16 +223,12 @@
<p class="p_title_2">3您的饮酒习惯</p>
<el-form-item label="(1) 是否喝酒" prop="drinkWineFlag" class="margin-left">
<el-radio-group v-model="form.drinkWineFlag">
<el-radio label="经常饮酒" key="1">经常饮酒</el-radio>
<el-radio label="不饮酒" key="2">不饮酒</el-radio>
<el-radio label="偶尔" key="3">偶尔</el-radio>
<el-radio v-for="(item,index) in drinkWineFlagArray" :label="item.value" :key="index">{{item.name}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="(2) 通常喝什么酒" prop="drinkWineClassify" class="margin-left">
<el-checkbox-group v-model="form.drinkWineClassify">
<el-checkbox label="白酒" key="1">白酒</el-checkbox>
<el-checkbox label="红酒" key="2">红酒</el-checkbox>
<el-checkbox label="啤酒" key="3">啤酒</el-checkbox>
<el-checkbox v-for="(item,index) in drinkWineClassifyArray" :label="item.value" :key="index">{{item.name}}</el-checkbox>
</el-checkbox-group>
<div><span>其他酒 </span><el-input style="margin-top: 10px;width:70%" v-model="form.otherWineClassify" placeholder="请输入其他酒名称" /></div>
</el-form-item>
@ -334,13 +276,7 @@
</el-form-item>
<el-form-item label="(2) 工作性质" prop="workType" style="padding-top: 10px;">
<el-checkbox-group v-model="form.workType">
<el-checkbox label="工作时间长" key="1">工作时间长</el-checkbox>
<el-checkbox label="久坐" key="2">久坐</el-checkbox>
<el-checkbox label="久站" key="3">久站</el-checkbox>
<el-checkbox label="走动多" key="4">走动多</el-checkbox>
<el-checkbox label="强度大" key="5">强度大</el-checkbox>
<el-checkbox label="用电脑多" key="6">用电脑多</el-checkbox>
<el-checkbox label="体力工作多" key="7">体力工作多</el-checkbox>
<el-checkbox v-for="(item,index) in workTypeArray" :label="item.value" :key="index">{{item.name}}</el-checkbox>
</el-checkbox-group>
</el-form-item>
<p class="p_title_2">4您的排便状况</p>
@ -355,12 +291,9 @@
<el-form-item label="(2) 排便时间" prop="defecationTime" style="padding-top: 10px;">
<el-checkbox-group v-model="form.defecationTime">
<el-checkbox label="上午" key="1">上午</el-checkbox>
<el-checkbox label="中午" key="2">中午</el-checkbox>
<el-checkbox label="晚上" key="3">晚上</el-checkbox>
<el-checkbox v-for="(item,index) in defecationTimeArray" :label="item.value" :key="index">{{item.name}}</el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item label="(2) 排便情况" prop="defecationSituation" style="padding-top: 10px;">
<div>
<span>形状</span><el-input class="width-70-left-8-right-5" v-model="form.defecationShape" placeholder="请输入形状" />
@ -375,8 +308,9 @@
<span>颜色</span><el-input class="width-70-left-8-right-5" v-model="form.defecationColor" placeholder="请输入颜色" />
</div>
</el-form-item>
<p class="p_title_1">运动习惯评估</p>
</div>
<div v-show="stepArray[4]">
<p class="p_title_1">运动习惯评估</p>
<p class="p_title_2">1运动频率</p>
<el-form-item label="(1) 每周运动情况" prop="motionSituation" class="margin-left">
<div>
@ -390,58 +324,47 @@
</div>
</el-form-item>
<p class="p_title_2">2运动方式项目</p>
<el-form-item label="(1) 运动方式" prop="motionMode" class="margin-left">
<!--<el-form-item label="(1) 运动方式" prop="motionMode" class="margin-left">
<el-radio-group v-model="form.motionMode">
<el-radio label="有氧" key="1">有氧</el-radio>
<el-radio label="无氧" key="2">无氧</el-radio>
<el-radio label="有氧无氧相结合" key="3">有氧无氧相结合</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="(2) 运动项目" prop="motionProject" class="margin-left">
</el-form-item>-->
<el-form-item label="(1) 运动方式、项目" prop="motionProject" class="margin-left">
<div><span>有氧运动</span>
<el-checkbox-group v-model="form.aerobicMotionClassify">
<el-checkbox label="跳绳" key="1">跳绳</el-checkbox>
<el-checkbox label="跑步" key="2">跑步</el-checkbox>
<el-checkbox label="游泳" key="3">游泳</el-checkbox>
<el-checkbox v-for="(item,index) in aerobicMotionClassifyArray" :label="item.value" :key="index">{{item.name}}</el-checkbox>
</el-checkbox-group>
</div>
<div><span>有氧运动</span>
<el-checkbox-group v-model="form.anaerobicMotionClassify">
<el-checkbox label="撸铁" key="1">撸铁</el-checkbox>
<el-checkbox label="俯卧撑" key="2">俯卧撑</el-checkbox>
<el-checkbox v-for="(item,index) in anaerobicMotionClassifyArray" :label="item.value" :key="index">{{item.name}}</el-checkbox>
</el-checkbox-group>
</div>
<div><span>有氧无氧结合运动</span>
<el-checkbox-group v-model="form.anaerobicAerobicMotionClassify">
<el-checkbox label="拳击" key="1">拳击</el-checkbox>
<el-checkbox label="瑜伽" key="2">瑜伽</el-checkbox>
<el-checkbox v-for="(item,index) in anaerobicAerobicMotionClassifyArray" :label="item.value" :key="index">{{item.name}}</el-checkbox>
</el-checkbox-group>
</div>
<div><span>其他项目 </span><el-input style="margin-top: 10px;width:70%" v-model="form.otherMotionClassify" placeholder="请输入其他运动项目名称" /></div>
</el-form-item>
<el-form-item label="(2) 运动场地" prop="motionField" class="margin-left">
<el-checkbox-group v-model="form.motionField">
<el-checkbox label="居家" key="1">居家</el-checkbox>
<el-checkbox label="健身房" key="2">健身房</el-checkbox>
<el-checkbox label="户外" key="3">居家</el-checkbox>
<el-checkbox label="瑜伽馆" key="4">健身房</el-checkbox>
<el-checkbox v-for="(item,index) in motionFieldArray" :label="item.value" :key="index">{{item.name}}</el-checkbox>
</el-checkbox-group>
<div><span>其他场地 </span><el-input style="margin-top: 10px;width:70%" v-model="form.otherMotionField" placeholder="请输入其他运动场地名称" /></div>
</el-form-item>
<p class="p_title_1">睡眠质量评估</p>
</div>
<div v-show="stepArray[5]">
<p class="p_title_1">睡眠质量评估</p>
<p class="p_title_2">1您的睡眠状况</p>
<el-form-item label="(1) 一般晚上几点睡" prop="sleepTime" class="margin-left">
<el-time-select v-model="form.sleepTime" :picker-options="{ start: '00:00', step: '01:00', end: '24:00' }" placeholder="请选择时间" :editable="false"/>
</el-form-item>
<el-form-item label="(2) 睡眠质量" prop="sleepQuality" class="margin-left">
<el-checkbox-group v-model="form.sleepQuality">
<el-checkbox label="好" key="1"></el-checkbox>
<el-checkbox label="一般" key="2">一般</el-checkbox>
<el-checkbox label="入睡难" key="3">入睡难</el-checkbox>
<el-checkbox label="失眠" key="4">失眠</el-checkbox>
<el-checkbox label="易醒" key="5">易醒</el-checkbox>
<el-checkbox label="多梦" key="6">多梦</el-checkbox>
<el-checkbox v-for="(item,index) in sleepQualityArray" :label="item.value" :key="index">{{item.name}}</el-checkbox>
</el-checkbox-group>
</el-form-item>
<p class="p_title_2">2辅助入睡药物情况</p>
@ -462,12 +385,13 @@
<span>熬夜频率 </span><el-input-number type="number" class="width-50-left-8-right-5" v-model="form.stayupLateWeekNum" :step="1" :min="0"></el-input-number><span>/</span>
</div>
</el-form-item>
<p class="p_title_1">既往病史/用药史评估</p>
</div>
<div v-show="stepArray[6]">
<p class="p_title_1">既往病史/用药史评估</p>
<p class="p_title_2">1家族疾病史情况</p>
<el-form-item label="1家族疾病史直系亲属例如爸爸妈妈、爷爷奶奶、外公外婆有相关疾病可多选" prop="familyIllnessHistory" class="margin-left">
<el-checkbox-group v-model="form.familyIllnessHistory">
<el-checkbox v-for="(item, index) in familyIllnessHistoryArray" :key="index" :label="item" key="1">{{item}}</el-checkbox>
<el-checkbox v-for="(item, index) in familyIllnessHistoryArray" :key="index" :label="item.value" >{{item.name}}</el-checkbox>
</el-checkbox-group>
<div><span>其他家族病史</span>
<el-input
@ -483,7 +407,7 @@
<p class="p_title_2">2手术情况</p>
<el-form-item label="(1) 手术史,因病进行过手术治疗,手术的部分(可多选)" prop="familyIllnessHistory" class="margin-left">
<el-checkbox-group v-model="form.operationHistory">
<el-checkbox v-for="(item, index) in operationHistoryArray" :key="index" :label="item" key="1">{{item}}</el-checkbox>
<el-checkbox v-for="(item, index) in operationHistoryArray" :key="index" :label="item.value" >{{item.name}}</el-checkbox>
</el-checkbox-group>
<div><span>其他手术史</span>
<el-input
@ -520,7 +444,7 @@
</el-form-item>
<el-form-item label="(2) 长期服用药物有(可多选)" prop="longEatDrugClassify" class="margin-left">
<el-checkbox-group v-model="form.longEatDrugClassify">
<el-checkbox v-for="(item, index) in longEatDrugClassifyArray" :key="index" :label="item" key="1">{{item}}</el-checkbox>
<el-checkbox v-for="(item, index) in longEatDrugClassifyArray" :key="index" :label="item.value">{{item.name}}</el-checkbox>
</el-checkbox-group>
<div><span>其他长期服用的药物</span>
<el-input
@ -553,7 +477,7 @@
<el-form-item label="(2) 引起过敏源(可多选)" prop="allergen" class="margin-left">
<el-checkbox-group v-model="form.allergen">
<el-checkbox v-for="(item, index) in allergenArray" :key="index" :label="item" key="1">{{item}}</el-checkbox>
<el-checkbox v-for="(item, index) in allergenArray" :key="index" :label="item.value">{{item.name}}</el-checkbox>
</el-checkbox-group>
<div><span>其他过敏源</span>
<el-input
@ -566,19 +490,50 @@
></el-input>
</div>
</el-form-item>
</div>
<el-form-item style="text-align: center; margin: 30px auto">
<div v-show="stepArray[7]">
<p class="p_title_1">调理项目和提交报告</p>
<p class="p_title_2">1调理项目</p>
<el-form-item label="(1) 请选择调理项目" prop="conditioningProjectId">
<el-select v-model="form.conditioningProjectId" placeholder="请选择">
<el-option
v-for="dict in conditioningProjectIdOption"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="parseInt(dict.dictValue)"
/>
</el-select>
</el-form-item>
</div>
<el-form-item style="text-align: center; margin: 30px auto" >
<el-button
@click="nextStep(-1)"
style="margin-right: 10px;width: 40%"
v-show="stepActive != 0"
>上一步</el-button
>
<el-button
type="primary"
@click="nextStep(1)"
style="width: 40%"
v-show="stepActive != stepArray.length-1"
>下一步</el-button
>
<el-button
type="primary"
@click="addCustomer()"
style="margin-right: 50px"
>已填写完成提交数据</el-button
style="width: 40%"
v-show="stepActive == stepArray.length-1"
>提交数据</el-button
>
</el-form-item>
</el-form>
</section>
</template>
<script>
import { getDictData } from "@/api/custom/customerInvestigation";
const logo = require("@/assets/logo/st_logo.png");
export default {
name: "index",
@ -586,42 +541,163 @@ export default {
return {
logo,
submitFlag: false,
familyIllnessHistoryArray:["高血压病","脑卒中","冠心病","外周血管病","心力衰竭","糖尿病","肥胖症","慢性肾脏疾病","骨质疏松", "痛风","精神疾病","恶性肿瘤","慢性阻塞性肺病","风湿性免疫性疾病"],
operationHistoryArray:["头颅(含脑)","眼","耳鼻咽喉","颌面部及口腔","颈部或甲状腺","胸部(含肺部)","心脏(含心脏介入)","外周血管","胃肠","肝胆","肾脏","脊柱","四肢及关节","前列腺","妇科","乳腺","膀胱"],
longEatDrugClassifyArray:["降压药","降糖药","降尿酸药","抗心律失常药","缓解哮喘药物","抗压郁药物","雌激素类药物","利尿剂",
"中草药","避孕药","强的松类药物","镇静剂或安眠药","调值药(降脂药)","解热镇痛药(如布洛芬等)"],
allergenArray:["青霉素","磺胺类","链霉素","头孢类","鸡蛋","牛奶","海鲜","花粉或尘螨","粉尘","洗洁剂","化妆品"],
//调味品种类
condimentArray:[
{"name":"鸡精", "value":"1"},
{"name":"耗油", "value":"2"},
{"name":"生抽", "value":"3"},
{"name":"老抽", "value":"4"},
{"name":"香油", "value":"5"},
{"name":"浓汤宝", "value":"6"},
{"name":"鸡粉", "value":"7"},
{"name":"花椒", "value":"8"},
{"name":"辣椒油", "value":"9"}
],
cookingStyleArray:[
{"name":"煎","value":"1"},{"name":"烤","value":"2"},{"name":"炸","value":"3"},{"name":"卤","value":"4"},
{"name":"腌","value":"5"},{"name":"腊","value":"6"},{"name":"煲","value":"7"},{"name":"炒","value":"8"},
{"name":"蒸","value":"9"},{"name":"刺身","value":"10"},{"name":"水煮","value":"11"}
],
cookingStyleRateArray:["煎","炸","卤","腌","腊","煲"],
washVegetablesStyleArray:[
{"name":"先切后洗","value": "1"},{"name":"先洗后切","value": "2"},{"name":"切后浸泡","value": "3"}
],
breakfastTypeArray:[
{"name":"不吃","value": "1"},{"name":"偶尔吃","value": "2"},{"name":"每天吃","value": "3"}
],
lunchTypeArray:[
{"name":"外卖","value":"1"},{"name":"自带餐","value":"2"},{"name":"快餐","value":"3"},{"name":"餐厅","value":"4"}
],
dinnerArray:[
{"name":"餐馆吃","value":"1"},{"name":"在家吃","value":"2"},{"name":"丰盛","value":"3"},{"name":"清淡","value":"4"}
],
dietHotAndColdArray:[
{"name":"偏冷食","value":"1"},{"name":"偏冷食","value":"2"},{"name":"正常","value":"3"}
],
dietFlavorArray:[
{"name":"偏油","value":"1"},{"name":"偏咸","value":"2"},{"name":"偏辣","value":"3"},
{"name":"偏甜","value":"4"},{"name":"偏酸","value":"5"},{"name":"清淡","value":"6"}
],
vegetablesRateTypeArray:[
{"name":"每天吃","value":"1"},{"name":"经常吃","value":"2"},{"name":"偶尔吃","value":"3"},{"name":"从不吃","value":"4"}
],
fruitsTimeArray:[
{"name":"餐前","value":"1"},{"name":"餐后","value":"2"},{"name":"餐间","value":"3"}
],
fruitsRateArray:[
{"name":"每天吃","value":"1"},{"name":"经常吃","value":"2"},{"name":"偶尔吃","value":"3"},{"name":"从不吃","value":"4"}
],
eatingSpeedArray:[
{"name":"很快","value":"1"},{"name":"偏快","value":"2"},{"name":"正常","value":"3"},{"name":"偏慢","value":"4"}
,{"name":"很慢","value":"5"}
],
snacksArray:[
{"name":"面包","value":"1"},{"name":"蛋糕","value":"2"},{"name":"饼干","value":"3"},{"name":"冰淇淋","value":"4"}
,{"name":"糖果","value":"5"},{"name":"巧克力","value":"6"},{"name":"方便面","value":"7"},{"name":"薯条","value":"8"},{"name":"肉干","value":"9"},
{"name":"坚果","value":"10"},{"name":"饮料","value":"11"},{"name":"果脯","value":"12"},{"name":"牛奶","value":"13"}
],
waterTypeArray:[
{"name":"冰水","value":"1"},{"name":"温水","value":"2"},{"name":"常温水","value":"3"}
],
waterHabitArray:[
{"name":"均匀地喝","value":"1"},{"name":"餐前多喝","value":"2"},{"name":"餐后多喝","value":"3"},{"name":"餐间多喝","value":"4"},
{"name":"随时喝","value":"5"}
],
drinksNumArray:["老火汤","咖啡","浓茶","奶茶","冷饮","碳酸饮料","甜饮料","鲜榨果汁"],
drinkWineFlagArray:[
{"name":"经常饮酒","value": "1"},{"name":"不饮酒","value": "2"},{"name":"偶尔","value": "3"}
],
drinkWineClassifyArray:[
{"name":"白酒","value": "1"},{"name":"红酒","value": "2"},{"name":"啤酒","value": "3"}
],
drinkWineAmountArray:["白酒","啤酒","红酒","其他"],
smokeRateArray:["每天抽烟","烟龄","已戒烟"],
workTypeArray:[
{"name":"工作时间长","value": "1"},{"name":"久坐","value": "2"},{"name":"久站","value": "3"},
{"name":"走动多","value": "4"},{"name":"强度大","value": "5"},{"name":"用电脑多","value": "6"},{"name":"体力工作多","value": "7"}
],
defecationTimeArray:[
{"name":"上午","value": "1"},{"name":"中午","value": "2"},{"name":"晚上","value": "3"}
],
aerobicMotionClassifyArray:[
{"name":"跳绳","value": "1"},{"name":"跑步","value": "2"},{"name":"游泳","value": "3"}
],
anaerobicMotionClassifyArray:[
{"name":"撸铁","value": "1"},{"name":"俯卧撑","value": "2"}
],
anaerobicAerobicMotionClassifyArray:[
{"name":"拳击","value": "1"},{"name":"瑜伽","value": "2"}
],
motionFieldArray:[
{"name":"居家","value": "1"},{"name":"健身房","value": "2"},{"name":"户外","value": "3"}, {"name":"健身房","value": "4"}
],
sleepQualityArray:[
{"name":"好","value": "1"},{"name":"一般","value": "2"},{"name":"入睡难","value": "3"},
{"name":"失眠","value": "4"},{"name":"易醒","value": "5"},{"name":"多梦","value": "6"}
],
familyIllnessHistoryArray:[
{"name":"高血压病","value": "1"},{"name":"脑卒中","value": "2"},{"name":"冠心病","value": "3"},
{"name":"外周血管病","value": "4"},{"name":"心力衰竭","value": "5"},{"name":"冠心病","value": "6"},
{"name":"肥胖症","value": "7"},{"name":"慢性肾脏疾病","value": "8"},{"name":"骨质疏松","value": "9"},
{"name":"痛风","value": "10"},{"name":"精神疾病","value": "11"},{"name":"恶性肿瘤","value": "12"},
{"name":"慢性阻塞性肺病","value": "13"},{"name":"风湿性免疫性疾病","value": "14"},
],
operationHistoryArray:[
{"name":"头颅(含脑)","value": "1"},{"name":"眼","value": "2"},{"name":"耳鼻咽喉","value": "3"},
{"name":"颌面部及口腔","value": "4"},{"name":"颈部或甲状腺","value": "5"},{"name":"胸部(含肺部)","value": "6"},
{"name":"心脏(含心脏介入)","value": "7"},{"name":"外周血管","value": "8"},{"name":"胃肠","value": "9"},
{"name":"肝胆","value": "10"},{"name":"肾脏","value": "11"},{"name":"脊柱","value": "12"},
{"name":"四肢及关节","value": "13"},{"name":"前列腺","value": "14"},{"name":"妇科","value": "15"},{"name":"乳腺","value": "16"}
,{"name":"膀胱","value": "17"}
],
longEatDrugClassifyArray:[
{"name":"降压药","value": "1"},{"name":"降糖药","value": "2"},{"name":"降尿酸药","value": "3"},
{"name":"抗心律失常药","value": "4"},{"name":"缓解哮喘药物","value": "5"},{"name":"抗压郁药物","value": "6"},
{"name":"雌激素类药物","value": "7"},{"name":"利尿剂","value": "8"},{"name":"中草药","value": "9"},
{"name":"避孕药","value": "10"},{"name":"强的松类药物","value": "11"},{"name":"镇静剂或安眠药","value": "12"},
{"name":"调值药(降脂药)","value": "13"},{"name":"解热镇痛药(如布洛芬等)","value": "14"}
],
allergenArray:[
{"name":"青霉素","value": "1"},{"name":"磺胺类","value": "2"},{"name":"链霉素","value": "3"},
{"name":"头孢类","value": "4"},{"name":"鸡蛋","value": "5"},{"name":"牛奶","value": "6"},
{"name":"海鲜","value": "7"},{"name":"花粉或尘螨","value": "8"},{"name":"粉尘","value": "9"},
{"name":"洗洁剂","value": "10"},{"name":"化妆品","value": "11"}
],
conditioningProjectIdOption:[],
stepArray: [true,false,false,false,false,false,false,false],
stepActive: 0,
form: {
name: null,
phone: null,
conditioningProjectId: 0,
sex: 1,
age: null,
condiment:["耗油","香油","辣椒油","浓汤宝","鸡精","生抽"],
condiment:["1","5","9","6","1","3"],
otherCondiment:null,
cookingStyle: ["","","","水煮"],
cookingStyle: ["8","9","4","11"],
cookingStyleRate:[1,1,1,1,1,1],
washVegetablesStyle:["先洗后切"],
washVegetablesStyle:["2"],
otherWashVegetablesStyle: null,
breakfastType:"不吃",
breakfastType:"1",
breakfastFood: null,
lunchType:["快餐"],
dinner:["在家吃"],
lunchType:["3"],
dinner:["2"],
vegetableRate: 5,
commonMeat: null,
dinnerTime: "07:00",
supperNum:1,
supperFood:null,
dietHotAndCold: "正常",
dietFlavor: ["偏油","偏咸"],
dietHotAndCold: "3",
dietFlavor: ["1","2"],
vegetablesNum: 1,
vegetablesRateType: "偶尔吃",
vegetablesRateType: "3",
fruitsNum: 1,
fruitsTime: "餐后",
fruitsRate: "经常吃",
fruitsTime: "2",
fruitsRate: "2",
riceNum: 1,
riceFull: 8,
eatingSpeed: "正常",
snacks: ["坚果","饮料","牛奶","果脯","饼干","面包"],
eatingSpeed: "3",
snacks: ["10","11","13","12","3","1"],
otherSnacks:null,
healthProductsFlag: 0,
healthProductsBrand:null,
@ -630,21 +706,21 @@ export default {
healthProductsDayRate:0,
waterNum: 1500,
waterType: ["温水"],
waterHabit: ["随时喝"],
waterType: ["2"],
waterHabit: ["5"],
drinksNum:[0,0,0,0,0,0,0,0],
drinkWineFlag: "偶尔",
drinkWineClassify:["啤酒"],
drinkWineFlag: "3",
drinkWineClassify:["3"],
otherWineClassify: null,
drinkWineAmount:[0,0,0,0],
smokeFlag: 0,
smokeRate:[0,0,0],
secondSmoke: 0,
workIndustry: null,
workType:["久坐"],
workType:["2"],
defecationNum: 1,
otherDefecationNum:0,
defecationTime: ["上午"],
defecationTime: ["1"],
defecationShape: null,
defecationSmell: null,
defecationSpeed: null,
@ -653,16 +729,16 @@ export default {
motionNum: 3,
motionDuration: 40,
motionTime: "08:00",
motionMode:"有氧",
aerobicMotionClassify:["跑步"],
//motionMode:"有氧",
aerobicMotionClassify:["2"],
anaerobicMotionClassify:[],
anaerobicAerobicMotionClassify:[],
otherMotionClassify: null,
motionField:["居家"],
motionField:["1"],
otherMotionField:null,
sleepTime: "23:00",
sleepQuality:["一般"],
sleepQuality:["2"],
sleepDrugFlag: 0,
sleepDrug: null,
stayupLateFlag: 0,
@ -683,7 +759,33 @@ export default {
otherAllergen:null
},
rules: {
name: [
{ required: true, trigger: "blur", message: "请填写姓名" },
{ min: 1, max: 20, trigger: "blur", message: "姓名过长" },
],
sex: [{ required: true, trigger: "blur", message: "请选择性别" }],
age: [
{ required: true, trigger: "blur", message: "请填写年龄" },
{
required: true,
trigger: "blur",
pattern: /^[1-9]\d*$/,
message: "年龄格式不正确",
},
],
phone: [
{ required: true, trigger: "blur", message: "请填写手机号" },
{ required: true, trigger: "blur", message: "请填写正确的手机号" },
{
required: true,
trigger: "blur",
pattern: /^[0-9]{5,11}$/,
message: "手机号格式不正确",
},
],
conditioningProjectId:[
{ required: true, trigger: "blur", message: "请选择调理项目" }
]
},
physicalSignsList: [],
bloodDataList: [],
@ -693,13 +795,56 @@ export default {
},
methods: {
addCustomer(){
console.log(this.form.sex);
console.log(this.form.condiment);
console.log(this.form.cookingStyle);
this.$refs.form.validate((valid) => {
if (valid) {
if(stepActive == stepArray.length-1){
/*addCustomer(cusMessage).then((response) => {
if (response.code === 200) {
console.log("成功");
this.$notify({
title: "提交成功",
message: "",
type: "success",
});
this.submitFlag = true;
}
});*/
}
} else {
this.$message({
message: "数据未填写完整",
type: "warning",
});
}
});
},
nextStep(step){
this.$refs.form.validate((valid) => {
if(valid || step < 0){
this.stepArray[this.stepActive] = false;
this.stepActive = this.stepActive + step;
this.stepArray[this.stepActive] = true;
this.goTop();
}else{
this.$message({
message: "数据未填写完整",
type: "warning",
});
}
});
},
goTop (){
window.scroll(0, 0);
},
getDict(type){
getDictData(type).then(response => {
this.conditioningProjectIdOption = response.data;
});
}
},
created() {
this.getDict("conditioning_project");
},
beforeCreate() {
document.title = this.$route.meta.title;