heyang 1 年之前
父節點
當前提交
14fdcee8d2

+ 6 - 10
src/views/safetyCheck/components/addPage/addPage.vue

@@ -24,7 +24,9 @@
             </div>
             <el-form-item label="检查要求" prop="checkDemand">
               <p style="background-color: #f5f5f5;color:#333;border-radius:4px;width:690px;padding:10px 15px;font-size:14px;line-height:20px;min-height:40px;">{{addForm.checkDemand}}<span v-if="!addForm.checkDemand" style="color:#999;">未输入</span></p>
-              <!--<el-input disabled v-model="addForm.checkDemand" placeholder="未填写" style="width: 690px"/>-->
+            </el-form-item>
+            <el-form-item label="检查类型" prop="checkCategory">
+              <p style="background-color: #f5f5f5;width:690px;padding:0 15px;line-height:40px;border-radius:4px;">{{addForm.checkCategory==1?'综合检查':(addForm.checkCategory==2?'专项检查':'')}}</p>
             </el-form-item>
             <el-form-item label="检查结果" prop="checkResult" v-if="addForm.checkCategory==1">
               <el-select v-model="addForm.checkResult" @change="checkResultChange" placeholder="请选择检查结果" style="width: 690px">
@@ -32,9 +34,6 @@
                 <el-option :key="1" label="符合" :value="1"></el-option>
               </el-select>
             </el-form-item>
-            <el-form-item label="检查类型" prop="checkCategory">
-              <p style="background-color: #f5f5f5;width:690px;padding:0 15px;line-height:40px;border-radius:4px;">{{addForm.checkCategory==1?'综合检查':(addForm.checkCategory==2?'专项检查':'')}}</p>
-            </el-form-item>
             <el-form-item label="整改通知" prop="rectifyNotice" v-if="addForm.checkResult === 0 || addForm.checkCategory==2">
               <el-radio-group v-model="addForm.rectifyNotice" style="margin-top:5px;">
                 <el-radio :label="1">整改告知书</el-radio>
@@ -166,16 +165,12 @@
           <div class="for-max-big-box for-max-big-box-special" v-for="(item,index) in addForm.checkHazardInfoVoList" :key="index">
             <div class="for-title-box">
               <p class="for-title-p">{{index+1}}、【{{item.hazardName}}】专项检查</p>
-<!--              <div class="for-del-box">-->
-<!--                <p class="el-icon-delete"></p>-->
-<!--                <p @click="delCheckHazardDtoList(index)">删除此项</p>-->
-<!--              </div>-->
               <div class="for-button-box" @click="dataLookButton(item)">
                 <p :class="item.lookType?'el-icon-arrow-up':'el-icon-arrow-down'"></p>
                 <p>{{item.lookType?'收起':'展开'}}</p>
               </div>
             </div>
-            <div class="for-big-box-special"  v-for="(item2,index2) in item.checkHazardDtoList">
+            <div class="for-big-box for-big-box-special"  v-for="(item2,index2) in item.checkHazardDtoList">
               <el-form-item label="检查项目" :prop="'checkHazardInfoVoList.'+index+'.checkHazardDtoList.'+index2+'.hazardCheckPro'" :rules="rules.hazardCheckPro" label-width="123px">
                 <el-radio-group v-model="item2.checkFlag" style="margin-right: 20px;">
                   <el-radio :label="1">符合</el-radio>
@@ -334,6 +329,7 @@
                   return
                 }
                 for(let i=0;i<obj.checkHazardDtoList.length;i++){
+                  obj.checkHazardDtoList[i].checkCategory=this.addForm.checkCategory
                   delete obj.checkHazardDtoList[i].lookType
                 }
                 obj.dangerNum = obj.checkHazardDtoList.length
@@ -370,7 +366,7 @@
               }else{//不符合
                 obj.checkResult=0;
               }
-              obj.checkHazardInfoVoList=list;
+              obj.checkHazardDtoList=list;
             }
             checkManageUpdate(obj).then(response => {
               this.msgSuccess(response.msg);

+ 198 - 2
src/views/safetyCheck/components/infoPage/infoPage.vue

@@ -14,6 +14,9 @@
             <el-form-item label="计划标题" prop="title">
               <el-input disabled v-model="addForm.title" placeholder="未填写" style="width: 690px"/>
             </el-form-item>
+            <el-form-item label="检查组织" prop="checkType">
+              <p style="background-color: #f5f5f5;color:#333;border-radius:4px;width:690px;padding:0 15px;">{{addForm.checkCategory==1?'综合检查':(addForm.checkCategory==2?'专项检查':'')}}</p>
+            </el-form-item>
             <div style="display: flex">
               <el-form-item label="学院" prop="collegeName">
                 <el-input disabled v-model="addForm.collegeName" placeholder="未填写" style="width: 300px"/>
@@ -63,7 +66,8 @@
             </el-form-item>
           </div>
         </div>
-        <div class="bottom-form-box" v-if="addForm.checkResult==0">
+        <!--综合检查-->
+        <div class="bottom-form-box" v-if="addForm.checkResult==0 && addForm.checkCategory==1">
           <div class="bottom-form-title-box">
             <p>不符合项</p>
             <p>隐患数:{{addForm.dangerNum}}</p>
@@ -154,6 +158,74 @@
             </div>
           </div>
         </div>
+        <!--专项检查项-->
+        <div class="bottom-form-box" v-if="(addForm.checkResult==0||addForm.checkResult==1) && addForm.checkCategory==2">
+          <div class="bottom-form-title-box">
+            <p>检查项</p>
+            <p>检查项:{{addForm.checkHazardInfoVoList.length}}</p>
+          </div>
+          <div class="for-max-big-box for-max-big-box-special" v-for="(item,index) in addForm.checkHazardInfoVoList" :key="index">
+            <div class="for-title-box">
+              <p class="for-title-p">{{index+1}}、【{{item.hazardName}}】专项检查</p>
+              <div class="for-button-box" @click="dataLookButton(item)">
+                <p :class="item.lookType?'el-icon-arrow-up':'el-icon-arrow-down'"></p>
+                <p>{{item.lookType?'收起':'展开'}}</p>
+              </div>
+            </div>
+            <div class="for-big-box for-big-box-special"  v-for="(item2,index2) in item.checkHazardDtoList">
+              <el-form-item label="检查项目"  label-width="123px">
+                <el-radio-group v-model="item2.checkFlag" style="margin-right: 20px;" disabled>
+                  <el-radio :label="1">符合</el-radio>
+                  <el-radio :label="0">不符合</el-radio>
+                </el-radio-group>
+                <el-cascader
+                  disabled
+                  @change="(val)=>cascaderChange(val,item2,index2)"
+                  v-model="item2.hazardCheckPro"
+                  style="width: 730px"
+                  placeholder="请选择检查项"
+                  :options="options"
+                  :props="{ checkStrictly: false, value: 'id', label: 'labelName',emitPath:false }"
+                  filterable>
+                  <template slot-scope="{data}">
+                    <el-tooltip :content="data.labelName" v-if="data.labelName.length>22">
+                      <p style="max-width:300px;overflow: hidden;text-overflow:ellipsis;white-space:nowrap;">{{data.labelName}}</p>
+                    </el-tooltip>
+                    <p v-else style="max-width:300px;overflow: hidden;text-overflow:ellipsis;white-space:nowrap;">{{data.labelName}}</p>
+                  </template>
+                </el-cascader>
+                <p class="button-p" @click="addDialogOpen(true,item2)">{{item2.rectifyStatus==1?'已完成':(item2.rectifyStatus==2?'待整改':(item2.rectifyStatus==3?'待复核':(item2.rectifyStatus==4?'暂无法整改':'')))}} <i class="el-icon-d-arrow-right"></i></p>
+              </el-form-item>
+              <el-form-item v-if="item2.checkFlag==0" label="隐患等级"  label-width="123px">
+                <el-select v-model="item2.hazardLevel" clearable placeholder="请选择隐患等级" style="width: 408px" disabled>
+                  <el-option :key="2" label="一般隐患" :value="2"></el-option>
+                  <el-option :key="1" label="重大隐患" :value="1"></el-option>
+                  <el-option :key="3" label="管理问题" :value="3"></el-option>
+                </el-select>
+              </el-form-item>
+              <el-form-item v-if="item2.checkFlag==0" label="隐患描述"  label-width="123px" >
+                <el-input
+                  disabled
+                  style="width: 898px"
+                  type="textarea"
+                  :autosize="{ minRows: 4, maxRows: 4}"
+                  placeholder="请输入隐患描述"
+                  resize="none"
+                  maxlength="100"
+                  show-word-limit
+                  v-model="item2.hazardDescribe">
+                </el-input>
+              </el-form-item>
+              <el-form-item v-if="item2.checkFlag==0" label="隐患照片"  label-width="123px">
+                <div class="for-img-box" v-for="(img,imgIndex) in item2.uploadDtoList" :key="imgIndex">
+                  <img class="for-img" :src="img.fileUrl" @click="lookImg(item2.uploadDtoList,imgIndex)">
+                  <p class="for-del-button el-icon-circle-close" @click="delImg(index,imgIndex)"></p>
+                </div>
+              </el-form-item>
+            </div>
+          </div>
+        </div>
+
       </el-form>
     </div>
     <lookImgDialog ref="lookImgDialog"></lookImgDialog>
@@ -164,11 +236,12 @@
 </template>
 
 <script>
-  import { findCheckManage,getFindByCheckPlanId } from '@/api/safetyCheck/index'
+import { checkOptionList, findCheckManage, getFindByCheckPlanId } from '@/api/safetyCheck/index'
   import lookImgDialog from '@/components/lookImgDialog/lookImgDialog.vue'
   import lookDocumentDataDialog from '@/components/lookDocumentDialog/lookDocumentDataDialog.vue'
   import lookDocumentListDialog from '@/components/lookDocumentDialog/lookDocumentListDialog.vue'
   import infoDialog from '@/views/safetyCheck/components/infoDialog/infoDialog.vue'
+import { getToken } from '@/utils/auth'
   export default {
     name: 'infoPage',
     props:{
@@ -182,6 +255,10 @@
     },
     data(){
       return{
+        uploadImgUrl: this.uploadUrl(), // 上传的图片服务器地址
+        headers: {
+          Authorization: "Bearer " + getToken(),
+        },
         //子组件数据
         lookDocumentType:false,
         propsLookDocumentData:{},
@@ -192,10 +269,12 @@
         imgType:1,
         infoDialogType:false,
         addForm:{},
+        options:[],
       }
     },
     created(){},
     mounted(){
+      this.checkOptionList();
       this.findCheckManage();
     },
     methods:{
@@ -220,6 +299,45 @@
           }
         }
       },
+      //获取检查项
+      checkOptionList(){
+        checkOptionList().then( response => {
+          this.$set(this,'options',response.data);
+          this.getCascaderData(this.options);
+        })
+      },
+      //联级选择器数据处理
+      getCascaderData(list){
+        let self = this;
+        for(let i=0;i<list.length;i++){
+          list[i].labelName = list[i].code? list[i].code +' '+ list[i].name:list[i].name
+          if(list[i].level == 0 || list[i].level == 1 || list[i].level == 2 || list[i].level == 3){
+            if(list[i].children){
+              if(list[i].children[0]){
+                self.getCascaderData(list[i].children)
+                if(list[i].children){
+                  if(!list[i].children[0]){
+                    list.splice(i,1)
+                    i--
+                  }
+                }else{
+                  list.splice(i,1)
+                  i--
+                }
+              }else{
+                list.splice(i,1)
+                i--
+              }
+            }else{
+              list.splice(i,1)
+              i--
+            }
+          }else{
+            delete list[i].children
+          }
+        }
+
+      },
       //返回事件
       outButton(){
         this.$parent.goAddPage(1);
@@ -416,6 +534,18 @@
           margin-left: 30px;
           flex:1;
         }
+        .for-button-box{
+          color:#0183FA;
+          margin-left:46px;
+          margin-right:43px;
+          cursor: pointer;
+          display: flex;
+          p{
+            font-size:14px;
+            line-height:50px;
+            margin-right:8px;
+          }
+        }
       }
       .for-content-box{
         display: flex;
@@ -523,6 +653,72 @@
         }
       }
     }
+    .for-big-box{
+      padding-top:27px;
+      .up-img-p{
+        height:80px;
+        width:80px;
+        line-height:80px;
+        text-align: center;
+        font-size:16px;
+        border-radius:4px;
+        border:1px dashed #E0E0E0;
+      }
+      .for-img-box{
+        width:80px;
+        height:80px;
+        border-radius:4px;
+        display: inline-block;
+        overflow: hidden;
+        margin-right:20px;
+        position: relative;
+        .for-img{
+          width:80px;
+          height:80px;
+          display: inline-block;
+          overflow: hidden;
+          cursor: pointer;
+        }
+        .for-del-button{
+          background: rgba(0,0,0,0.7);
+          width:20px;
+          height:20px;
+          line-height: 20px;
+          text-align: center;
+          color:#fff;
+          border-bottom-left-radius:4px;
+          cursor: pointer;
+          position: absolute;
+          top:0;
+          right:0;
+        }
+      }
+      .button-p{
+        display: inline-block;
+        margin-left: 20px;
+        width:200px;
+        color:#0183FA;
+        font-size:16px;
+        min-height:40px;
+        line-height:40px;
+        margin-left:39px;
+        cursor: pointer;
+        i{
+          font-size:14px;
+        }
+      }
+    }
+    /*专项检查*/
+    .for-max-big-box-special{
+      margin-bottom: 20px;
+      .for-big-box-special{
+        border-bottom: 1px dotted #D8D8D8;
+        margin:30px;
+      }
+      .for-big-box-special:last-of-type{
+        border-bottom: none;
+      }
+    }
   }
   ::v-deep .is-disabled{
     .el-input__inner{

+ 10 - 0
src/views/safetyCheck/safetyHazard/cannotListPage.vue

@@ -56,6 +56,16 @@
           </template>
         </el-table-column>
         <el-table-column label="实验室" align="center" prop="subRoom" show-overflow-tooltip width="240"/>
+        <el-table-column label="检查类型" align="center" prop="checkRange" show-overflow-tooltip width="120">
+          <template slot-scope="scope">
+            <p>{{scope.row.checkCategory==1?'综合检查':(scope.row.checkCategory==2?'专项检查':'-')}}</p>
+          </template>
+        </el-table-column>
+        <el-table-column label="检查内容" align="center" prop="checkRange" show-overflow-tooltip width="120">
+          <template slot-scope="scope">
+            <p>{{scope.row.checkCategory?scope.row.checkCategory:'-'}}</p>
+          </template>
+        </el-table-column>
         <el-table-column label="检查时间" sortable align="center" prop="checkTime" show-overflow-tooltip width="160"/>
         <el-table-column label="处理人" align="center" prop="rectifyName" show-overflow-tooltip width="90"/>
         <el-table-column label="原因描述" align="center" prop="rectifyMeasure" show-overflow-tooltip width="435"/>

+ 10 - 0
src/views/safetyCheck/safetyHazard/departmentListPage.vue

@@ -72,6 +72,16 @@
           <el-table-column label="计划标题" align="center" prop="title" show-overflow-tooltip/>
           <el-table-column label="隐患描述" align="center" prop="hazardDescribe" show-overflow-tooltip width="220"/>
           <el-table-column label="实验室" align="center" prop="subRoom" show-overflow-tooltip width="170"/>
+          <el-table-column label="检查类型" align="center" prop="checkRange" show-overflow-tooltip width="120">
+            <template slot-scope="scope">
+              <p>{{scope.row.checkCategory==1?'综合检查':(scope.row.checkCategory==2?'专项检查':'-')}}</p>
+            </template>
+          </el-table-column>
+          <el-table-column label="检查内容" align="center" prop="checkRange" show-overflow-tooltip width="120">
+            <template slot-scope="scope">
+              <p>{{scope.row.checkCategory?scope.row.checkCategory:'-'}}</p>
+            </template>
+          </el-table-column>
           <el-table-column label="检查时间" sortable="custom" align="center" prop="checkTime" show-overflow-tooltip width="160"/>
           <el-table-column label="整改人" align="center" prop="rectifyName" show-overflow-tooltip width="90"/>
           <el-table-column label="整改期限" sortable="custom" align="center" prop="rectifyDeadline" show-overflow-tooltip width="180">

+ 10 - 0
src/views/safetyCheck/safetyHazard/schoolListPage.vue

@@ -72,6 +72,16 @@
           <el-table-column label="计划标题" align="center" prop="title" show-overflow-tooltip/>
           <el-table-column label="隐患描述" align="center" prop="hazardDescribe" show-overflow-tooltip width="220"/>
           <el-table-column label="实验室" align="center" prop="subRoom" show-overflow-tooltip width="170"/>
+          <el-table-column label="检查类型" align="center" prop="checkRange" show-overflow-tooltip width="120">
+            <template slot-scope="scope">
+              <p>{{scope.row.checkCategory==1?'综合检查':(scope.row.checkCategory==2?'专项检查':'-')}}</p>
+            </template>
+          </el-table-column>
+          <el-table-column label="检查内容" align="center" prop="checkRange" show-overflow-tooltip width="120">
+            <template slot-scope="scope">
+              <p>{{scope.row.checkCategory?scope.row.checkCategory:'-'}}</p>
+            </template>
+          </el-table-column>
           <el-table-column label="检查时间" sortable="custom" align="center" prop="checkTime" show-overflow-tooltip width="160"/>
           <el-table-column label="整改人" align="center" prop="rectifyName" show-overflow-tooltip width="90"/>
           <el-table-column label="整改期限" sortable="custom" align="center" prop="rectifyDeadline" show-overflow-tooltip width="180">

+ 93 - 75
src/views/safetyCheck/startInspection/index.vue

@@ -242,9 +242,9 @@
           <div class="bottom-form-box" v-if="addForm.checkCategory==2 && pageType==2">
             <div class="bottom-form-title-box">
               <p>检查项</p>
-              <p>检查项:{{addForm.specialCheckHazardDtoList.length}}</p>
+              <p>检查项:{{addForm.checkHazardInfoVoList.length}}</p>
             </div>
-            <div class="for-max-big-box for-max-big-box-special" v-for="(item,index) in addForm.specialCheckHazardDtoList" :key="index">
+            <div class="for-max-big-box for-max-big-box-special" v-for="(item,index) in addForm.checkHazardInfoVoList" :key="index">
               <div class="for-title-box">
                 <p class="for-title-p">{{index+1}}、【{{item.name}}】{{item.type}}</p>
                 <div class="for-del-box">
@@ -256,68 +256,71 @@
                   <p>{{item.lookType?'收起':'展开'}}</p>
                 </div>
               </div>
-              <div class="for-big-box-special"  v-for="(item2,index2) in item.subitem">
-                <el-form-item label="检查项目" :prop="'specialCheckHazardDtoList.'+index+'.hazardCheckPro'" :rules="rules.hazardCheckPro" label-width="123px">
-                  <el-radio-group v-model="item2.checkResult" style="margin-right: 20px;">
-                    <el-radio :label="1">符合</el-radio>
-                    <el-radio :label="0">不符合</el-radio>
-                  </el-radio-group>
-                  <el-cascader
-                    @change="(val)=>cascaderChange(val,item2,index2)"
-                    v-model="item2.hazardCheckPro"
-                    style="width: 730px"
-                    placeholder="请选择检查项"
-                    :options="options"
-                    :props="{ checkStrictly: false, value: 'id', label: 'labelName',emitPath:false }"
-                    filterable>
-                    <template slot-scope="{data}">
-                      <el-tooltip :content="data.labelName" v-if="data.labelName.length>22">
-                        <p style="max-width:300px;overflow: hidden;text-overflow:ellipsis;white-space:nowrap;">{{data.labelName}}</p>
-                      </el-tooltip>
-                      <p v-else style="max-width:300px;overflow: hidden;text-overflow:ellipsis;white-space:nowrap;">{{data.labelName}}</p>
-                    </template>
-                  </el-cascader>
-                  <p class="hazard-check-count-p" v-if="hazardCheckCount>0">此检查项在当前实验室累计出现 <span>{{hazardCheckCount}}</span> 次隐患</p>
-                </el-form-item>
-                <el-form-item v-if="item2.checkResult==0" label="隐患等级" :prop="'specialCheckHazardDtoList.'+index+'.hazardLevel'" :rules="rules.hazardLevel" label-width="123px">
-                  <el-select v-model="item2.hazardLevel" clearable placeholder="请选择隐患等级" style="width: 408px">
-                    <el-option :key="2" label="一般隐患" :value="2"></el-option>
-                    <el-option :key="1" label="重大隐患" :value="1"></el-option>
-                    <el-option :key="3" label="管理问题" :value="3"></el-option>
-                  </el-select>
-                </el-form-item>
-                <el-form-item v-if="item2.checkResult==0" label="隐患描述" :prop="'specialCheckHazardDtoList.'+index+'.hazardDescribe'" :rules="rules.hazardDescribe" label-width="123px">
-                  <el-input
-                    style="width: 898px"
-                    type="textarea"
-                    :autosize="{ minRows: 4, maxRows: 4}"
-                    placeholder="请输入隐患描述"
-                    resize="none"
-                    maxlength="100"
-                    show-word-limit
-                    v-model="item2.hazardDescribe">
-                  </el-input>
-                </el-form-item>
-                <el-form-item v-if="item2.checkResult==0" label="隐患照片" :prop="'specialCheckHazardDtoList.'+index+'.uploadDtoList'" :rules="rules.uploadDtoList" label-width="123px">
-                  <div class="for-img-box" v-for="(img,imgIndex) in item2.uploadDtoList" :key="imgIndex">
-                    <img class="for-img" :src="img.fileUrl" @click="lookImg(item2.uploadDtoList,imgIndex)">
-                    <p class="for-del-button el-icon-circle-close" @click="delImg(index,imgIndex)"></p>
-                  </div>
-                  <el-upload
-                    v-if="item2.uploadDtoList.length<5"
-                    style="display: inline-block;overflow: hidden"
-                    class="avatar-uploader"
-                    :action="uploadImgUrl"
-                    :show-file-list="false"
-                    :on-success="(res)=>handleAvatarSuccess(res,item2)"
-                    :headers="headers"
-                    :before-upload="(res)=>beforeAvatarUpload(res,item2)">
-                    <p class="el-icon-plus up-img-p" style="display: inline-block"></p>
-                  </el-upload>
-                </el-form-item>
-                <el-form-item v-if="item2.checkResult==0" label="" label-width="123px" style="margin-bottom:40px;color:#999;">
-                  <p>支持jpg/png/bmp/gif格式,且不超过2M,最多上传5张</p>
-                </el-form-item>
+              <div class="for-big-box-special"  v-for="(item2,index2) in item.checkHazardDtoList">
+                <div class="for-big-box-special-l">{{index+1}}.{{index2+1}}</div>
+                <div class="for-big-box-special-r">
+                  <el-form-item label="检查项目" :prop="'checkHazardInfoVoList.'+index+'.checkHazardDtoList.'+index2+'.hazardCheckPro'" :rules="rules.hazardCheckPro" label-width="123px">
+                    <el-radio-group v-model="item2.checkFlag" style="margin-right: 20px;">
+                      <el-radio :label="1">符合</el-radio>
+                      <el-radio :label="0">不符合</el-radio>
+                    </el-radio-group>
+                    <el-cascader
+                      @change="(val)=>cascaderChange(val,item2,index2)"
+                      v-model="item2.hazardCheckPro"
+                      style="width: 730px"
+                      placeholder="请选择检查项"
+                      :options="options"
+                      :props="{ checkStrictly: false, value: 'id', label: 'labelName',emitPath:false }"
+                      filterable>
+                      <template slot-scope="{data}">
+                        <el-tooltip :content="data.labelName" v-if="data.labelName.length>22">
+                          <p style="max-width:300px;overflow: hidden;text-overflow:ellipsis;white-space:nowrap;">{{data.labelName}}</p>
+                        </el-tooltip>
+                        <p v-else style="max-width:300px;overflow: hidden;text-overflow:ellipsis;white-space:nowrap;">{{data.labelName}}</p>
+                      </template>
+                    </el-cascader>
+                    <p class="hazard-check-count-p" v-if="hazardCheckCount>0">此检查项在当前实验室累计出现 <span>{{hazardCheckCount}}</span> 次隐患</p>
+                  </el-form-item>
+                  <el-form-item v-if="item2.checkFlag==0" label="隐患等级" :prop="'checkHazardInfoVoList.'+index+'.checkHazardDtoList.'+index2+'.hazardLevel'" :rules="rules.hazardLevel" label-width="123px">
+                    <el-select v-model="item2.hazardLevel" clearable placeholder="请选择隐患等级" style="width: 408px">
+                      <el-option :key="2" label="一般隐患" :value="2"></el-option>
+                      <el-option :key="1" label="重大隐患" :value="1"></el-option>
+                      <el-option :key="3" label="管理问题" :value="3"></el-option>
+                    </el-select>
+                  </el-form-item>
+                  <el-form-item v-if="item2.checkFlag==0" label="隐患描述" :prop="'checkHazardInfoVoList.'+index+'.checkHazardDtoList.'+index2+'.hazardDescribe'" :rules="rules.hazardDescribe" label-width="123px">
+                    <el-input
+                      style="width: 898px"
+                      type="textarea"
+                      :autosize="{ minRows: 4, maxRows: 4}"
+                      placeholder="请输入隐患描述"
+                      resize="none"
+                      maxlength="100"
+                      show-word-limit
+                      v-model="item2.hazardDescribe">
+                    </el-input>
+                  </el-form-item>
+                  <el-form-item v-if="item2.checkFlag==0" label="隐患照片" :prop="'checkHazardInfoVoList.'+index+'.checkHazardDtoList.'+index2+'.uploadDtoList'" :rules="rules.uploadDtoList" label-width="123px">
+                    <div class="for-img-box" v-for="(img,imgIndex) in item2.uploadDtoList" :key="imgIndex">
+                      <img class="for-img" :src="img.fileUrl" @click="lookImg(item2.uploadDtoList,imgIndex)">
+                      <p class="for-del-button el-icon-circle-close" @click="delImg(index,imgIndex)"></p>
+                    </div>
+                    <el-upload
+                      v-if="item2.uploadDtoList.length<5"
+                      style="display: inline-block;overflow: hidden"
+                      class="avatar-uploader"
+                      :action="uploadImgUrl"
+                      :show-file-list="false"
+                      :on-success="(res)=>handleAvatarSuccess(res,item2)"
+                      :headers="headers"
+                      :before-upload="(res)=>beforeAvatarUpload(res,item2)">
+                      <p class="el-icon-plus up-img-p" style="display: inline-block"></p>
+                    </el-upload>
+                  </el-form-item>
+                  <el-form-item v-if="item2.checkFlag==0" label="" label-width="123px" style="margin-bottom:40px;color:#999;">
+                    <p>支持jpg/png/bmp/gif格式,且不超过2M,最多上传5张</p>
+                  </el-form-item>
+                </div>
               </div>
               <p class="add-bottom-button" @click="addObjectTow(item)">+新增隐患检查项</p>
             </div>
@@ -401,13 +404,13 @@
           //综合检查
           checkHazardDtoList:[],
           //专项检查
-          specialCheckHazardDtoList:[
+          checkHazardInfoVoList:[
             {
               name:'烘箱-001',
               type:'专项检查',
-              subitem:[
+              checkHazardDtoList:[
                 {
-                  checkResult:0,
+                  checkFlag:0,
                   hazardCheckCode:'',
                   hazardCheckName:'',
                   hazardCheckPoint:'',
@@ -417,7 +420,7 @@
                   lookType:true,
                   uploadDtoList:[],
                 },{
-                  checkResult:0,
+                  checkFlag:0,
                   hazardCheckCode:'',
                   hazardCheckName:'',
                   hazardCheckPoint:'',
@@ -530,13 +533,13 @@
           this.pageType=2;
           this.checkOptionList();
           this.dialogVisible=false;
-          if(this.addForm.specialCheckHazardDtoList.length<10){
+          if(this.addForm.checkHazardInfoVoList.length<10){
             let obj = {
               name:'烘箱-001',
               type:'专项检查',
-              subitem:[]
+              checkHazardDtoList:[]
             };
-            this.addForm.specialCheckHazardDtoList.push(obj);
+            this.addForm.checkHazardInfoVoList.push(obj);
           }
         }
       },
@@ -649,9 +652,9 @@
       },
       //新增隐患项
       addObjectTow(item){
-        if(item.subitem.length<10){
+        if(item.checkHazardDtoList.length<10){
           let obj = {
-            checkResult:0,
+            checkFlag:0,
             hazardCheckCode:'',
             hazardCheckName:'',
             hazardCheckPoint:'',
@@ -661,7 +664,7 @@
             lookType:true,
             uploadDtoList:[],
           };
-          item.subitem.push(obj);
+          item.checkHazardDtoList.push(obj);
         }
       },
       //新增检查项
@@ -983,7 +986,7 @@
           })
         }else if(this.addForm.checkCategory==2){//专项检查
           if(!obj){
-            this.$set(this.addForm.specialCheckHazardDtoList[index],'hazardCheckPro','');
+            this.$set(this.addForm.checkHazardInfoVoList[index],'hazardCheckPro','');
             this.msgError('未找到相关项目')
             return
           }
@@ -1223,6 +1226,21 @@
       .for-big-box-special{
         border-bottom: 1px dotted #D8D8D8;
         margin:30px;
+        display: flex;
+        justify-content: flex-start;
+        .for-big-box-special-l{
+          width: 30px;
+          height: 30px;
+          background: #0183FA;
+          border-radius: 6px 6px 6px 6px;
+          font-size: 16px;
+          font-family: Microsoft YaHei-Regular, Microsoft YaHei;
+          font-weight: 400;
+          color: #FFFFFF;
+          line-height: 30px;
+          text-align: center;
+        }
+        .for-big-box-special-r{}
       }
       .for-big-box-special:last-of-type{
         border-bottom: none;