dedsudiyu 2 jaren geleden
bovenliggende
commit
847725ac70

+ 1 - 1
src/components/lookImgDialog/lookImgDialog.vue

@@ -1,7 +1,7 @@
 <!--照片浏览DIALOG-->
 <!--
         <lookImgDialog ref="lookImgDialog"></lookImgDialog>
-        import lookImgDialog from './lookImgDialog.vue'
+  import lookImgDialog from '/@/components/lookImgDialog/lookImgDialog.vue'
         components: {
           lookImgDialog
         },

+ 1 - 1
src/views/comprehensive/laboratoryManagement/classifiedGrading/index.vue

@@ -10,7 +10,7 @@
         <p :class="pageType == 2 ? 'p-back':''"></p>
       </div>
       <div class="top-button-box" @click="buttonPageType(3)">
-        <p :class="pageType == 3 ? 'p-color':''">实验室类型</p>
+        <p :class="pageType == 3 ? 'p-color':''">{{versionField() == 'xiBeiNongLinDaXue'?'房间类型':'实验室类型'}}</p>
         <p :class="pageType == 3 ? 'p-back':''"></p>
       </div>
     </div>

+ 1 - 1
src/views/comprehensive/laboratoryManagement/classifiedGrading/subjectClass.vue

@@ -24,7 +24,7 @@
         </el-form>
         <el-table v-loading="loading" border :data="classtypeList" @selection-change="handleSelectionChange">
           <!--<el-table-column label="自增id" align="left" prop="id" v-if="false"/>-->
-          <el-table-column label="实验室类型" align="left" prop="moldName" />
+          <el-table-column :label="versionField() == 'xiBeiNongLinDaXue'?'房间类型':'实验室类型'" align="left" prop="moldName" />
           <!--<el-table-column label="备注" align="left" prop="remark" />-->
           <el-table-column label="创建人" align="left" prop="createBy" />
           <el-table-column label="创建时间" align="left" prop="createTime" />

+ 54 - 10
src/views/comprehensive/laboratoryManagement/subject/index.vue

@@ -4,8 +4,16 @@
       <div class="subject-page-min">
         <div :class="versionField() == 'xiBeiNongLinDaXue'?'left-subject-list-flex':''" class="left-subject-list" >
           <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" style="border-bottom:1px solid #D8D8D8">
-            <el-form-item label="学院" prop="deptId" label-width="60px">
-              <el-select v-model="queryParams.deptId" placeholder="请选择学院" clearable size="small">
+            <el-form-item label="关键字" prop="searchValue" label-width="100px">
+              <el-input
+                v-model="queryParams.searchValue"
+                placeholder="实验室/房间号"
+                clearable
+                style="width:150px;"
+              />
+            </el-form-item>
+            <el-form-item label="学院" prop="deptId" label-width="50px">
+              <el-select v-model="queryParams.deptId" placeholder="请选择学院" style="width:150px;">
                 <el-option
                   v-for="dict in deptOptions"
                   :key="dict.deptId"
@@ -14,13 +22,25 @@
                 ></el-option>
               </el-select>
             </el-form-item>
-            <el-form-item label="实验室名称" prop="name" label-width="100px">
-              <el-input
-                v-model="queryParams.name"
-                placeholder="请输入实验室名称"
-                clearable
-                size="small"
-              />
+            <el-form-item label="" prop="typeId" label-width="60px">
+              <el-select v-model="queryParams.typeId" placeholder="安全分类" style="width:120px;margin-left:10px;">
+                <el-option
+                  v-for="dict in typeList"
+                  :key="dict.typeName"
+                  :label="dict.typeName"
+                  :value="dict.id"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="" prop="level" label-width="60px">
+              <el-select v-model="queryParams.level" placeholder="安全分级" style="width:120px;margin-left:10px;">
+                <el-option
+                  v-for="dict in levelList"
+                  :key="dict.id"
+                  :label="dict.classifiedName"
+                  :value="dict.id"
+                ></el-option>
+              </el-select>
             </el-form-item>
             <el-form-item style="float: right;">
               <el-col :span="1.5" style="margin-bottom:26px;margin-right: 20px">
@@ -338,6 +358,8 @@ import admissionConfiguration from "./admissionConfiguration.vue";
 import associationConfiguration from "./associationConfiguration.vue";
 import infoPage from "./infoPage.vue";
 import { getHxpAlarmRecordNoAuthList,getEnablelist} from "@/api/medicUniversity-3_1/index";
+  import { listClassifiedAll } from "@/api/laboratory/classified";
+  import { listClasstypeAll } from "@/api/laboratory/classtype";
 import store from '@/store'
 export default {
   filters:{
@@ -443,11 +465,17 @@ export default {
       //字典排风扇数组
       fanList:[],
       selectTriggerList:[],//预案触发下,预案数据存储
+      //分类数据
+      typeList:[],
+      //分级数据
+      levelList:[],
     }
   },
   created() {
   },
   mounted(){
+    this.getListClasstypeAll();
+    this.getListClassifiedAll();
     this.getDeptList();
     // this.subscriptionMQTT();
     this.getList();
@@ -1218,6 +1246,23 @@ export default {
         self.videoList = [];
       }
     },
+    //查询安全分级
+    getListClassifiedAll(){
+      listClassifiedAll().then(response=>{
+        if(response.code==200){
+          console.log(response)
+          this.levelList=response.data
+        }
+      })
+    },
+    //查询安全分类
+    getListClasstypeAll(){
+      listClasstypeAll().then(response=>{
+        if(response.code==200){
+          this.typeList=response.data;
+        }
+      });
+    },
   },
   beforeDestroy() {
     //清除定时器
@@ -1280,7 +1325,6 @@ export default {
     }
     .right-subject-box{
       /*width:440px;*/
-      flex:1;
       display: flex;
       flex-direction: column;
       .top-button-box{

+ 1 - 0
src/views/safetyCheck/checkConfiguration/checkUserPage.vue

@@ -86,6 +86,7 @@
     methods:{
       //配置按钮
       configButton(type){
+        console.log('type',type)
         if(type == 1){
           this.$set(this,'configDialogType',true);
         }else if(type == 2){

+ 322 - 7
src/views/safetyCheck/checkConfiguration/configDialog.vue

@@ -12,7 +12,7 @@
                            v-for="item in checkList" :value="item.key" :label="item.key" :key="item.key">{{item.label}}</el-checkbox>
             </el-checkbox-group>
           </div>
-          <p v-if="checkType" class="configDialog-content-min-button">配置</p>
+          <p v-if="checkType" class="configDialog-content-min-button" @click="configUserButton(2)">配置</p>
           <div class="configDialog-content-min-text-box">
             <p></p>
             <p></p>
@@ -23,17 +23,135 @@
       </div>
       <div class="dialog-footer-box">
         <p class="dialog-footer-button-null"></p>
-        <p class="dialog-footer-button-info">取消</p>
+        <p class="dialog-footer-button-info" @click="addDialogOff">取消</p>
         <p class="dialog-footer-button-primary">确定</p>
         <p class="dialog-footer-button-null"></p>
       </div>
     </div>
     <div class="configDialog-user-box" v-if="configPageType == 2">
       <div class="configDialog-user-content-box">
+        <div class="left-max-box">
+          <div class="dept-table-title-box">
+            <p>待选人员</p>
+            <p>{{userNumLeft}}/{{userTotalLeft}}</p>
+          </div>
+          <div class="dept-table-max-box">
+            <el-form :model="userQueryParamsLeft" class="form-box" ref="queryForm" :inline="true" label-width="50px">
+              <el-form-item label="" prop="deptId">
+                <el-select v-model="userQueryParamsLeft.deptId" clearable placeholder="选择部门" style="width: 110px">
+                  <el-option
+                    v-for="item in deptSelectList"
+                    :key="item.key"
+                    :label="item.label"
+                    :value="item.key">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+              <el-form-item>
+                <el-date-picker
+                  :clearable="false"
+                  v-model="leftDateRange"
+                  size="small"
+                  style="width: 180px"
+                  value-format="yyyy-MM-dd"
+                  type="daterange"
+                  range-separator="-"
+                  start-placeholder="开始日期"
+                  end-placeholder="结束日期"
+                ></el-date-picker>
+              </el-form-item>
+              <el-form-item label="" prop="searchValue" class="form-index" style="margin-right:0;">
+                <el-input
+                  maxLength="30"
+                  v-model="userQueryParamsLeft.searchValue"
+                  placeholder="姓名/手机号/实验室"
+                  style="width: 178px">
+                  <p class="el-icon-search" slot="append" @click="userHandleQueryLeft"></p>
+                </el-input>
+              </el-form-item>
+              <el-form-item style="margin-right:0;margin-left: 10px;">
+                <p class="inquire-button-one" @click="userResetQueryLeft" style="width:60px;margin-right:0;">重置</p>
+              </el-form-item>
+            </el-form>
+            <el-table  border :data="userTableListLeft" @selection-change="userChangeLeft" :row-key="getRowKeys">
+              <el-table-column type="selection" width="50" :reserve-selection="true" align="center"/>
+              <el-table-column label="姓名" align="center" prop="deptName" show-overflow-tooltip/>
+              <el-table-column label="工号" align="center" prop="deptName" show-overflow-tooltip width="150"/>
+              <el-table-column label="所在部门" align="center" prop="deptName" show-overflow-tooltip width="168"/>
+            </el-table>
+            <pagination :page-sizes="[20, 30, 40, 50]"
+                        v-show="userTotalLeft>0"
+                        :total="userTotalLeft"
+                        :page.sync="userTableListLeft.pageNum"
+                        :limit.sync="userTableListLeft.pageSize"
+                        @pagination="userGetListLeft"/>
+          </div>
+        </div>
+        <div class="center-box">
+          <p class="el-icon-arrow-left" @click="userArrowButton(1)"></p>
+          <p class="el-icon-arrow-right" @click="userArrowButton(2)"></p>
+        </div>
+        <div class="right-max-box">
+          <div class="dept-table-title-box">
+            <p>已选成员</p>
+            <p>{{userNumRight}}/{{userTotalRight}}</p>
+          </div>
+          <div class="dept-table-max-box">
+            <el-form :model="userQueryParamsRight" class="form-box" ref="queryForm" :inline="true" label-width="50px">
+              <el-form-item label="" prop="deptId">
+                <el-select v-model="userQueryParamsRight.deptId" clearable placeholder="选择部门" style="width: 110px">
+                  <el-option
+                    v-for="item in deptSelectList"
+                    :key="item.key"
+                    :label="item.label"
+                    :value="item.key">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+              <el-form-item>
+                <el-date-picker
+                  :clearable="false"
+                  v-model="rightDateRange"
+                  size="small"
+                  style="width: 180px"
+                  value-format="yyyy-MM-dd"
+                  type="daterange"
+                  range-separator="-"
+                  start-placeholder="开始日期"
+                  end-placeholder="结束日期"
+                ></el-date-picker>
+              </el-form-item>
+              <el-form-item label="" prop="searchValue" class="form-index" style="margin-right:0;">
+                <el-input
+                  maxLength="30"
+                  v-model="userQueryParamsRight.searchValue"
+                  placeholder="姓名/手机号/实验室"
+                  style="width: 178px">
+                  <p class="el-icon-search" slot="append" @click="userHandleQueryRight"></p>
+                </el-input>
+              </el-form-item>
+              <el-form-item style="margin-right:0;margin-left: 10px;">
+                <p class="inquire-button-one" @click="userResetQueryRight" style="width:60px;margin-right:0;">重置</p>
+              </el-form-item>
+            </el-form>
+            <el-table  border :data="userTableListRight" @selection-change="userChangeRight" :row-key="getRowKeys">
+              <el-table-column type="selection" width="50" :reserve-selection="true" align="center"/>
+              <el-table-column label="姓名" align="center" prop="deptName" show-overflow-tooltip/>
+              <el-table-column label="工号" align="center" prop="deptName" show-overflow-tooltip width="150"/>
+              <el-table-column label="所在部门" align="center" prop="deptName" show-overflow-tooltip width="168"/>
+            </el-table>
+            <pagination :page-sizes="[20, 30, 40, 50]"
+                        v-show="userTotalRight>0"
+                        :total="userTotalRight"
+                        :page.sync="userTableListRight.pageNum"
+                        :limit.sync="userTableListRight.pageSize"
+                        @pagination="userGetListRight"/>
+          </div>
+        </div>
       </div>
       <div class="dialog-footer-box">
         <p class="dialog-footer-button-null"></p>
-        <p class="dialog-footer-button-info">取消</p>
+        <p class="dialog-footer-button-info" @click="addDialogOff">{{configPageType==1?'取消':'返回'}}</p>
         <p class="dialog-footer-button-primary">确定</p>
         <p class="dialog-footer-button-null"></p>
       </div>
@@ -71,6 +189,26 @@
           },
         ],
         checkType:false,
+        /*===================================人员选择相关===================================*/
+        deptSelectList:[],
+        userQueryParamsLeft:{
+          deptId:"",
+          searchValue:"",
+        },
+        userTableListLeft:[{}],
+        userTotalLeft:0,
+        userNumLeft:0,
+        userIdsLeft:[],
+        userQueryParamsRight:{
+          deptId:"",
+          searchValue:"",
+        },
+        userTableListRight:[{}],
+        userTotalRight:0,
+        userNumRight:0,
+        userIdsRight:[],
+        leftDateRange:[],
+        rightDateRange:[],
       }
     },
     created(){
@@ -80,8 +218,14 @@
 
     },
     methods:{
+      //人员选择
+      configUserButton(type){
+        if(this.configPageType != type){
+          this.$set(this,'configPageType',type);
+        }
+      },
+      //选择器
       checkboxChange(val){
-        let self = this;
         if(val[0]){
           let num = 0;
           for(let i=0;i<val.length;i++){
@@ -89,7 +233,6 @@
               num++
             }
           }
-          console.log(num)
           this.$set(this,'checkType',num != 0?true:false);
         }else{
           this.$set(this,'checkType',false);
@@ -100,8 +243,74 @@
         this.$parent.configButton(2)
       },
       addDialogOff(){
-        this.$parent.configButton(2)
-      }
+        if(this.configPageType == 1){
+          this.$parent.configButton(2)
+        }else{
+          this.$set(this,'configPageType',1);
+        }
+      },
+      /*===================================人员选择相关===================================*/
+      //查询
+      userHandleQueryLeft(){
+        this.$set(this.userQueryParamsLeft,'pageNum',1);
+        this.userGetListLeft();
+      },
+      //重置
+      userResetQueryLeft(){
+        this.$set(this,'userQueryParamsLeft',{ searchValue:"", });
+        this.userHandleQueryLeft();
+      },
+      //查询接口
+      userGetListLeft(){
+
+      },
+      //查询
+      userHandleQueryRight(){
+        this.$set(this.userQueryParamsRight,'pageNum',1);
+        this.userGetListRight();
+      },
+      //重置
+      userResetQueryRight(){
+        this.$set(this,'userQueryParamsRight',{
+          pageNum:1,
+          pageSize:20,
+          classType:"",
+          classified:"",
+          deptId:"",
+          searchValue:"",
+        });
+        this.userHandleQueryRight();
+      },
+      //查询接口
+      userGetListRight(){
+
+      },
+      userArrowButton(type){
+        if(type == 1){
+          if(this.userIdsRight[0]){
+
+          }
+        }else if(type == 2){
+          if(this.userIdsLeft[0]){
+
+          }
+        }
+      },
+      /*===记录勾选数据===
+        需要再el-table 添加  :row-key="getRowKeys"
+        需要在selection 添加 :reserve-selection="true"
+      */
+      getRowKeys(row) {
+        return row.userId
+      },
+      userChangeLeft(selection){
+        this.userNumLeft = selection.length;
+        this.userIdsLeft = selection.map(item => item.userId);
+      },
+      userChangeRight(selection){
+        this.userNumRight = selection.length;
+        this.userIdsRight = selection.map(item => item.userId);
+      },
     }
   }
 </script>
@@ -167,6 +376,112 @@
       overflow: hidden;
       .configDialog-user-content-box{
         flex:1;
+        display: flex;
+        overflow: hidden;
+        .dept-table-title-box{
+          display: flex;
+          padding:0 20px;
+          background: rgba(1,131,250,0.1);
+          p{
+            flex:1;
+            color:#0183FA;
+            font-size:16px;
+            line-height:40px;
+          }
+          p:nth-child(1){
+            text-align: left;
+          }
+          p:nth-child(2){
+            text-align: right;
+          }
+        }
+        .dept-table-max-box{
+          border: 1px solid #e0e0e0;
+          flex:1;
+          display: flex;
+          flex-direction: column;
+          overflow: hidden;
+          padding:20px;
+          .form-index{
+            .el-input__inner{
+              border-right:none;
+              padding-right:0;
+            }
+            .el-input-group__append{
+              background: #fff;
+              cursor: pointer;
+              padding:0 10px;
+            }
+          }
+          input{
+            border: 1px solid #DCDFE6;
+          }
+        }
+        .left-max-box{
+          height:550px;
+          display: flex;
+          flex-direction: column;
+          overflow: hidden;
+          width:604px;
+        }
+        .right-max-box{
+          height:550px;
+          display: flex;
+          flex-direction: column;
+          overflow: hidden;
+          width:604px;
+        }
+        .center-box{
+          width:60px;
+          p{
+            display: block;
+            border-radius:50%;
+            width:30px;
+            height:30px;
+            line-height:30px;
+            text-align: center;
+            background: rgba(245,245,245,1);
+            color:rgba(62,62,62,1);
+            cursor: pointer;
+            font-size:16px;
+          }
+          p:nth-child(1){
+            margin:270px 16px 0;
+          }
+          p:nth-child(2){
+            margin:14px 16px 0;
+          }
+          p:hover{
+            color:#fff;
+            background: #0183fa;
+          }
+        }
+        ::v-deep .el-range-editor--small .el-range__icon{
+          display: none;
+        }
+        ::v-deep .el-range-editor--small .el-range__close-icon{
+          display: none;
+        }
+        ::v-deep .el-date-editor .el-range-input{
+          width:45%;
+        }
+        ::v-deep .el-range-editor--small .el-range-separator{
+          line-height:30px;
+        }
+        ::v-deep .el-input-group__append, .el-input-group__prepend{
+          background-color: #fff;
+        }
+        .form-index{
+          ::v-deep .el-input--medium .el-input__inner{
+            border:1px solid #DCDFE6;
+            border-right:none;
+            padding-right:0;
+          }
+          ::v-deep .el-input-group__append{
+            padding:0 10px;
+            cursor: pointer;
+          }
+        }
       }
       .dialog-footer-box{
         display: flex;

+ 22 - 1
src/views/safetyCheck/components/infoDialog/infoDialog.vue

@@ -1,3 +1,24 @@
+<!--
+
+  import infoDialog from '@/views/safetyCheck/components/infoDialog/infoDialog.vue'
+
+  components: {
+    infoDialog,
+  },
+
+  <infoDialog v-if="infoDialogType"></infoDialog>
+
+  infoDialogType:false,
+
+
+  //开关详情页面
+  addDialogOpen(type,data){
+    if(this.infoDialogType != type){
+      this.$set(this,'infoDialogType',type);
+    }
+  },
+
+-->
 <template>
   <el-dialog class="safetyHazard-info-dialog-box" @close="outDialog"
              :title="infoDialogTitle" :visible.sync="infoDialogType" v-if="infoDialogType"
@@ -546,7 +567,7 @@
           return false
         }
         let type = false;
-        if (file.type == 'image/png' || file.type == 'image/jpeg' || file.type == 'image/gif') {
+        if (file.type == 'image/png' || file.type == 'image/jpeg' || file.type == 'image/gif' || file.type == 'image/bmp') {
           if(file.size> 2000000){
             this.msgError('上传图片大小不能超过2M')
             return false

+ 1 - 1
src/views/safetyCheck/components/infoPage/infoPage.vue

@@ -375,7 +375,7 @@
       display: flex;
       flex-direction: column;
       .top-form-box{
-        padding:20px 85px;
+        padding:40px 85px 20px;
         display: flex;
         .top-form-left-box{
           height:317px;

+ 2 - 2
src/views/safetyCheck/laboratorySelfTest/selfInspectionManagement/addPage.vue

@@ -242,7 +242,7 @@
           return false
         }
         let type = false;
-        if (file.type == 'image/png' || file.type == 'image/jpeg' || file.type == 'image/gif') {
+        if (file.type == 'image/png' || file.type == 'image/jpeg' || file.type == 'image/gif' || file.type == 'image/bmp') {
           if(file.size> 2000000){
             this.msgError('上传图片大小不能超过2M')
             return false
@@ -297,7 +297,7 @@
       display: flex;
       flex-direction: column;
       .top-form-box{
-        padding:20px 85px;
+        padding:40px 85px 20px;
         display: flex;
         .top-form-left-box{
           height:317px;

+ 2 - 2
src/views/safetyCheck/laboratorySelfTest/selfInspectionTask/addPage.vue

@@ -242,7 +242,7 @@
           return false
         }
         let type = false;
-        if (file.type == 'image/png' || file.type == 'image/jpeg' || file.type == 'image/gif') {
+        if (file.type == 'image/png' || file.type == 'image/jpeg' || file.type == 'image/gif' || file.type == 'image/bmp') {
           if(file.size> 2000000){
             this.msgError('上传图片大小不能超过2M')
             return false
@@ -297,7 +297,7 @@
       display: flex;
       flex-direction: column;
       .top-form-box{
-        padding:20px 85px;
+        padding:40px 85px 20px;
         display: flex;
         .top-form-left-box{
           height:317px;

+ 237 - 0
src/views/safetyCheck/rectificationReport/index.vue

@@ -0,0 +1,237 @@
+<template>
+  <div class="app-container rectificationReport">
+    <div class="title-box">
+      <el-form :model="queryParams" class="form-box" ref="queryForm" :inline="true" label-width="80px">
+        <el-form-item label="关键字" prop="searchValue">
+          <el-input
+            maxLength="30"
+            v-model="queryParams.searchValue"
+            placeholder="计划任务/实验室/房间号"
+            clearable
+            style="width: 200px"
+          />
+        </el-form-item>
+        <el-form-item label="学校" prop="data1" label-width="50px">
+          <el-select v-model="queryParams.data1" clearable placeholder="请选择层级">
+            <el-option
+              v-for="item in optionsList"
+              :key="item.key"
+              :label="item.label"
+              :value="item.key">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="检查时间" prop="dateRange" style="margin-left:10px;" label-width="70px">
+          <el-date-picker
+            :clearable="false"
+            v-model="dateRange"
+            size="small"
+            style="width: 240px"
+            value-format="yyyy-MM-dd"
+            type="daterange"
+            range-separator="-"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+          ></el-date-picker>
+        </el-form-item>
+        <el-form-item>
+          <p class="inquire-button-one" @click="handleQuery" style="margin-right:10px;">查询</p>
+          <p class="reset-button-one" @click="resetQuery">重置</p>
+        </el-form-item>
+        <el-form-item style="float: right;">
+          <el-col :span="1.5">
+            <p class="inquire-button-one"
+               style="width:100px;"
+            >批量下载</p>
+          </el-col>
+        </el-form-item>
+      </el-form>
+    </div>
+    <div class="content-box">
+      <el-table  border :data="tableList" ref="multipleTable" @selection-change="handleSelectionChange"  :row-key="getRowKeys">
+        <el-table-column type="selection" width="50" align="center" :reserve-selection="true"/>
+        <el-table-column label="序号" align="center"  type="index" width="50" />
+        <el-table-column label="计划任务" align="center" prop="deptName" show-overflow-tooltip/>
+        <el-table-column label="学院" align="center" prop="deptName" show-overflow-tooltip width="100"/>
+        <el-table-column label="实验室" align="center" prop="deptName" show-overflow-tooltip width="100"/>
+        <el-table-column label="房间号" align="center" prop="deptName" show-overflow-tooltip width="80"/>
+        <el-table-column label="楼栋" align="center" prop="deptName" show-overflow-tooltip width="100"/>
+        <el-table-column label="隐患数" align="center" prop="deptName" show-overflow-tooltip width="80"/>
+        <el-table-column label="计划周期" align="center" prop="deptName" show-overflow-tooltip width="200"/>
+        <el-table-column label="检查者" align="center" prop="deptName" show-overflow-tooltip width="80"/>
+        <el-table-column label="检查时间" align="center" prop="deptName" show-overflow-tooltip width="120"/>
+        <el-table-column label="整改员" align="center" prop="deptName" show-overflow-tooltip width="80"/>
+        <el-table-column label="整改时间" align="center" prop="deptName" show-overflow-tooltip width="120"/>
+        <el-table-column label="操作" align="center" prop="deptName" width="200">
+          <template slot-scope="scope">
+            <div class="table-button-box">
+              <p class="table-button-p" @click="addDialogOpen(true)">检查详情</p>
+              <p class="table-button-p" @click="lookDocumentButton(1,scope.row)">查看</p>
+              <p class="table-button-p" @click="downloadButton(scope.row)">下载</p>
+            </div>
+          </template>
+        </el-table-column>
+      </el-table>
+      <pagination :page-sizes="[20, 30, 40, 50]"
+                  v-show="total>0"
+                  :total="total"
+                  :page.sync="queryParams.pageNum"
+                  :limit.sync="queryParams.pageSize"
+                  @pagination="getList"
+      />
+    </div>
+    <infoDialog v-if="infoDialogType"></infoDialog>
+    <lookDocumentDialog v-if="lookDocumentType" :propsLookDocumentData="propsLookDocumentData"></lookDocumentDialog>
+  </div>
+</template>
+
+<script>
+  import infoDialog from '@/views/safetyCheck/components/infoDialog/infoDialog.vue'
+  import lookDocumentDialog from '@/components/lookDocumentDialog/lookDocumentDialog.vue'
+  export default {
+    name: 'index',
+    components: {
+      infoDialog,
+      lookDocumentDialog
+    },
+    data(){
+      return{
+        //子组件数据
+        infoDialogType:false,
+        lookDocumentType:false,
+        propsLookDocumentData:{},
+        optionsList:[],
+        queryParams:{
+          pageNum:1,
+          pageSize:20,
+          buttonType:1,
+          safetyType:"",
+          timeType:0,
+          searchValue:"",
+          data1:""
+        },
+        dateRange:[],
+        tableList:[{
+          name:"我是内容我是内容我是内容我是内容我是内容我是内容我是内容我是内容我是内容我是内容我是内容我是内容我是内容我是内容我是内容我是内容我是内容我是内容我是内容我是内容",
+          url:"statics/bigFile/2023022011/f23a32c8-bf8e-40b5-9e52-04cf73fc6037.docx",},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},],
+        total:0,
+        selectedNum:0,
+        ids:[],
+      }
+    },
+    created(){
+
+    },
+    mounted(){
+
+    },
+    methods:{
+      // 单个下载按钮
+      downloadButton(row){
+        this.download(row.url, {}, row.name)
+      },
+      //开关详情页面
+      addDialogOpen(type,data){
+        if(this.infoDialogType != type){
+          this.$set(this,'infoDialogType',type);
+        }
+      },
+      //查看单个文档
+      lookDocumentButton(type,row){
+        if(type==1){
+          this.$set(this,'propsLookDocumentData',{
+            title:"整改报告",
+            name:row.name,
+            url:row.url
+          });
+          this.$set(this,'lookDocumentType',true);
+        }else{
+          this.$set(this,'lookDocumentType',false);
+        }
+      },
+      //获取数据列表
+      getList(){
+        // this.queryParamsData = JSON.parse(JSON.stringify(this.queryParams));
+        // this.queryParamsData.type = 'RFID_RECOGNIZER';
+        // listHardware(this.queryParamsData).then(response => {
+        //   this.total = response.total;
+        //   this.tableList = response.rows;
+        // });
+      },
+      /** 搜索按钮操作 */
+      handleQuery() {
+        this.$set(this.queryParams,'pageNum',1);
+        this.getList();
+      },
+      /** 重置按钮操作 */
+      resetQuery() {
+        this.$set(this,'dateRange',[]);
+        this.$set(this,'queryParams',{
+          pageNum:1,
+          pageSize:20,
+          buttonType:1,
+          timeType:0,
+          searchValue:"",
+          data1:""
+        });
+        this.handleQuery();
+      },
+      /*===记录勾选数据===
+        需要再el-table 添加  :row-key="getRowKeys"
+        需要在selection 添加 :reserve-selection="true"
+      */
+      getRowKeys(row) {
+        return row.id
+      },
+      // 多选框选中数据
+      handleSelectionChange(selection) {
+        this.selectedNum = selection.length;
+        this.ids = selection.map(item => item.id)
+      },
+    },
+  }
+</script>
+
+<style scoped lang="scss">
+  .rectificationReport{
+    flex: 1;
+    display: flex !important;
+    flex-direction: column;
+    overflow: hidden;
+    .title-box{
+      padding-top:20px;
+      .form-button-max-big-box{
+        display: inline-block;
+        .form-button-big-box{
+          display: flex;
+          div{
+            position: relative;
+            height:40px;
+            width:100px;
+            line-height: 40px;
+            text-align: center;
+            color:#0045AF;
+            font-size:14px;
+            border:1px solid #0045AF;
+            border-radius:4px;
+            margin-left:10px;
+            font-weight:500;
+            cursor: pointer;
+          }
+          .checkDiv{
+            color:#fff;
+            background-color:#0045AF;
+            border:1px solid #0045AF;
+          }
+        }
+      }
+    }
+    .content-box{
+      flex: 1;
+      display: flex;
+      flex-direction: column;
+      padding:0 20px 20px;
+      overflow: hidden;
+    }
+  }
+</style>

+ 2 - 2
src/views/safetyCheck/schoolInspection/inspectionManagement/addPage.vue

@@ -241,7 +241,7 @@
           return false
         }
         let type = false;
-        if (file.type == 'image/png' || file.type == 'image/jpeg' || file.type == 'image/gif') {
+        if (file.type == 'image/png' || file.type == 'image/jpeg' || file.type == 'image/gif' || file.type == 'image/bmp') {
           if(file.size> 2000000){
             this.msgError('上传图片大小不能超过2M')
             return false
@@ -296,7 +296,7 @@
       display: flex;
       flex-direction: column;
       .top-form-box{
-        padding:20px 85px;
+        padding:40px 85px 20px;
         display: flex;
         .top-form-left-box{
           height:317px;

+ 2 - 2
src/views/safetyCheck/schoolInspection/inspectionPlan/addPage.vue

@@ -242,7 +242,7 @@
           return false
         }
         let type = false;
-        if (file.type == 'image/png' || file.type == 'image/jpeg' || file.type == 'image/gif') {
+        if (file.type == 'image/png' || file.type == 'image/jpeg' || file.type == 'image/gif' || file.type == 'image/bmp') {
           if(file.size> 2000000){
             this.msgError('上传图片大小不能超过2M')
             return false
@@ -297,7 +297,7 @@
       display: flex;
       flex-direction: column;
       .top-form-box{
-        padding:20px 85px;
+        padding:40px 85px 20px;
         display: flex;
         .top-form-left-box{
           height:317px;

+ 481 - 0
src/views/safetyCheck/snapshotManagement/index.vue

@@ -0,0 +1,481 @@
+<template>
+  <div class="app-container snapshotManagement">
+    <div class="snapshotManagement-page" v-if="pageType == 1">
+      <div class="title-box">
+        <el-form :model="queryParams" class="form-box" ref="queryForm" :inline="true" label-width="80px">
+          <div class="form-button-max-big-box">
+            <div class="form-button-big-box" style="margin-left:10px;">
+              <div :class="queryParams.buttonType==1?'checkDiv':''" @click="topLeftClickType(1)">
+                <p class="text-p">全部</p>
+                <p class="el-icon-check icon-p" v-if="queryParams.buttonType==1"></p>
+              </div>
+              <div :class="queryParams.buttonType==2?'checkDiv':''" @click="topLeftClickType(2)">
+                <p class="text-p">待整改</p>
+                <p class="el-icon-check icon-p" v-if="queryParams.buttonType==2"></p>
+              </div>
+              <div :class="queryParams.buttonType==3?'checkDiv':''" @click="topLeftClickType(3)">
+                <p class="text-p">已整改</p>
+                <p class="el-icon-check icon-p" v-if="queryParams.buttonType==3"></p>
+              </div>
+              <div :class="queryParams.buttonType==4?'checkDiv':''" @click="topLeftClickType(4)">
+                <p class="text-p">暂无法整改</p>
+                <p class="el-icon-check icon-p" v-if="queryParams.buttonType==4"></p>
+              </div>
+            </div>
+          </div>
+          <el-form-item label="关键字" prop="searchValue">
+            <el-input
+              maxLength="30"
+              v-model="queryParams.searchValue"
+              placeholder="实验室/房间号/上报人"
+              clearable
+              style="width: 180px"
+            />
+          </el-form-item>
+          <el-form-item label="学院" prop="deptId" label-width="50px">
+            <el-select v-model="queryParams.deptId" clearable placeholder="学院" style="width: 150px">
+              <el-option
+                v-for="item in deptSelectList"
+                :key="item.key"
+                :label="item.label"
+                :value="item.key">
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="上报时间" prop="dateRange" style="margin-left:10px;" label-width="70px">
+            <el-date-picker
+              :clearable="false"
+              v-model="dateRange"
+              size="small"
+              style="width: 220px"
+              value-format="yyyy-MM-dd"
+              type="daterange"
+              range-separator="-"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+            ></el-date-picker>
+          </el-form-item>
+          <el-form-item>
+            <p class="inquire-button-one" @click="handleQuery" style="margin-right:10px;">查询</p>
+            <p class="reset-button-one" @click="resetQuery">重置</p>
+          </el-form-item>
+          <el-form-item style="float: right;">
+            <el-col :span="1.5">
+              <p class="inquire-button-one"
+                 style="width:100px;"
+                 @click="addButton"
+              ><i class="el-icon-plus"></i> 随手拍</p>
+            </el-col>
+          </el-form-item>
+          <el-form-item style="float: right;">
+            <el-col :span="1.5">
+              <p class="add-button-one-90"
+                 style="width:100px;"
+                 @click="goPage(2)"
+              >上报记录</p>
+            </el-col>
+          </el-form-item>
+        </el-form>
+      </div>
+      <div class="content-box">
+        <el-table  border :data="tableList" ref="multipleTable" @sort-change="sortChange">
+          <el-table-column label="序号" align="center"  type="index" width="60" />
+          <el-table-column label="学院" align="center" prop="deptName" show-overflow-tooltip/>
+          <el-table-column label="实验室" align="center" prop="deptName" show-overflow-tooltip width="220"/>
+          <el-table-column label="安全责任人" align="center" prop="deptName" show-overflow-tooltip width="120"/>
+          <el-table-column label="上报人" align="center" prop="deptName" show-overflow-tooltip width="90"/>
+          <el-table-column label="上报时间" sortable align="center" prop="deptName" show-overflow-tooltip width="157"/>
+          <el-table-column label="隐患描述" align="center" prop="deptName" show-overflow-tooltip width="280"/>
+          <el-table-column label="整改人" align="center" prop="deptName" show-overflow-tooltip width="100"/>
+          <el-table-column label="整改时间" sortable align="center" prop="deptName" show-overflow-tooltip width="157"/>
+          <el-table-column label="整改状态" align="center" prop="deptName" show-overflow-tooltip width="120"/>
+          <el-table-column label="操作" align="center" prop="deptName" width="70">
+            <template slot-scope="scope">
+              <div class="table-button-box">
+                <p class="table-button-p" @click="goPage(3,scope.row)">详情</p>
+              </div>
+            </template>
+          </el-table-column>
+        </el-table>
+        <pagination :page-sizes="[20, 30, 40, 50]"
+                    v-show="total>0"
+                    :total="total"
+                    :page.sync="queryParams.pageNum"
+                    :limit.sync="queryParams.pageSize"
+                    @pagination="getList"
+        />
+      </div>
+    </div>
+    <listPage v-if="pageType == 2"></listPage>
+    <infoPage v-if="pageType == 3"></infoPage>
+    <el-dialog class="safetyHazard-info-dialog-box" @close="outDialog"
+               title="随手拍上报" :visible.sync="addDialogType" v-if="addDialogType"
+               width="787px" append-to-body>
+      <div>
+        <el-form  :model="addDialogForm" :rules="rules" label-width="140px">
+          <el-form-item label="学院:" prop="deptId">
+            <el-select v-model="addDialogForm.deptId" placeholder="请选择学院" style="width:548px;">
+              <el-option
+                v-for="item in dialogDeptOptions"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value">
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="实验室:" prop="subId">
+            <el-select
+              style="width:548px;"
+              v-model="addDialogForm.subjectId"
+              filterable
+              remote
+              clearable
+              @focus="selectFocus"
+              reserve-keyword
+              @clear="clearClick"
+              placeholder="搜索选择实验室"
+              :remote-method="getSelectList"
+              :loading="dialogLoading">
+              <el-option
+                v-for="item in dialogSubList"
+                :key="item.id"
+                :label="item.name"
+                :value="item.id">
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="隐患描述:" prop="text">
+            <el-input
+              type="textarea"
+              :autosize="{ minRows: 4, maxRows: 4}"
+              placeholder="请输入隐患描述"
+              v-model="addDialogForm.text"
+              maxlength="100"
+              resize="none"
+              show-word-limit
+              style="width:548px;">
+            </el-input>
+          </el-form-item>
+          <el-form-item label="隐患照片:" prop="imgList">
+            <div class="snapshotManagement-for-img-box" v-for="(img,imgIndex) in addDialogForm.imgList" :key="imgIndex">
+              <img class="for-img" :src="img.url">
+              <p class="for-del-button el-icon-circle-close" @click="delImg(imgIndex)"></p>
+            </div>
+            <el-upload
+              style="display: inline-block;overflow: hidden"
+              class="avatar-uploader"
+              :action="uploadImgUrl"
+              :show-file-list="false"
+              :on-success="(res)=>handleAvatarSuccess(res)"
+              :headers="headers"
+              :before-upload="(res)=>beforeAvatarUpload(res)">
+              <p class="el-icon-plus up-img-p" style="display: inline-block"></p>
+            </el-upload>
+            <p class="dialog-material-text">支持jpg/png/bmp/gif格式,最多上传5张</p>
+          </el-form-item>
+        </el-form>
+      </div>
+      <div slot="footer" class="dialog-footer dialog-footer-box" style="display: flex">
+        <p class="dialog-footer-button-null"></p>
+        <p class="dialog-footer-button-info" @click="outDialog">取消</p>
+        <p class="dialog-footer-button-primary">确定</p>
+        <p class="dialog-footer-button-null"></p>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+  import listPage from './listPage.vue'
+  import infoPage from './infoPage.vue'
+  import { getToken } from "@/utils/auth";
+  export default {
+    name: 'index',
+    components: {
+      listPage,
+      infoPage
+    },
+    data(){
+      return{
+        uploadImgUrl: this.uploadUrl(), // 上传的图片服务器地址
+        headers: {
+          Authorization: "Bearer " + getToken(),
+        },
+        pageType:1,
+        deptSelectList:[],
+        queryParams:{
+          pageNum:1,
+          pageSize:20,
+          buttonType:1,
+          timeType:0,
+          searchValue:"",
+          data1:""
+        },
+        dateRange:[],
+        tableList:[{}],
+        total:0,
+        //新增窗口
+        addDialogType:false,
+        addDialogForm:{
+          deptId:"",
+          subId:"",
+          text:"",
+          imgList:[],
+        },
+        rules:{
+          deptId: [
+            { required: true, message: "请选择学院", trigger: "change" },
+          ],
+          subId: [
+            { required: true, message: "请选择实验室", trigger: "change" },
+          ],
+          imgList: [
+            { required: true, message: "请上传隐患照片", trigger: "change" },
+          ],
+        },
+        dialogDeptOptions:[],
+        dialogLoading:false,
+        dialogSubList:[],
+        dialogSubListData:[],
+        suffixName:"",
+      }
+    },
+    created(){
+
+    },
+    mounted(){
+
+    },
+    methods:{
+      goPage(type,data){
+        if(this.pageType != type){
+          if (type==1){
+            this.$set(this,'pageType',type);
+          } else if(type==2){
+            this.$set(this,'pageType',type);
+          } else if(type==3){
+            this.$set(this,'pageType',type);
+          } else if(type==4){
+            this.$set(this,'pageType',type);
+          }
+        }
+      },
+      //范围选择
+      topLeftClickType(type){
+        if(this.queryParams.buttonType != type){
+          this.$set(this.queryParams,'buttonType',type);
+          this.getList();
+        }
+      },
+      //时间排序方法
+      sortChange(val){
+        //ascending 上    descending 下    null  无
+        console.log('val',val.order)
+        this.$set(this.queryParams,'timeType',val.order=='ascending'?1:(val.order=='descending'?2:''));
+      },
+      //获取数据列表
+      getList(){
+        // this.queryParamsData = JSON.parse(JSON.stringify(this.queryParams));
+        // this.queryParamsData.type = 'RFID_RECOGNIZER';
+        // listHardware(this.queryParamsData).then(response => {
+        //   this.total = response.total;
+        //   this.tableList = response.rows;
+        // });
+      },
+      /** 搜索按钮操作 */
+      handleQuery() {
+        this.$set(this.queryParams,'pageNum',1);
+        this.getList();
+      },
+      /** 重置按钮操作 */
+      resetQuery() {
+        this.$set(this,'dateRange',[]);
+        this.$set(this,'queryParams',{
+          pageNum:1,
+          pageSize:20,
+          buttonType:1,
+          timeType:0,
+          searchValue:"",
+          data1:""
+        });
+        this.handleQuery();
+      },
+      /*==========上传相关==========*/
+      handleAvatarSuccess(res) {
+        if(this.addDialogForm.imgList.length>4){
+          this.msgError('最多只可上传5张')
+          return
+        }
+        let suffixName= this.upDataName.split('.')[this.upDataName.split('.').length - 2]
+        //判断文件名中是否有逗号和分号
+        if(suffixName.indexOf(',')==-1 && suffixName.indexOf(';')==-1){
+        }else{
+          this.msgError('文件名里包含逗号或分号,请修改后重新上传!')
+          return
+        }
+        let obj ={
+          name:this.upDataName,
+          url:res.data.url,
+        };
+        this.addDialogForm.imgList.push(obj);
+        this.$forceUpdate()
+      },
+      beforeAvatarUpload(file) {
+        if(this.addDialogForm.imgList.length>4){
+          this.msgError('最多只可上传5张')
+          return false
+        }
+        let type = false;
+        if (file.type == 'image/png' || file.type == 'image/jpeg' || file.type == 'image/gif' || file.type == 'image/bmp') {
+          if(file.size> 5000000){
+            this.msgError('上传图片大小不能超过5M')
+            return false
+          }
+          this.upDataName = file.name;
+          type = true;
+        }else{
+          this.msgError('png/jpeg/gif格式')
+          type = false;
+        }
+        return type;
+      },
+      //删除照片
+      delImg(imgIndex){
+        this.addDialogForm.imgList.splice(imgIndex,1);
+      },
+      /**************** 新增窗口 ******************/
+      addButton(){
+        this.$set(this,'addDialogForm',{
+          deptId:"",
+          subId:"",
+          text:"",
+          imgList:[],
+        });
+        this.$set(this,'addDialogType',true);
+      },
+      outDialog(){
+        this.$set(this,'addDialogType',false);
+      },
+      //搜索实验室相关
+      selectFocus(){
+        if(!this.dialogSubList[0]){
+
+        }
+      },
+      //实验室选中清除
+      clearClick(){
+        this.dialogSubList = JSON.parse(JSON.stringify(this.dialogSubListData))
+      },
+      /** 实验室-本地懒加载 */
+      getSelectList(val) {
+        let self = this;
+        let list = [];
+        for(let i=0;i<self.dialogSubListData.length;i++){
+          if(self.dialogSubListData[i].name.indexOf(val) != -1){
+            list.push(self.dialogSubListData[i]);
+          }
+        }
+        this.dialogSubList = JSON.parse(JSON.stringify(list))
+      },
+    }
+  }
+</script>
+
+<style scoped lang="scss">
+  .snapshotManagement{
+    flex: 1;
+    display: flex !important;
+    flex-direction: column;
+    overflow: hidden;
+    .snapshotManagement-page{
+      flex: 1;
+      display: flex !important;
+      flex-direction: column;
+      overflow: hidden;
+      .title-box{
+        padding-top:20px;
+        border-bottom:1px solid #dedede;
+        .form-button-max-big-box{
+          display: inline-block;
+          .form-button-big-box{
+            display: flex;
+            div{
+              position: relative;
+              height:40px;
+              width:80px;
+              line-height: 40px;
+              text-align: center;
+              color:#999;
+              font-size:14px;
+              border:1px solid #999;
+              border-radius:4px;
+              margin-left:10px;
+              font-weight:500;
+              cursor: pointer;
+              .icon-p{
+                width:15px;
+                height:15px;
+                line-height:15px;
+                text-align: center;
+                position: absolute;
+                right:0;
+                bottom:0;
+                color:#fff;
+                background: #0183fa;
+                border-top-left-radius:4px;
+              }
+            }
+            .checkDiv{
+              color:#0183FA;
+              border:1px solid #0183FA;
+            }
+          }
+        }
+      }
+      .content-box{
+        flex: 1;
+        display: flex;
+        flex-direction: column;
+        padding:20px;
+        overflow: hidden;
+      }
+    }
+  }
+  ::v-deep .snapshotManagement-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;
+    }
+    .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;
+    }
+  }
+  ::v-deep .up-img-p{
+    height:80px;
+    width:80px;
+    line-height:80px;
+    text-align: center;
+    font-size:16px;
+    border-radius:4px;
+    border:1px dashed #E0E0E0;
+  }
+</style>

File diff suppressed because it is too large
+ 490 - 0
src/views/safetyCheck/snapshotManagement/infoPage.vue


+ 248 - 0
src/views/safetyCheck/snapshotManagement/listPage.vue

@@ -0,0 +1,248 @@
+<template>
+  <div class="snapshotManagement-listPage">
+    <div class="snapshotManagement-listPage-min" v-if="infoPageType == 1">
+      <div class="title-box">
+        <el-form :model="queryParams" class="form-box" ref="queryForm" :inline="true" label-width="80px">
+          <div class="form-button-max-big-box">
+            <div class="form-button-big-box" style="margin-left:10px;">
+              <div :class="queryParams.buttonType==1?'checkDiv':''" @click="topLeftClickType(1)">
+                <p class="text-p">全部</p>
+                <p class="el-icon-check icon-p" v-if="queryParams.buttonType==1"></p>
+              </div>
+              <div :class="queryParams.buttonType==2?'checkDiv':''" @click="topLeftClickType(2)">
+                <p class="text-p">待整改</p>
+                <p class="el-icon-check icon-p" v-if="queryParams.buttonType==2"></p>
+              </div>
+              <div :class="queryParams.buttonType==3?'checkDiv':''" @click="topLeftClickType(3)">
+                <p class="text-p">已整改</p>
+                <p class="el-icon-check icon-p" v-if="queryParams.buttonType==3"></p>
+              </div>
+              <div :class="queryParams.buttonType==4?'checkDiv':''" @click="topLeftClickType(4)">
+                <p class="text-p">暂无法整改</p>
+                <p class="el-icon-check icon-p" v-if="queryParams.buttonType==4"></p>
+              </div>
+            </div>
+          </div>
+          <el-form-item label="关键字" prop="searchValue">
+            <el-input
+              maxLength="30"
+              v-model="queryParams.searchValue"
+              placeholder="实验室/房间号/上报人"
+              clearable
+              style="width: 180px"
+            />
+          </el-form-item>
+          <el-form-item label="学院" prop="deptId" label-width="50px">
+            <el-select v-model="queryParams.deptId" clearable placeholder="学院" style="width: 150px">
+              <el-option
+                v-for="item in deptSelectList"
+                :key="item.key"
+                :label="item.label"
+                :value="item.key">
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="上报时间" prop="dateRange" style="margin-left:10px;" label-width="70px">
+            <el-date-picker
+              :clearable="false"
+              v-model="dateRange"
+              size="small"
+              style="width: 220px"
+              value-format="yyyy-MM-dd"
+              type="daterange"
+              range-separator="-"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+            ></el-date-picker>
+          </el-form-item>
+          <el-form-item>
+            <p class="inquire-button-one" @click="handleQuery" style="margin-right:10px;">查询</p>
+            <p class="reset-button-one" @click="resetQuery">重置</p>
+          </el-form-item>
+          <el-form-item style="float: right;">
+            <el-col :span="1.5">
+              <p class="add-button-one-90"
+                 style="width:100px;"
+                 @click="outButton"
+              >返回</p>
+            </el-col>
+          </el-form-item>
+        </el-form>
+      </div>
+      <div class="content-box">
+        <el-table  border :data="tableList" ref="multipleTable" @sort-change="sortChange">
+          <el-table-column label="序号" align="center"  type="index" width="60" />
+          <el-table-column label="学院" align="center" prop="deptName" show-overflow-tooltip/>
+          <el-table-column label="实验室" align="center" prop="deptName" show-overflow-tooltip width="220"/>
+          <el-table-column label="安全责任人" align="center" prop="deptName" show-overflow-tooltip width="120"/>
+          <el-table-column label="上报人" align="center" prop="deptName" show-overflow-tooltip width="90"/>
+          <el-table-column label="上报时间" sortable align="center" prop="deptName" show-overflow-tooltip width="157"/>
+          <el-table-column label="隐患描述" align="center" prop="deptName" show-overflow-tooltip width="280"/>
+          <el-table-column label="整改人" align="center" prop="deptName" show-overflow-tooltip width="100"/>
+          <el-table-column label="整改时间" sortable align="center" prop="deptName" show-overflow-tooltip width="157"/>
+          <el-table-column label="整改状态" align="center" prop="deptName" show-overflow-tooltip width="120"/>
+          <el-table-column label="操作" align="center" prop="deptName" width="70">
+            <template slot-scope="scope">
+              <div class="table-button-box">
+                <p class="table-button-p" @click="goPage(2,scope.row)">详情</p>
+              </div>
+            </template>
+          </el-table-column>
+        </el-table>
+        <pagination :page-sizes="[20, 30, 40, 50]"
+                    v-show="total>0"
+                    :total="total"
+                    :page.sync="queryParams.pageNum"
+                    :limit.sync="queryParams.pageSize"
+                    @pagination="getList"
+        />
+      </div>
+    </div>
+    <infoPage v-if="infoPageType == 2"></infoPage>
+  </div>
+</template>
+
+<script>
+  import infoPage from './infoPage.vue'
+  export default {
+    name: 'listPage',
+    components: {
+      infoPage
+    },
+    data(){
+      return{
+        infoPageType:1,
+        deptSelectList:[],
+        queryParams:{
+          pageNum:1,
+          pageSize:20,
+          buttonType:1,
+          timeType:0,
+          searchValue:"",
+          data1:""
+        },
+        dateRange:[],
+        tableList:[{}],
+        total:0,
+      }
+    },
+    created(){
+
+    },
+    mounted(){
+
+    },
+    methods:{
+      //详情按钮
+      goPage(type){
+        this.$set(this,'infoPageType',type);
+      },
+      //返回按钮
+      outButton(){
+        this.$parent.goPage(1);
+      },
+      //范围选择
+      topLeftClickType(type){
+        if(this.queryParams.buttonType != type){
+          this.$set(this.queryParams,'buttonType',type);
+          this.getList();
+        }
+      },
+      //时间排序方法
+      sortChange(val){
+        //ascending 上    descending 下    null  无
+        console.log('val',val.order)
+        this.$set(this.queryParams,'timeType',val.order=='ascending'?1:(val.order=='descending'?2:''));
+      },
+      //获取数据列表
+      getList(){
+        // this.queryParamsData = JSON.parse(JSON.stringify(this.queryParams));
+        // this.queryParamsData.type = 'RFID_RECOGNIZER';
+        // listHardware(this.queryParamsData).then(response => {
+        //   this.total = response.total;
+        //   this.tableList = response.rows;
+        // });
+      },
+      /** 搜索按钮操作 */
+      handleQuery() {
+        this.$set(this.queryParams,'pageNum',1);
+        this.getList();
+      },
+      /** 重置按钮操作 */
+      resetQuery() {
+        this.$set(this,'dateRange',[]);
+        this.$set(this,'queryParams',{
+          pageNum:1,
+          pageSize:20,
+          buttonType:1,
+          timeType:0,
+          searchValue:"",
+          data1:""
+        });
+        this.handleQuery();
+      },
+    }
+  }
+</script>
+
+<style scoped lang="scss">
+  .snapshotManagement-listPage{
+    flex: 1;
+    display: flex !important;
+    flex-direction: column;
+    overflow: hidden;
+    .snapshotManagement-listPage-min{
+      flex: 1;
+      display: flex !important;
+      flex-direction: column;
+      overflow: hidden;
+      .title-box{
+        padding-top:20px;
+        border-bottom:1px solid #dedede;
+        .form-button-max-big-box{
+          display: inline-block;
+          .form-button-big-box{
+            display: flex;
+            div{
+              position: relative;
+              height:40px;
+              width:80px;
+              line-height: 40px;
+              text-align: center;
+              color:#999;
+              font-size:14px;
+              border:1px solid #999;
+              border-radius:4px;
+              margin-left:10px;
+              font-weight:500;
+              cursor: pointer;
+              .icon-p{
+                width:15px;
+                height:15px;
+                line-height:15px;
+                text-align: center;
+                position: absolute;
+                right:0;
+                bottom:0;
+                color:#fff;
+                background: #0183fa;
+                border-top-left-radius:4px;
+              }
+            }
+            .checkDiv{
+              color:#0183FA;
+              border:1px solid #0183FA;
+            }
+          }
+        }
+      }
+      .content-box{
+        flex: 1;
+        display: flex;
+        flex-direction: column;
+        padding:20px;
+        overflow: hidden;
+      }
+    }
+  }
+</style>

File diff suppressed because it is too large
+ 455 - 0
src/views/safetyCheck/startInspection/index.vue