feige
2024-12-04 d10cfa799cfa059d21542369b37ba0b480babdc6
ruoyi-ui/src/views/healthy/healthYear.vue
@@ -19,6 +19,26 @@
    <el-divider />
<el-row  :gutter="2">
  <el-col :border="1" :span="4" v-for="(item, index) in allBasicInfo" :key="o" :offset="1">
  <div>
    <el-card :body-style="{ padding: '1px' }">
      <img src="https://shadow.elemecdn.com/app/element/hamburger.9cf7b091-55e9-11e9-a976-7f4d0b07eef6.png" class="image">
      <div style="">
        <span>{{item}}</span>
        <div class="bottom clearfix">
          <el-button type="text" class="button" @click="handleEditInfo(index)">查看详情</el-button>
        </div>
      </div>
    </el-card>
   </div>
  </el-col>
</el-row>
    <el-dialog  :visible.sync="open" width="800px" append-to-body @close="">
    <h2 style="font-size:21px">基本情况</h2>
    <el-container>
@@ -74,9 +94,36 @@
                  </el-input>
                </el-form-item>
              </el-row>
            </el-form>
          </el-col>
           <el-form ref="elForm" :model="HealthyBaseList" :rules="rules" size="medium"  label-position="left"
                     v-loading="loading" :data="HealthyBaseList" >
              <el-row :span="16">
                <el-form-item label="血型" prop="bloodClass" label-width="40px">
           <!--       <el-radio label="a" v-model="selectedBloodType" :disabled="dsb" @change="handlebloodChange">A型血</el-radio>
                  <el-radio label="b" v-model="selectedBloodType" :disabled="dsb" @change="handlebloodChange">B型血</el-radio>
                  <el-radio label="o" v-model="selectedBloodType" :disabled="dsb" @change="handlebloodChange"> O型血</el-radio>
                  <el-radio label="ab" v-model="selectedBloodType" :disabled="dsb" @change="handlebloodChange" >AB型血</el-radio>
                  <el-radio label="rh" v-model="selectedBloodType" :disabled="dsb" @change="handlebloodChange">RH型血</el-radio>
                  <el-radio label="other" v-model="selectedBloodType" :disabled="dsb" @change="handlebloodChange">其他</el-radio>
                  <el-radio label="unknown" v-model="selectedBloodType" :disabled="dsb" @change="handlebloodChange">未知血型</el-radio>
            -->     <el-select :disabled="dsb" v-model="selectedBloodType" @change="handlebloodChange" placeholder="请选择">
                    <el-option
                      v-for="item in Bloodoptions"
                      :key="item.value"
                      :label="item.label"
                      :value="item.value">
                    </el-option>
                  </el-select>
                   </el-form-item>
              </el-row>
            </el-form>
        </el-col>
        </el-container>
      </div>
@@ -102,64 +149,10 @@
      </div>
      <div style="padding-left:400px;padding-top:30px" >
        <el-container >
          <el-row :gutter="10" class="mb8">
            <el-col  >
              <el-button
                plain
                @click="handleEdit()"
                style="width: 80px;height: 32px;background: #E0EEFE;"
                v-if="isShow"
                v-hasPermi="['system:role:edit']"
              >编辑</el-button>
              <el-button v-if="isShow_2"  style="width: 80px;height: 32px;background: #E0EEFE;" @click="submitForm" :disabled="dsb">完成</el-button>
              <br>
            </el-col>
<!--            <el-col style="padding-top: 10px;">-->
<!--              <el-button-->
<!--                plain-->
<!--                style="width: 80px;height: 32px;background: #D2F3E0;"-->
<!--                @click="handleExport"-->
<!--                v-hasPermi="['family:note:export']"-->
<!--              >导出</el-button></el-col>-->
            <el-col style="padding-top: 10px;">
              <el-button
                plain
                style="width: 80px;height: 32px;background: #FFDDE3;"
                v-print="'#printable-content'"
                v-hasPermi="['family:note:export']"
              >打印</el-button></el-col>
          </el-row>
        </el-container>
      </div>
      <!--      </el-dialog> self:user:export-->
    </el-container>
    <div>
      <el-form ref="elForm" :model="HealthyBaseList" :rules="rules" size="medium"  label-position="left"
               v-loading="loading" :data="HealthyBaseList" >
        <el-row :span="16">
          <el-form-item label="血型:" prop="bloodClass" label-width="70px">
            <el-radio label="a" v-model="selectedBloodType" :disabled="dsb" @change="handlebloodChange">A型血</el-radio>
            <el-radio label="b" v-model="selectedBloodType" :disabled="dsb" @change="handlebloodChange">B型血</el-radio>
            <el-radio label="o" v-model="selectedBloodType" :disabled="dsb" @change="handlebloodChange"> O型血</el-radio>
            <el-radio label="ab" v-model="selectedBloodType" :disabled="dsb" @change="handlebloodChange" >AB型血</el-radio>
            <el-radio label="rh" v-model="selectedBloodType" :disabled="dsb" @change="handlebloodChange">RH型血</el-radio>
            <el-radio label="other" v-model="selectedBloodType" :disabled="dsb" @change="handlebloodChange">其他</el-radio>
            <el-radio label="unknown" v-model="selectedBloodType" :disabled="dsb" @change="handlebloodChange">未知血型</el-radio>
          </el-form-item>
        </el-row>
      </el-form>
    </div>
    <el-container>
      <div >
@@ -168,11 +161,28 @@
            <el-form ref="elForm" :model="HealthyBaseList" :rules="rules" size="medium"  label-position="left"
                     v-loading="loading" :data="HealthyBaseList" >
              <el-row :span="16">
                <el-form-item label="过敏史:" prop="allergyClass" label-width="70px">
                  <el-radio label="medicine" v-model="selectedallergyType" :disabled="dsb" @change="handleAllergyChange">药物</el-radio>
                  <el-radio label="food" v-model="selectedallergyType" :disabled="dsb" @change="handleAllergyChange">食物</el-radio>
                  <el-radio label="other" v-model="selectedallergyType" :disabled="dsb" @change="handleAllergyChange">其他</el-radio>
                </el-form-item>
            <el-form-item label="过敏史" prop="allergyClass" label-width="60px">
            <!--       <el-radio label="a" v-model="selectedBloodType" :disabled="dsb" @change="handlebloodChange">A型血</el-radio>
                   <el-radio label="b" v-model="selectedBloodType" :disabled="dsb" @change="handlebloodChange">B型血</el-radio>
                   <el-radio label="o" v-model="selectedBloodType" :disabled="dsb" @change="handlebloodChange"> O型血</el-radio>
                   <el-radio label="ab" v-model="selectedBloodType" :disabled="dsb" @change="handlebloodChange" >AB型血</el-radio>
                   <el-radio label="rh" v-model="selectedBloodType" :disabled="dsb" @change="handlebloodChange">RH型血</el-radio>
                   <el-radio label="other" v-model="selectedBloodType" :disabled="dsb" @change="handlebloodChange">其他</el-radio>
                   <el-radio label="unknown" v-model="selectedBloodType" :disabled="dsb" @change="handlebloodChange">未知血型</el-radio>
             -->     <el-select :disabled="dsb" v-model="selectedallergyType" @change="handleAllergyChange" placeholder="请选择">
                     <el-option
                       v-for="item in gmoptions"
                       :key="item.value"
                       :label="item.label"
                       :value="item.value">
                     </el-option>
                   </el-select>
                    </el-form-item>
              </el-row>
              <el-dialog title="填写其他过敏史" :visible="showOtherDialog" @close="closeOtherDialog">
                <el-input v-model="otherText" placeholder="请输入其他过敏史"></el-input>
@@ -194,13 +204,33 @@
            <el-form ref="elForm" :model="HealthyBaseList" :rules="rules" size="medium"  label-position="left"
                     v-loading="loading" :data="HealthyBaseList"  >
              <el-row :span="20">
                <el-form-item label="遗传病史:" prop="geneticDiseaseClass" label-width="80px">
         <!--       <el-form-item label="遗传病史" prop="geneticDiseaseClass" label-width="80px">
                  <el-radio label="hypertension" v-model="selectedgeneticDiseaseType" :disabled="dsb" @change="handlegeneticDiseaseChange">高血压</el-radio>
                  <el-radio label="diabetes" v-model="selectedgeneticDiseaseType" :disabled="dsb" @change="handlegeneticDiseaseChange">糖尿病</el-radio>
                  <el-radio label="tumor" v-model="selectedgeneticDiseaseType" :disabled="dsb" @change="handlegeneticDiseaseChange">肿瘤</el-radio>
                  <el-radio label="other" v-model="selectedgeneticDiseaseType" :disabled="dsb" @change="handlegeneticDiseaseChange">其他</el-radio>
                </el-form-item>
             -->
            <el-form-item label="遗传病史" prop="geneticDiseaseClass" label-width="80px">
            <!--       <el-radio label="a" v-model="selectedBloodType" :disabled="dsb" @change="handlebloodChange">A型血</el-radio>
                   <el-radio label="b" v-model="selectedBloodType" :disabled="dsb" @change="handlebloodChange">B型血</el-radio>
                   <el-radio label="o" v-model="selectedBloodType" :disabled="dsb" @change="handlebloodChange"> O型血</el-radio>
                   <el-radio label="ab" v-model="selectedBloodType" :disabled="dsb" @change="handlebloodChange" >AB型血</el-radio>
                   <el-radio label="rh" v-model="selectedBloodType" :disabled="dsb" @change="handlebloodChange">RH型血</el-radio>
                   <el-radio label="other" v-model="selectedBloodType" :disabled="dsb" @change="handlebloodChange">其他</el-radio>
                   <el-radio label="unknown" v-model="selectedBloodType" :disabled="dsb" @change="handlebloodChange">未知血型</el-radio>
             -->     <el-select :disabled="dsb" v-model="selectedgeneticDiseaseType" @change="handlegeneticDiseaseChange" placeholder="请选择">
                     <el-option
                       v-for="item in ycoptions"
                       :key="item.value"
                       :label="item.label"
                       :value="item.value">
                     </el-option>
                   </el-select>
                    </el-form-item>
              </el-row>
              <el-row :span="20">
                <el-form-item label="目前基础病" prop="baseDisease" label-width="90px">
@@ -213,7 +243,50 @@
        </el-container>
      </div>
    </el-container>
         <div style="padding-top:30px" >
           <el-container >
             <el-row :gutter="10" class="mb8">
               <el-col  >
                 <el-button
                   plain
                   @click="handleEdit()"
                   style="width: 80px;height: 32px;background: #E0EEFE;"
                   v-if="isShow"
                   v-hasPermi="['system:role:edit']"
                 >编辑</el-button>
                 <el-button v-if="isShow_2"  style="width: 80px;height: 32px;background: #E0EEFE;" @click="submitForm" :disabled="dsb">完成</el-button>
                 <br>
               </el-col>
   <!--            <el-col style="padding-top: 10px;">-->
   <!--              <el-button-->
   <!--                plain-->
   <!--                style="width: 80px;height: 32px;background: #D2F3E0;"-->
   <!--                @click="handleExport"-->
   <!--                v-hasPermi="['family:note:export']"-->
   <!--              >导出</el-button></el-col>-->
     <!--          <el-col style="padding-top: 10px;">
                 <el-button
                   plain
                   style="width: 80px;height: 32px;background: #FFDDE3;"
                   v-print="'#printable-content'"
                   v-hasPermi="['family:note:export']"
                 >打印</el-button></el-col> -->
             </el-row>
           </el-container>
         </div>
</el-dialog>
<el-dialog :visible.sync="open1" width="800px" append-to-body @close="">
    <h2 style="font-size:21px">生活习惯</h2>
    <el-container>
      <div style="padding-left:0px" >
@@ -268,7 +341,7 @@
          <el-form ref="elForm" :model="LiveHabbitList" :rules="rules" size="medium"  label-position="left"
                   v-loading="loading" :data="LiveHabbitList"  >
            <el-row :span="16">
              <el-form-item label="睡眠:" prop="sleepClass" label-width="80px">
    <!--          <el-form-item label="睡眠:" prop="sleepClass" label-width="80px">
                <el-radio label="good" v-model="selectedsleepType" :disabled="dsb" @change="handlesleepChange">良好</el-radio>
                <el-radio label="general" v-model="selectedsleepType" :disabled="dsb" @change="handlesleepChange">一般</el-radio>
                <el-radio label="easyWake" v-model="selectedsleepType" :disabled="dsb" @change="handlesleepChange"> 易醒</el-radio>
@@ -276,7 +349,28 @@
                <el-radio label="sleepless" v-model="selectedsleepType" :disabled="dsb" @change="handlesleepChange">失眠</el-radio>
                <el-radio label="snore" v-model="selectedsleepType" :disabled="dsb" @change="handlesleepChange">打鼾</el-radio>
                <el-radio label="wakefulness" v-model="selectedsleepType" :disabled="dsb" @change="handlesleepChange">睡不熟</el-radio>
              </el-form-item>
              </el-form-item> -->
           <el-form-item label="睡眠:" prop="sleepClass" label-width="80px">
           <!--       <el-radio label="a" v-model="selectedBloodType" :disabled="dsb" @change="handlebloodChange">A型血</el-radio>
                  <el-radio label="b" v-model="selectedBloodType" :disabled="dsb" @change="handlebloodChange">B型血</el-radio>
                  <el-radio label="o" v-model="selectedBloodType" :disabled="dsb" @change="handlebloodChange"> O型血</el-radio>
                  <el-radio label="ab" v-model="selectedBloodType" :disabled="dsb" @change="handlebloodChange" >AB型血</el-radio>
                  <el-radio label="rh" v-model="selectedBloodType" :disabled="dsb" @change="handlebloodChange">RH型血</el-radio>
                  <el-radio label="other" v-model="selectedBloodType" :disabled="dsb" @change="handlebloodChange">其他</el-radio>
                  <el-radio label="unknown" v-model="selectedBloodType" :disabled="dsb" @change="handlebloodChange">未知血型</el-radio>
            -->     <el-select :disabled="dsb" v-model="selectedsleepType" @change="handlesleepChange" placeholder="请选择">
                    <el-option
                      v-for="item in spoptions"
                      :key="item.value"
                      :label="item.label"
                      :value="item.value">
                    </el-option>
                  </el-select>
                   </el-form-item>
            </el-row>
          </el-form>
        </el-col>
@@ -362,8 +456,49 @@
        </el-container>
      </div>
    </el-container>
   <div style="padding-top:30px" >
           <el-container >
             <el-row :gutter="10" class="mb8">
               <el-col  >
                 <el-button
                   plain
                   @click="handleEdit()"
                   style="width: 80px;height: 32px;background: #E0EEFE;"
                   v-if="isShow"
                   v-hasPermi="['system:role:edit']"
                 >编辑</el-button>
                 <el-button v-if="isShow_2"  style="width: 80px;height: 32px;background: #E0EEFE;" @click="submitForm" :disabled="dsb">完成</el-button>
                 <br>
               </el-col>
   <!--            <el-col style="padding-top: 10px;">-->
   <!--              <el-button-->
   <!--                plain-->
   <!--                style="width: 80px;height: 32px;background: #D2F3E0;"-->
   <!--                @click="handleExport"-->
   <!--                v-hasPermi="['family:note:export']"-->
   <!--              >导出</el-button></el-col>-->
     <!--          <el-col style="padding-top: 10px;">
                 <el-button
                   plain
                   style="width: 80px;height: 32px;background: #FFDDE3;"
                   v-print="'#printable-content'"
                   v-hasPermi="['family:note:export']"
                 >打印</el-button></el-col> -->
             </el-row>
           </el-container>
         </div>
</el-dialog>
<el-dialog :visible.sync="open2" width="800px" append-to-body @close="">
    <h2 style="font-size:21px">护理查体</h2>
    <el-container>
      <div style="padding-left:0px" >
@@ -494,8 +629,47 @@
        </el-container>
      </div>
    </el-container>
   <div style="padding-top:30px" >
           <el-container >
             <el-row :gutter="10" class="mb8">
               <el-col  >
                 <el-button
                   plain
                   @click="handleEdit()"
                   style="width: 80px;height: 32px;background: #E0EEFE;"
                   v-if="isShow"
                   v-hasPermi="['system:role:edit']"
                 >编辑</el-button>
                 <el-button v-if="isShow_2"  style="width: 80px;height: 32px;background: #E0EEFE;" @click="submitForm" :disabled="dsb">完成</el-button>
                 <br>
               </el-col>
   <!--            <el-col style="padding-top: 10px;">-->
   <!--              <el-button-->
   <!--                plain-->
   <!--                style="width: 80px;height: 32px;background: #D2F3E0;"-->
   <!--                @click="handleExport"-->
   <!--                v-hasPermi="['family:note:export']"-->
   <!--              >导出</el-button></el-col>-->
     <!--          <el-col style="padding-top: 10px;">
                 <el-button
                   plain
                   style="width: 80px;height: 32px;background: #FFDDE3;"
                   v-print="'#printable-content'"
                   v-hasPermi="['family:note:export']"
                 >打印</el-button></el-col> -->
             </el-row>
           </el-container>
         </div>
</el-dialog>
<el-dialog :visible.sync="open3" width="1200px" append-to-body @close="">
    <h2 style="font-size:21px">现存健康问题</h2>
    <el-container>
@@ -592,13 +766,11 @@
      </div>
    </el-container>
    <div>
    <div style="position:relative">
      <el-tabs type="border-card" v-model="activeName"
               v-loading="loading" :data="HealthNoteList" >
        <el-button size='mini' type="text" class="btn_edit" @click="saveData" style='top: 0px;right: 20px;'>
          <sapn v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></sapn>
          <span >{{ editMode ? this.bstn='保存' : this.bstn='修改' }}</span>
        </el-button>
        <el-tab-pane label="生活习惯" name="lifeHabits" >
          <template v-if="editMode">
            <div style="padding-top: 10px">
@@ -697,7 +869,54 @@
        </template>
        </el-tab-pane>
      </el-tabs>
     <div style="margin-bottom: 10px;position: absolute;right:10px;top:5px" >
                 <el-button size='mini' type="text" class="btn_edit" @click="saveData" style='top: 0px; bottom:0px;right: 20px;'>
                   <sapn  v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></sapn>
                   <span >{{ editMode ? this.bstn='保存' : this.bstn='修改' }}</span>
                 </el-button>
                 </div>
    </div>
   <div style="padding-top:30px" >
           <el-container >
             <el-row :gutter="10" class="mb8">
               <el-col  >
                 <el-button
                   plain
                   @click="handleEdit()"
                   style="width: 80px;height: 32px;background: #E0EEFE;"
                   v-if="isShow"
                   v-hasPermi="['system:role:edit']"
                 >编辑</el-button>
                 <el-button v-if="isShow_2"  style="width: 80px;height: 32px;background: #E0EEFE;" @click="submitForm" :disabled="dsb">完成</el-button>
                 <br>
               </el-col>
   <!--            <el-col style="padding-top: 10px;">-->
   <!--              <el-button-->
   <!--                plain-->
   <!--                style="width: 80px;height: 32px;background: #D2F3E0;"-->
   <!--                @click="handleExport"-->
   <!--                v-hasPermi="['family:note:export']"-->
   <!--              >导出</el-button></el-col>-->
     <!--          <el-col style="padding-top: 10px;">
                 <el-button
                   plain
                   style="width: 80px;height: 32px;background: #FFDDE3;"
                   v-print="'#printable-content'"
                   v-hasPermi="['family:note:export']"
                 >打印</el-button></el-col> -->
             </el-row>
           </el-container>
         </div>
   </el-dialog>
  </div>
</template>
@@ -723,6 +942,11 @@
  dicts: ['sys_normal_disable'],
  data() {
    return {
      open:false,
      open1:false,
      open2:false,
      open3:false,
     allBasicInfo:["基本情况","生活习惯","护理查体","现在健康问题"],
      dictionary: {},
      // 遮罩层
      editMode: false, // 是否处于编辑模式
@@ -998,7 +1222,7 @@
     // 数据范围选项
     fot:['.bmp','.jpg','.jpeg','.png','.tif','.gif','.pcx','.tga','.exif','.fpx',
       '.svg','.psd','.cdr','.pcd','.dxf','.ufo','.eps','.ai','.aw','.WMF','.webp','.apng'],
      fileList:[
      ],
      fileListOther:[
@@ -1014,7 +1238,69 @@
      },
     spoptions:[
      { value: 'good',
          label: '良好'},
      { value: 'general',
          label: '一般'},
      { value: 'easyWake',
          label: '易醒'},
      { value: 'dreaminess',
          label: '多梦'},
      { value: 'sleepless',
               label: '失眠'},
         { value: 'snore',
               label: '打鼾'},
      { value: 'wakefulness',
               label: '睡不熟'},
     ],
     ycoptions:[
      { value: 'hypertension',
          label: '高血压'},
      { value: 'diabetes',
          label: '糖尿病'},
      { value: 'tumor',
          label: '肿瘤'},
      { value: 'other',
          label: '其它'},
     ],
     gmoptions:[
     { value: 'medicine',
          label: '药物'},
     { value: 'food',
          label: '食物'},
     { value: 'other',
          label: '其它'},
     ],
Bloodoptions: [{
          value: 'a',
          label: 'A型血'
        }, {
         value: 'b',
         label: 'B型血'
         },
         {
             value: 'o',
             label: 'o型血'
         }, {
            value: 'ab',
            label: 'AB型血'
         },
         {
             value: 'rh',
            label: 'RH型血'
         }, {
            value: 'otherText',
            label: '其它'
         },
         {
            value: 'unknown',
            label: '未知血型'
         }],
      // 菜单列表
      menuOptions: [],
      // 部门列表
@@ -1039,10 +1325,23 @@
  },
  created() {
    this.getList()
    this.$route.meta.title = "现状健康情况";
    this.$route.meta.title = "现状健康情况";
  },
  methods: {
     handleEditInfo(index)
     {
        if(index==0)
         this.open = true
         else if(index==1)
         this.open1 = true;
         else if(index==2)
         this.open2 = true;
      else
         this.open3 = true;
     },
    saveData() {
      // 将数据发送给后端
    // alert(this.bstn)
@@ -1070,6 +1369,7 @@
    },
    //血型修改
    handlebloodChange() {
      if (this.selectedBloodType === '') {
        // 没有选择血型,不进行修改,保留原始数据
        this.selectedBloodType = this.originalBloodType;
@@ -2080,7 +2380,7 @@
      };
      console.log(111)
      console.log(this.bloodData)
      if(isObjectEmpty(this.bloodData)){
        this.HealthyBaseList.bloodClass = this.HealthyBaseList.bloodClass;
      }else {
@@ -2200,7 +2500,7 @@
        if (valid) {
          if (this.HealthyBaseList!== undefined) {
            updateHealthBase(this.HealthyBaseList).then(response => {
              this.$modal.msgSuccess("修改成功11");
              this.$modal.msgSuccess("修改成功");
              // this.open = false;
              this.btn=false
@@ -2274,7 +2574,7 @@
        }
      })
      // 刷新页面
    },
    //年度健康报告
    toYearhealthy(){
@@ -2322,4 +2622,30 @@
  position: absolute;
  top: 0;
  padding-right: 90px;
}</style>
}
  .bottom {
    margin-top: 13px;
    line-height: 12px;
  }
  .button {
    padding: 0;
    float: right;
  }
  .image {
    width: 100%;
    display: block;
  }
  .clearfix:before,
  .clearfix:after {
      display: table;
      content: "";
  }
  .clearfix:after {
      clear: both
  }
</style>