月经不调问卷优化

This commit is contained in:
xiezhijun 2021-06-27 23:45:08 +08:00
parent ea75eddab0
commit 90f398c879
4 changed files with 73 additions and 53 deletions

View File

@ -553,6 +553,7 @@
<result property="depressedStateMessage" column="depressed_state_message" /> <result property="depressedStateMessage" column="depressed_state_message" />
<result property="bloodPressureMessage" column="blood_pressure_message" /> <result property="bloodPressureMessage" column="blood_pressure_message" />
<result property="anxietyStateMessage" column="anxiety_state_message" /> <result property="anxietyStateMessage" column="anxiety_state_message" />
<result property="menstruationMessage" column="menstruation_message" />
<result property="delFlag" column="del_flag" /> <result property="delFlag" column="del_flag" />
</resultMap> </resultMap>

View File

@ -199,7 +199,7 @@
</div> </div>
</div> </div>
<!-- 月经不调多囊卵巢综合症 --> <!-- 月经不调多囊卵巢综合症 -->
<div v-if="form.conditioningProjectId == 1 || form.conditioningProjectId == 2"> <div v-if="form.conditioningProjectId == 1 || form.conditioningProjectId == 2">
<p class="p_title_2">1月经基础情况</p> <p class="p_title_2">1月经基础情况</p>
<div style="margin-top:10px"> <div style="margin-top:10px">
<el-form-item label="(1) 月经周期、天数" class="margin-left"> <el-form-item label="(1) 月经周期、天数" class="margin-left">
@ -225,7 +225,7 @@
rows="3" rows="3"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="(4) 月经提前时长" class="margin-left"> <el-form-item label="(4) 月经提前时长" class="margin-left">
<el-input type="textarea" <el-input type="textarea"
v-model="form.healthyExtend.menstruationMessage.menstrualAdvanceDays" v-model="form.healthyExtend.menstruationMessage.menstrualAdvanceDays"
@ -235,7 +235,7 @@
rows="3" rows="3"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="(4) 是否有闭经" class="margin-left"> <el-form-item label="(4) 是否有闭经" class="margin-left">
<el-radio-group v-model="form.healthyExtend.menstruationMessage.amenorrhoeaFlag"> <el-radio-group v-model="form.healthyExtend.menstruationMessage.amenorrhoeaFlag">
<el-radio :label="1" ></el-radio> <el-radio :label="1" ></el-radio>
@ -243,7 +243,7 @@
</el-radio-group> </el-radio-group>
<div style="margin-top:8px;"><span class="text-span">若存在闭经请您描述一下闭经时长</span> <div style="margin-top:8px;"><span class="text-span">若存在闭经请您描述一下闭经时长</span>
<el-input maxlength="100" <el-input maxlength="100"
v-model="form.healthyExtend.bloodSugarMessage.amenorrhoeaDays" v-model="form.healthyExtend.menstruationMessage.amenorrhoeaDays"
placeholder="请输入闭经时长" placeholder="请输入闭经时长"
></el-input> ></el-input>
</div> </div>
@ -276,7 +276,7 @@
></el-input> ></el-input>
</div> </div>
</el-form-item> </el-form-item>
<p class="p_title_2">2痛经情况</p> <p class="p_title_2">2痛经情况</p>
<el-form-item label="(1)、是否痛经" class="margin-left"> <el-form-item label="(1)、是否痛经" class="margin-left">
<el-radio-group v-model="form.healthyExtend.menstruationMessage.menstrualPainFlag"> <el-radio-group v-model="form.healthyExtend.menstruationMessage.menstrualPainFlag">
@ -284,24 +284,24 @@
<el-radio :label="0" ></el-radio> <el-radio :label="0" ></el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="(2)、痛经性质" class="margin-left"> <el-form-item label="(2)、痛经性质" class="margin-left">
<el-radio-group v-model="form.healthyExtend.menstruationMessage.menstrualNature"> <el-radio-group v-model="form.healthyExtend.menstruationMessage.menstrualNature">
<el-radio v-for="(item,index) in healthyData['menstrualNatureArray']" :style="'width:100%;'+(index >0 ? 'margin-top:7px' : '')" :label="item.value" :key="index">{{ item.name }}</el-radio> <el-radio v-for="(item,index) in healthyData['menstrualNatureArray']" :style="'width:100%;'+(index >0 ? 'margin-top:7px' : '')" :label="item.value" :key="index">{{ item.name }}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="(3)、痛经类型" class="margin-left"> <el-form-item label="(3)、痛经类型" class="margin-left">
<el-radio-group v-model="form.healthyExtend.menstruationMessage.menstrualType"> <el-radio-group v-model="form.healthyExtend.menstruationMessage.menstrualType">
<el-radio v-for="(item,index) in healthyData['menstrualTypeArray']" :style="'width:100%;'+(index >0 ? 'margin-top:7px' : '')" :label="item.value" :key="index">{{ item.name }}</el-radio> <el-radio v-for="(item,index) in healthyData['menstrualTypeArray']" :style="'width:100%;'+(index >0 ? 'margin-top:7px' : '')" :label="item.value" :key="index">{{ item.name }}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<div class="margin-left text-span"> <div class="margin-left text-span">
<div style="color:#1890ff">类型特点说明</div> <div style="color:#1890ff">类型特点说明</div>
<div style="margin-top:5px" v-for="(item,index) in healthyData['menstrualTypeIntroduceArray']" :key="index+'div'">{{item.name}}<span class="text-span-min">{{item.value}}</span></div> <div style="margin-top:5px" v-for="(item,index) in healthyData['menstrualTypeIntroduceArray']" :key="index+'div'">{{item.name}}<span class="text-span-min">{{item.value}}</span></div>
</div> </div>
<p class="p_title_2">3药物情况</p> <p class="p_title_2">3药物情况</p>
@ -312,45 +312,45 @@
</el-radio-group> </el-radio-group>
<div style="margin-top:8px;"><span class="text-span">若存在用药请描述具体名称剂量服用时间等</span> <div style="margin-top:8px;"><span class="text-span">若存在用药请描述具体名称剂量服用时间等</span>
<el-input maxlength="100" <el-input maxlength="100"
v-model="form.healthyExtend.bloodSugarMessage.medication" v-model="form.healthyExtend.menstruationMessage.medication"
placeholder="请输入用药详情" placeholder="请输入用药详情"
></el-input> ></el-input>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="(2)、是否有生育计划" class="margin-left"> <el-form-item label="(2)、是否有生育计划" class="margin-left">
<el-radio-group v-model="form.healthyExtend.menstruationMessage.familyPlann"> <el-radio-group v-model="form.healthyExtend.menstruationMessage.familyPlann">
<el-radio :label="1" ></el-radio> <el-radio :label="1" ></el-radio>
<el-radio :label="0" ></el-radio> <el-radio :label="0" ></el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="(3)、是否存在同房出血情况" class="margin-left"> <el-form-item label="(3)、是否存在同房出血情况" class="margin-left">
<el-radio-group v-model="form.healthyExtend.menstruationMessage.sameRoomBleed"> <el-radio-group v-model="form.healthyExtend.menstruationMessage.sameRoomBleed">
<el-radio :label="1" ></el-radio> <el-radio :label="1" ></el-radio>
<el-radio :label="0" ></el-radio> <el-radio :label="0" ></el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="(4)、是否存在排卵期出血" class="margin-left"> <el-form-item label="(4)、是否存在排卵期出血" class="margin-left">
<el-radio-group v-model="form.healthyExtend.menstruationMessage.ovulationBleed"> <el-radio-group v-model="form.healthyExtend.menstruationMessage.ovulationBleed">
<el-radio :label="1" ></el-radio> <el-radio :label="1" ></el-radio>
<el-radio :label="0" ></el-radio> <el-radio :label="0" ></el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="(5)、是否出现胰岛素抵抗(重点)" class="margin-left"> <el-form-item label="(5)、是否出现胰岛素抵抗(重点)" class="margin-left">
<el-radio-group v-model="form.healthyExtend.menstruationMessage.insulinResistanceFlag"> <el-radio-group v-model="form.healthyExtend.menstruationMessage.insulinResistanceFlag">
<el-radio :label="1" ></el-radio> <el-radio :label="1" ></el-radio>
<el-radio :label="0" ></el-radio> <el-radio :label="0" ></el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="(6)、其他补充" class="margin-left"> <el-form-item label="(6)、其他补充" class="margin-left">
@ -362,7 +362,7 @@
show-word-limit show-word-limit
rows="3" rows="3"
></el-input> ></el-input>
</el-form-item> </el-form-item>
</div> </div>

View File

@ -15,7 +15,7 @@
<!-- 只有新版健康评估信息才可修改旧的体征数据不支持修改 --> <!-- 只有新版健康评估信息才可修改旧的体征数据不支持修改 -->
<el-button <el-button
type="info" type="info"
v-show="dataType == 0 && healthyData.conditioningProjectId == 0" v-show="dataType == 0 && (healthyData && healthyData.conditioningProjectId == 0)"
@click="generateReport" @click="generateReport"
plain plain
>下载报告</el-button >下载报告</el-button
@ -175,12 +175,12 @@
</div> </div>
</div> </div>
<div <div
v-for="(item, index) in dataList.slice(9, 13)" v-for="(item, index) in dataList.slice(9, 14)"
style="margin-bottom: 50px" style="margin-bottom: 50px"
:key="'sign'+index" :key="'sign'+index"
> >
<div v-if="healthyData.conditioningProjectId == 5 || healthyData.conditioningProjectId == 6"> <div v-if="healthyDataConstData['extendHealthyIndex'].indexOf(healthyData.conditioningProjectId) != -1">
<div v-if="index == 2 || index == 3 || (healthyData.conditioningProjectId == 5 && index == 1) || (healthyData.conditioningProjectId == 6 && index == 0)"> <div v-if="isShowModule(index)">
<p class="p_title_1" style="margin-top: 5px"> <p class="p_title_1" style="margin-top: 5px">
{{ extendedTitleArray[index] }} {{ extendedTitleArray[index] }}
</p> </p>
@ -322,7 +322,7 @@ export default {
healthyTitleData: healthyData['healthyTitleData'], healthyTitleData: healthyData['healthyTitleData'],
// //
healthyValueData: healthyData['healthyValueData'], healthyValueData: healthyData['healthyValueData'],
extendedTitleArray:['十、高血糖信息评估',"十、高血压信息评估","十一、焦虑信息评估","十二、抑郁信息评估"], extendedTitleArray:['十、高血糖信息评估',"十、高血压信息评估","十一、焦虑信息评估","十二、抑郁信息评估","九、月经不调、多囊信息评估"],
copyValue: "", copyValue: "",
detailHealthy: null, detailHealthy: null,
dialogWidth: "950px", dialogWidth: "950px",
@ -331,7 +331,7 @@ export default {
}, },
methods: { methods: {
getTitle(index){ getTitle(index){
return healthyData.getTitle(this.healthyData.conditioningProjectId, index) return healthyData.getTitle(this.healthyData.conditioningProjectId, index, 1)
}, },
getImgUrl(idx) { getImgUrl(idx) {
return `${window.location.origin}${this.medicalReportPathArray[idx]}`; return `${window.location.origin}${this.medicalReportPathArray[idx]}`;
@ -679,9 +679,8 @@ export default {
(detailHealthy.tall / 100) (detailHealthy.tall / 100)
).toFixed(1); ).toFixed(1);
this.detailHealthy = healthyData.dealHealthyExtend(detailHealthy); this.detailHealthy = healthyData.dealHealthyExtend(detailHealthy);
for (let i = 0; i < this.healthyTitleData.length; i++) { for (let i = 0; i < this.healthyTitleData.length; i++) {
let stepArray = []; let stepArray = [];
for (let j = 0; j < this.healthyTitleData[i].length; j++) { for (let j = 0; j < this.healthyTitleData[i].length; j++) {
@ -697,6 +696,14 @@ export default {
this.dataList[i] = stepArray; this.dataList[i] = stepArray;
} }
}, },
isShowModule(index){
if(this.healthyData.conditioningProjectId == 5 || this.healthyData.conditioningProjectId == 6){
return index == 2 || index == 3 || (this.healthyData.conditioningProjectId == 5 && index == 1) || (this.healthyData.conditioningProjectId == 6 && index == 0)
}else if(this.healthyData.conditioningProjectId == 1 || this.healthyData.conditioningProjectId == 2){
return index == 4;
}
return false;
},
// //
dealHealthy(customerHealthy) { dealHealthy(customerHealthy) {
let array = healthyData["needAttrName"]; let array = healthyData["needAttrName"];

View File

@ -764,7 +764,7 @@ export function getTitleKey(projectId){
return extendHealthyTitle[projectId+""] != null ? extendHealthyTitle[projectId+""] : extendHealthyTitle["0"]; return extendHealthyTitle[projectId+""] != null ? extendHealthyTitle[projectId+""] : extendHealthyTitle["0"];
} }
export function getTitle(projectId, index){ export function getTitle(projectId, index , flag){
if(extendHealthyIndex.includes(projectId)){ if(extendHealthyIndex.includes(projectId)){
//跳过了减脂经历 //跳过了减脂经历
if(notExperienceIndex.includes(projectId)){ if(notExperienceIndex.includes(projectId)){
@ -776,7 +776,7 @@ export function getTitle(projectId, index){
}else{ }else{
if(index == 1){ if(index == 1){
return titleNumArray[index]+getTitleKey(projectId)+"经历评估"; return titleNumArray[index]+getTitleKey(projectId)+"经历评估";
}else if(index == 8){ }else if(index == 8 && flag != 1){
return titleNumArray[index+1] + titleArray[index]; return titleNumArray[index+1] + titleArray[index];
}else{ }else{
return titleNumArray[index]+titleArray[index]; return titleNumArray[index]+titleArray[index];
@ -792,6 +792,8 @@ export function getTitle(projectId, index){
} }
} }
//获取展示时,根据项目不同返回不同标题 //获取展示时,根据项目不同返回不同标题
export function getTitleShowArray(projectId){ export function getTitleShowArray(projectId){
let keyName = getTitleKey(projectId); let keyName = getTitleKey(projectId);
@ -836,8 +838,12 @@ export const extendedYesNoAttrName = [
{"targetAttrName": "amenorrhoeaFlag", "healthyAttrName": "menstruationMessage,amenorrhoeaFlag"}, {"targetAttrName": "amenorrhoeaFlag", "healthyAttrName": "menstruationMessage,amenorrhoeaFlag"},
{"targetAttrName": "medicationFlag", "healthyAttrName": "menstruationMessage,medicationFlag"},
{"targetAttrName": "familyPlann", "healthyAttrName": "menstruationMessage,familyPlann"},
{"targetAttrName": "sameRoomBleed", "healthyAttrName": "menstruationMessage,sameRoomBleed"},
{"targetAttrName": "ovulationBleed", "healthyAttrName": "menstruationMessage,ovulationBleed"},
{"targetAttrName": "insulinResistanceFlag", "healthyAttrName": "menstruationMessage,insulinResistanceFlag"}
] ]
@ -883,7 +889,7 @@ export function dealHealthyExtend(detailHealthy){
eatFruitsMessage += (eatFruitsMessage == "" ? "" : ", ") + item.name + "/" + item.num; eatFruitsMessage += (eatFruitsMessage == "" ? "" : ", ") + item.name + "/" + item.num;
}); });
} }
//高血糖 //高血糖
detailHealthy.healthyExtend.eatFruitsMessage = eatFruitsMessage; detailHealthy.healthyExtend.eatFruitsMessage = eatFruitsMessage;
detailHealthy.mealBloodSugar = "餐前血糖:"+(detailHealthy.healthyExtend.bloodSugarMessage.beforeMealBloodSugar == null ? "" : (detailHealthy.healthyExtend.bloodSugarMessage.beforeMealBloodSugar+"mmol/L"))+", " detailHealthy.mealBloodSugar = "餐前血糖:"+(detailHealthy.healthyExtend.bloodSugarMessage.beforeMealBloodSugar == null ? "" : (detailHealthy.healthyExtend.bloodSugarMessage.beforeMealBloodSugar+"mmol/L"))+", "
@ -908,33 +914,39 @@ export function dealHealthyExtend(detailHealthy){
detailHealthy.pressureInferiorSymptom = (detailHealthy.healthyExtend.bloodPressureMessage.inferiorSymptomFlag == 1 ? "是" : "否") + ", 具体症状:"+getStringByMuchValue(syndromeNameArray,detailHealthy.healthyExtend.bloodPressureMessage.inferiorSymptom); detailHealthy.pressureInferiorSymptom = (detailHealthy.healthyExtend.bloodPressureMessage.inferiorSymptomFlag == 1 ? "是" : "否") + ", 具体症状:"+getStringByMuchValue(syndromeNameArray,detailHealthy.healthyExtend.bloodPressureMessage.inferiorSymptom);
detailHealthy.pressureWeightChangeFlag = detailHealthy.healthyExtend.bloodPressureMessage.weightChangeFlag == 1 ? "是" : "否"; detailHealthy.pressureWeightChangeFlag = detailHealthy.healthyExtend.bloodPressureMessage.weightChangeFlag == 1 ? "是" : "否";
//月经不调、多囊
detailHealthy.menstrualCycle = "生理周期:" + detailHealthy.healthyExtend.menstruationMessage.menstrualCycle + ",生理天数:" + detailHealthy.healthyExtend.menstruationMessage.menstrualDays; detailHealthy.menstrualCycle = "生理周期:" + nullToString(detailHealthy.healthyExtend.menstruationMessage.menstrualCycle) + ",生理天数:" + nullToString(detailHealthy.healthyExtend.menstruationMessage.menstrualDays);
detailHealthy.menstrualForecast = detailHealthy.healthyExtend.menstruationMessage.menstrualForecast; detailHealthy.menstrualForecast = detailHealthy.healthyExtend.menstruationMessage.menstrualForecast;
detailHealthy.menstrualDelayDays = detailHealthy.healthyExtend.menstruationMessage.menstrualDelayDays;
dealHealthy.menstrualDelayDays = dealHealthy.healthyExtend.menstruationMessage.menstrualForecast; detailHealthy.menstrualAdvanceDays = detailHealthy.healthyExtend.menstruationMessage.menstrualAdvanceDays;
detailHealthy.amenorrhoeaDays = detailHealthy.amenorrhoeaFlag + ",痛经时长:" + nullToString(detailHealthy.healthyExtend.menstruationMessage.amenorrhoeaDays);
dealHealthy.menstrualAdvanceDays = dealHealthy.healthyExtend.menstruationMessage.menstrualAdvanceDays; detailHealthy.menstrualColor = getStringBySigleValue(menstrualColorArray, detailHealthy.healthyExtend.menstruationMessage.menstrualColor);
detailHealthy.menstrualColor += (detailHealthy.menstrualColor != "" ? "" : "") + nullToString(detailHealthy.healthyExtend.menstruationMessage.otherMenstrualColor);
dealHealthy.amenorrhoeaDays = dealHealthy.amenorrhoeaFlag + ",痛经时长:" + dealHealthy.healthyExtend.menstruationMessage.amenorrhoeaDays; detailHealthy.menstrualColor = removeEnd(detailHealthy.menstrualColor);
detailHealthy.menstrualCharacter = getStringBySigleValue(menstrualCharacterArray, detailHealthy.healthyExtend.menstruationMessage.menstrualCharacter);
dealHealthy.amenorrhoeaDays = dealHealthy.amenorrhoeaFlag + ",痛经时长:" + dealHealthy.healthyExtend.menstruationMessage.amenorrhoeaDays; detailHealthy.menstrualCharacter += (detailHealthy.menstrualCharacter != "" ? "" : "") + nullToString(detailHealthy.healthyExtend.menstruationMessage.otherMenstrualCharacter);
detailHealthy.menstrualCharacter = removeEnd(detailHealthy.menstrualCharacter);
dealHealthy.menstrualColor = getStringBySigleValue(menstrualColorArray, dealHealthy.healthyExtend.menstruationMessage.menstrualColor); detailHealthy.menstrualNature = getStringBySigleValue(menstrualNatureArray, detailHealthy.healthyExtend.menstruationMessage.menstrualNature);
dealHealthy.menstrualColor += dealHealthy.menstrualColor != "" ? (""+ dealHealthy.healthyExtend.menstruationMessage.otherMenstrualColor) : dealHealthy.healthyExtend.menstruationMessage.otherMenstrualColor; detailHealthy.menstrualType = getStringBySigleValue(menstrualTypeArray, detailHealthy.healthyExtend.menstruationMessage.menstrualType);
detailHealthy.medication = detailHealthy.medicationFlag + ",具体药物:" + nullToString(detailHealthy.healthyExtend.menstruationMessage.medication);
dealHealthy.menstrualCharacter = getStringBySigleValue(menstrualCharacterArray, dealHealthy.healthyExtend.menstruationMessage.menstrualCharacter); detailHealthy.otherDescriptions = detailHealthy.healthyExtend.menstruationMessage.otherDescriptions;
dealHealthy.menstrualCharacter += dealHealthy.menstrualCharacter != "" ? (""+dealHealthy.healthyExtend.menstruationMessage.otherMenstrualCharacter) : dealHealthy.healthyExtend.menstruationMessage.otherMenstrualCharacter;
dealHealthy.menstrualNature = getStringBySigleValue(menstrualNatureArray, dealHealthy.healthyExtend.menstruationMessage.menstrualNature);
} }
export function nullToString(val){ export function nullToString(val){
return (val == undefined || val == null) ? "" : val; return (val == undefined || val == null) ? "" : val;
} }
export function removeEnd(val){
if(val == undefined || val == null){
return "";
}
let lastChar = val.substr(val.length-1, 1);
if(lastChar == "," || lastChar == ""){
return val.substring(0, val.length-1);
}
return val;
}
// 健康评估标题 // 健康评估标题
export const healthyTitleData = [ export const healthyTitleData = [
[ [