diff --git a/stdiet-custom/src/main/resources/mapper/custom/SysCustomerHealthyMapper.xml b/stdiet-custom/src/main/resources/mapper/custom/SysCustomerHealthyMapper.xml
index 0a8ce7132..38421789b 100644
--- a/stdiet-custom/src/main/resources/mapper/custom/SysCustomerHealthyMapper.xml
+++ b/stdiet-custom/src/main/resources/mapper/custom/SysCustomerHealthyMapper.xml
@@ -553,6 +553,7 @@
         <result property="depressedStateMessage"    column="depressed_state_message"    />
         <result property="bloodPressureMessage"    column="blood_pressure_message"    />
         <result property="anxietyStateMessage"    column="anxiety_state_message"    />
+        <result property="menstruationMessage"    column="menstruation_message"    />
         <result property="delFlag"    column="del_flag"    />
     </resultMap>
 
diff --git a/stdiet-ui/src/components/HealthyForm/FormExtended.vue b/stdiet-ui/src/components/HealthyForm/FormExtended.vue
index 0dc4ac3d0..34953375d 100644
--- a/stdiet-ui/src/components/HealthyForm/FormExtended.vue
+++ b/stdiet-ui/src/components/HealthyForm/FormExtended.vue
@@ -199,7 +199,7 @@
             </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>
             <div style="margin-top:10px">
                 <el-form-item label="(1) 月经周期、天数" class="margin-left">
@@ -225,7 +225,7 @@
                             rows="3"
                   ></el-input>
             </el-form-item>
-            
+
             <el-form-item label="(4) 月经提前时长" class="margin-left">
                 <el-input type="textarea"
                             v-model="form.healthyExtend.menstruationMessage.menstrualAdvanceDays"
@@ -235,7 +235,7 @@
                             rows="3"
                   ></el-input>
             </el-form-item>
-            
+
             <el-form-item label="(4) 是否有闭经" class="margin-left">
                 <el-radio-group  v-model="form.healthyExtend.menstruationMessage.amenorrhoeaFlag">
                   <el-radio  :label="1" >是</el-radio>
@@ -243,7 +243,7 @@
                 </el-radio-group>
                 <div style="margin-top:8px;"><span class="text-span">若存在闭经,请您描述一下闭经时长</span>
                   <el-input maxlength="100"
-                          v-model="form.healthyExtend.bloodSugarMessage.amenorrhoeaDays"
+                          v-model="form.healthyExtend.menstruationMessage.amenorrhoeaDays"
                           placeholder="请输入闭经时长"
                 ></el-input>
                 </div>
@@ -276,7 +276,7 @@
                 ></el-input>
                 </div>
             </el-form-item>
-            
+
              <p class="p_title_2">2、痛经情况</p>
              <el-form-item label="(1)、是否痛经" class="margin-left">
                 <el-radio-group  v-model="form.healthyExtend.menstruationMessage.menstrualPainFlag">
@@ -284,24 +284,24 @@
                   <el-radio  :label="0" >否</el-radio>
                 </el-radio-group>
              </el-form-item>
-             
+
             <el-form-item label="(2)、痛经性质" class="margin-left">
-              
+
                 <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-group>
-            
+
             </el-form-item>
             <el-form-item label="(3)、痛经类型" class="margin-left">
-              
+
               <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-group>
-                
+
             </el-form-item>
             <div class="margin-left text-span">
                   <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>
 
             <p class="p_title_2">3、药物情况</p>
@@ -312,45 +312,45 @@
                 </el-radio-group>
                 <div style="margin-top:8px;"><span class="text-span">若存在用药,请描述具体名称、剂量、服用时间等</span>
                   <el-input maxlength="100"
-                          v-model="form.healthyExtend.bloodSugarMessage.medication"
+                          v-model="form.healthyExtend.menstruationMessage.medication"
                           placeholder="请输入用药详情"
                 ></el-input>
                 </div>
             </el-form-item>
             <el-form-item label="(2)、是否有生育计划" class="margin-left">
-              
+
               <el-radio-group  v-model="form.healthyExtend.menstruationMessage.familyPlann">
                   <el-radio  :label="1" >是</el-radio>
                   <el-radio  :label="0" >否</el-radio>
                 </el-radio-group>
-            
+
             </el-form-item>
 
             <el-form-item label="(3)、是否存在同房出血情况" class="margin-left">
-              
+
               <el-radio-group  v-model="form.healthyExtend.menstruationMessage.sameRoomBleed">
                   <el-radio  :label="1" >是</el-radio>
                   <el-radio  :label="0" >否</el-radio>
                 </el-radio-group>
-            
+
             </el-form-item>
 
             <el-form-item label="(4)、是否存在排卵期出血" class="margin-left">
-              
+
               <el-radio-group  v-model="form.healthyExtend.menstruationMessage.ovulationBleed">
                   <el-radio  :label="1" >是</el-radio>
                   <el-radio  :label="0" >否</el-radio>
                 </el-radio-group>
-            
+
             </el-form-item>
 
              <el-form-item label="(5)、是否出现胰岛素抵抗(重点)" class="margin-left">
-              
+
               <el-radio-group  v-model="form.healthyExtend.menstruationMessage.insulinResistanceFlag">
                   <el-radio  :label="1" >是</el-radio>
                   <el-radio  :label="0" >否</el-radio>
                 </el-radio-group>
-            
+
             </el-form-item>
 
             <el-form-item label="(6)、其他补充" class="margin-left">
@@ -362,7 +362,7 @@
                             show-word-limit
                             rows="3"
                   ></el-input>
-            
+
             </el-form-item>
 
         </div>
diff --git a/stdiet-ui/src/components/PhysicalSignsDialog/index.vue b/stdiet-ui/src/components/PhysicalSignsDialog/index.vue
index 7231f57e9..138caf25d 100644
--- a/stdiet-ui/src/components/PhysicalSignsDialog/index.vue
+++ b/stdiet-ui/src/components/PhysicalSignsDialog/index.vue
@@ -15,7 +15,7 @@
           <!-- 只有新版健康评估信息才可修改,旧的体征数据不支持修改 -->
           <el-button
             type="info"
-            v-show="dataType == 0 && healthyData.conditioningProjectId == 0"
+            v-show="dataType == 0 && (healthyData && healthyData.conditioningProjectId == 0)"
             @click="generateReport"
             plain
             >下载报告</el-button
@@ -175,12 +175,12 @@
               </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"
               :key="'sign'+index"
             >
-              <div v-if="healthyData.conditioningProjectId == 5 || healthyData.conditioningProjectId == 6">
-                <div v-if="index == 2 || index == 3 || (healthyData.conditioningProjectId == 5 && index == 1) || (healthyData.conditioningProjectId == 6 && index == 0)">
+              <div v-if="healthyDataConstData['extendHealthyIndex'].indexOf(healthyData.conditioningProjectId) != -1">
+                <div v-if="isShowModule(index)">
                   <p class="p_title_1" style="margin-top: 5px">
                     {{ extendedTitleArray[index] }}
                   </p>
@@ -322,7 +322,7 @@ export default {
       healthyTitleData: healthyData['healthyTitleData'],
       // 健康评估属性
       healthyValueData: healthyData['healthyValueData'],
-       extendedTitleArray:['十、高血糖信息评估',"十、高血压信息评估","十一、焦虑信息评估","十二、抑郁信息评估"],
+       extendedTitleArray:['十、高血糖信息评估',"十、高血压信息评估","十一、焦虑信息评估","十二、抑郁信息评估","九、月经不调、多囊信息评估"],
       copyValue: "",
       detailHealthy: null,
       dialogWidth: "950px",
@@ -331,7 +331,7 @@ export default {
   },
   methods: {
     getTitle(index){
-      return healthyData.getTitle(this.healthyData.conditioningProjectId, index)
+      return healthyData.getTitle(this.healthyData.conditioningProjectId, index, 1)
     },
     getImgUrl(idx) {
       return `${window.location.origin}${this.medicalReportPathArray[idx]}`;
@@ -679,9 +679,8 @@ export default {
         (detailHealthy.tall / 100)
       ).toFixed(1);
 
-      
-
       this.detailHealthy = healthyData.dealHealthyExtend(detailHealthy);
+
       for (let i = 0; i < this.healthyTitleData.length; i++) {
         let stepArray = [];
         for (let j = 0; j < this.healthyTitleData[i].length; j++) {
@@ -697,6 +696,14 @@ export default {
         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) {
       let array = healthyData["needAttrName"];
diff --git a/stdiet-ui/src/utils/healthyData.js b/stdiet-ui/src/utils/healthyData.js
index b3fdb6434..1c19c397e 100644
--- a/stdiet-ui/src/utils/healthyData.js
+++ b/stdiet-ui/src/utils/healthyData.js
@@ -764,7 +764,7 @@ export function getTitleKey(projectId){
     return extendHealthyTitle[projectId+""] != null ? extendHealthyTitle[projectId+""] : extendHealthyTitle["0"];
 }
 
-export function getTitle(projectId, index){
+export function getTitle(projectId, index , flag){
     if(extendHealthyIndex.includes(projectId)){
       //跳过了减脂经历
       if(notExperienceIndex.includes(projectId)){
@@ -776,7 +776,7 @@ export function getTitle(projectId, index){
       }else{
         if(index == 1){
           return titleNumArray[index]+getTitleKey(projectId)+"经历评估";
-        }else if(index == 8){
+        }else if(index == 8 && flag != 1){
             return titleNumArray[index+1] + titleArray[index];
         }else{
             return titleNumArray[index]+titleArray[index];
@@ -792,6 +792,8 @@ export function getTitle(projectId, index){
     }
 }
 
+
+
 //获取展示时,根据项目不同返回不同标题
 export function getTitleShowArray(projectId){
   let keyName =  getTitleKey(projectId);
@@ -836,8 +838,12 @@ export const extendedYesNoAttrName = [
 
   {"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;
      });
   }
-  
+
   //高血糖
   detailHealthy.healthyExtend.eatFruitsMessage = eatFruitsMessage;
   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.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;
-
-  dealHealthy.menstrualDelayDays = dealHealthy.healthyExtend.menstruationMessage.menstrualForecast;
-
-  dealHealthy.menstrualAdvanceDays = dealHealthy.healthyExtend.menstruationMessage.menstrualAdvanceDays;
-
-  dealHealthy.amenorrhoeaDays = dealHealthy.amenorrhoeaFlag + ",痛经时长:" + dealHealthy.healthyExtend.menstruationMessage.amenorrhoeaDays;
-
-  dealHealthy.amenorrhoeaDays = dealHealthy.amenorrhoeaFlag + ",痛经时长:" + dealHealthy.healthyExtend.menstruationMessage.amenorrhoeaDays;
-
-  dealHealthy.menstrualColor = getStringBySigleValue(menstrualColorArray, dealHealthy.healthyExtend.menstruationMessage.menstrualColor);
-  dealHealthy.menstrualColor += dealHealthy.menstrualColor != "" ? (","+ dealHealthy.healthyExtend.menstruationMessage.otherMenstrualColor) : dealHealthy.healthyExtend.menstruationMessage.otherMenstrualColor;
-  
-  dealHealthy.menstrualCharacter = getStringBySigleValue(menstrualCharacterArray, dealHealthy.healthyExtend.menstruationMessage.menstrualCharacter);
-  dealHealthy.menstrualCharacter += dealHealthy.menstrualCharacter != "" ? (","+dealHealthy.healthyExtend.menstruationMessage.otherMenstrualCharacter) : dealHealthy.healthyExtend.menstruationMessage.otherMenstrualCharacter;
-  
-  dealHealthy.menstrualNature = getStringBySigleValue(menstrualNatureArray, dealHealthy.healthyExtend.menstruationMessage.menstrualNature);
-
+  detailHealthy.menstrualDelayDays = detailHealthy.healthyExtend.menstruationMessage.menstrualDelayDays;
+  detailHealthy.menstrualAdvanceDays = detailHealthy.healthyExtend.menstruationMessage.menstrualAdvanceDays;
+  detailHealthy.amenorrhoeaDays = detailHealthy.amenorrhoeaFlag + ",痛经时长:" + nullToString(detailHealthy.healthyExtend.menstruationMessage.amenorrhoeaDays);
+  detailHealthy.menstrualColor = getStringBySigleValue(menstrualColorArray, detailHealthy.healthyExtend.menstruationMessage.menstrualColor);
+  detailHealthy.menstrualColor += (detailHealthy.menstrualColor != "" ? "," : "") + nullToString(detailHealthy.healthyExtend.menstruationMessage.otherMenstrualColor);
+  detailHealthy.menstrualColor = removeEnd(detailHealthy.menstrualColor);
+  detailHealthy.menstrualCharacter = getStringBySigleValue(menstrualCharacterArray, detailHealthy.healthyExtend.menstruationMessage.menstrualCharacter);
+  detailHealthy.menstrualCharacter += (detailHealthy.menstrualCharacter != "" ? "," : "") + nullToString(detailHealthy.healthyExtend.menstruationMessage.otherMenstrualCharacter);
+  detailHealthy.menstrualCharacter = removeEnd(detailHealthy.menstrualCharacter);
+  detailHealthy.menstrualNature = getStringBySigleValue(menstrualNatureArray, detailHealthy.healthyExtend.menstruationMessage.menstrualNature);
+  detailHealthy.menstrualType = getStringBySigleValue(menstrualTypeArray, detailHealthy.healthyExtend.menstruationMessage.menstrualType);
+  detailHealthy.medication = detailHealthy.medicationFlag + ",具体药物:" + nullToString(detailHealthy.healthyExtend.menstruationMessage.medication);
+  detailHealthy.otherDescriptions = detailHealthy.healthyExtend.menstruationMessage.otherDescriptions;
 }
 
 export function nullToString(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 = [
   [